iOS Dev
7.61K subscribers
988 photos
79 videos
1 file
1.14K links
🍏Канал об iOS-разработке, необычных подходах и решениях.
👨‍💻Автор: Виктор Грушевский (@Viktorianec)
Темы:
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Код. Много кода.

⚒️База знаний: https://boosty.to/ios_dev

#ios #mobile #swift
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Робокафе в Токио: новый способ удаленной работы, доступность и аватары

Первое, что написано на вывеске - это не AI, как может показаться на первый взгляд.

OriHime это технология, с помощью которой люди, которые не могут физически присутствовать на работе, получают возможность участвовать в любых социальных процессах удаленно.

🙌🏻 Самими аватарами пилоты могут управлять, используя свои глаза, что позволяет работать даже парализованным людям (но одно из требований - знать японский).

В самом кафе порядка 20 аватаров, каждым из которых управляет человек. И в такие моменты стоит помнить, что одним AI всех проблем не решить.

Это понимал и создатель кафе Кентаро Йошифудзи с весьма интересной биографией. Например, в 2012 году он получил премию за создание робота-аватара для борьбы с одиночеством (чувствуете параллель с фильмом Она?).

И поначалу кафе, которое было экспериментальным и которое планировалось закрыть, вот уже два года функционирует и переосмысливает значение термина доступность.

За символическую плату в 1800 йен с человека вы можете посетить его (и даже тут будет включен напиток, можно алкологольный, можно другой), а затем поговорить с одним из операторов.

Например, мы общались с девушкой-оператором, которая прекрасно говорит на английском языке, играет в теннис и живет рядом с Токио.

За такими технологиями будущее. Ведь даже в Японии 2.5 процента сотрудников в крупных и не только компаниях должны быть с ОВЗ. И это настоящая доступность.

📍 Локация: Токио, кафе Dawn.

📸 Больше фото в комментариях.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Производительность и оптимизация памяти на примере компании Capcom

Продолжая путешествие по Японии и пытаясь поймать лучшие кадры, случайно наткнулся на выставку в Осаке, посвященную компании Capcom (street fighter, monster hunter, resident evil и многие другие).

Так вот, хотя в анонсе были описаны только эпохи развития, внутри было несколько любопытных моментов, посвященных секретам при разработке.

Например, вот как реализовывали прозрачность в первых играх, всего три хитрых способа: через моргание, диттеринг - чередование пикселей значимых и незначимых, и третий - просто через изменение цветов изображения.

Но кроме этого множество проблем было и с памятью ( и ОЗУ, и ROM). Например, вы все знаете, что для анимаций используются спрайты. Так вот, после того, как дизайнеры завершали свой этап работы, вместе с разработчиками они выпиливали лишние уже на финальном этапе. А про то, как работали с ROM, есть кайфовая статья, где описывали, как определяли доступный обьем с помощью бумаги и ножниц.

Кроме этого, на выставке можно посмотреть, как работает motion capture, а в отдельном секторе как работать с масками.

Если вы будете до 6 июня в Осаке, то рекомендую обратить внимание на выставку не только фанатам любой из серий игр выше, но и тем, кто интересуется историей программирования в целом.

📍 Локация: Осака, музей искусства NAKKA.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Николас Рефн и Хидео Кодзима: геймдев, кино и «Satellites»

Одной из последних точек интереса в Токио для меня была выставка двух мастеров, которые с помощью разных языков, стилей и жанров попробовали обсудить дружбу и технологии в философской стилистике.

На пятом этаже в Prada Aoyama можно познакомиться с необычным проектом на стыке игровой индустрии, кинематографа и коктейлем технологий (от древних, но в то же время футуристических телевизоров до записей на кассетах, сгенеренных с помощью искусственного интеллекта).

В заголовке я неспроста не стал переводить satellites, так как в этом заключается суть – не только в трудностях перевода (кстати, прекрасный фильм), но и в понимании разных жанров и попытке объединить разные культуры. И к этой связи можно найти отсылки и в death stranding с ее сложными социальными проблемами, и в драйве Рефна, где суть совсем не в гонках.

🧩 С помощью кассет можно собрать собственную картину происходящего (кстати, среди языков можно найти и русский). Ведь связь может быть даже в несовместимых на первый взгляд технологиях.

Из приятного: можно оставить пару кассет себе.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Swift Regex — инструмент для проверки регулярных выражений

Недавно полезный инструмент от Кишикавы Кацуми получил кайфовое обновление в виде дебаггера, теперь можно чекать, что происходит при поиске шаг за шагом.

🛠 Сам инструмент доступен здесь.

А исходный код можно посмотреть на GitHub (и внести собственный вклад при желании): репозиторий.

Кстати, на прошедшей конфе в Токио Кишикава делился, как можно запилить собственный небольшой движок regex в Swift, сосредоточившись на трех фундаментальных операциях: конкатенации, чередовании и повторении.

📋 Слайды с презентации также доступны (как и код примера).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Что под капотом у ИИ?

Любую технологию стоит изучить, прежде чем применять её в важных сферах. Это основополагающий принцип существует не только в нашей работе, но и в других отраслях.

Понимание происходящего и способность объяснить как функционирует тот или иной процесс, что происходит в коде и как это улучшить выгодно отличает профессионала.

Уже сейчас я вижу, как многие все чаще полагаются на ИИ: не только в программировании, но и в жизненных вопросах. На мой взгляд, из-за того, что случаются разные проблемы, в любом случае стоит проводить фактчекинг.

И если сейчас современное общество невозможно представить без интернета, то возможно в скором времени к арсеналу инструментов добавится и подписка на ИИ-помощников.

На сегодняшний день я смотрю на это с долей здорового скептицизма, особенно в условиях применения на продакшн-коде. Уже сейчас миллионы людей бесплатно обучают существующие модели, и, к сожалению, слепо верят результатам.

При этом полезно понимать как LLM вообще работает с запросами.

Делюсь прекрасным материалом от FT, в котором можно узнать что вообще представляют собой токены, как LLM работает с контекстом, а также познакомиться с ключевыми концепциями трансформер-архитектуры.

Дэн Кларк, Сэм Лирнер, Ирен де ла Торре Аренас, Сэм Джойнер, Ид Хемингуэй и Оливер Хокинс проделали мощную работу по визуализации и выкатили целую статью про вышеперечисленные аспекты.

📖 Почитать (и посмотреть) можно тут: Что такое генеративный ИИ.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️ Первый пример предупреждения о внешних покупках в iOS-приложении

Недавно Apple проиграли суд, после которого приложениям в США было разрешено использовать внешние покупки в приложении.

А сегодня в сторе уже начали появляться приложения, которые используют новый механизм.

Кроме плашки с надписью сверху рядом с кнопкой скачивания также добавили тег external purchases.

Это предупреждение есть и на iOS, и в веб-версии.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Airbnb представил альтернативу Lottie - новый медиаформат Lava

Рамон Фрич анонсировал, что новый формат обеспечивает прозрачность и возможность использования на вебе/iOS/Android.

В обновлённом приложении уже используется новый стиль, но на мой взгляд этот формат требует доработки - слишком сильно ощущаются фризы.

🎆 Демки с анимациями можно посмотреть здесь и здесь (пока не в опенсорсе).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Отслеживание и контроль размера приложения с помощью Tuist

Новые фичи, дополнительные ассеты и постоянно увеличивающаяся кодовая база — всё это ведёт к росту размера приложения.

Новая фича tuist позволяет находить дублирование ассетов, неоптимизированные ресурсы, легаси-код и лишние зависимости.

📖 Подробнее можно почитать здесь (или посмотреть ролик тут).

Основная часть анализа выполняется локально с помощью новой либы Rosalind, а если юзать tuist inspect bundle с флагом --json, можно получить JSON-вывод прямиком из rosalind.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работать с FocusState: примеры для одного и нескольких полей ввода

Работа с текстовыми полями необходима при заполнении любого рода форм (от авторизации до инфы о пользователе).

И хотя есть ситуации, когда пользователь должен нажать на текстфилд вручную, есть множество кейсов, когда нужно переключаться между полями ввода автоматически.

Для этого пригодится @FocusState, который появился в 15 оси.

📖 В этом материале можно посмотреть на реальные примеры использования.

🛠 А здесь скачать пример проекта.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Универсальное руководство по Dependency Injection в модульном приложении

Pawel Kozielecki в своем блоге поднял важные вопросы. Например, как правильно управлять зависимостями и действительно ли DI обеспечит гибкость и масштабируемость в будущем.
И затронул непростую тему: как работать в многомодульном приложении и какие именно есть плюсы и минусы у различных паттернов DI.

Сам материал логически разбит на несколько блоков:

🔘 Почему вообще стоит рассматривать возможность использования DI в приложениях

🔘 Какие различные типы внедрения зависимостей существуют в Swift

🔘 Как мы можем внедрить DI в сложных многомодульных приложениях

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Комбинация жестов и анимаций в SwiftUI

Одним из типов взаимодействия пользователями с нашими приложениями являются жесты. И, конечно же, жесты можно использовать и для запуска анимаций.

В качестве примера можно привести ситуацию с перетаскиванием. Конечно, можно было использовать только две позиции для отображения, но обновление положения во время взаимодействия пользователя с экраном повысит контроль и отзывчивость.

Для обработки жестов в SwiftUI нам нужны соответствующие модификаторы.

📖 В этом материале разобрано несколько примеров (в том числе и с анимацией в виде волны).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Джонни Айв + OpenAI = ?

Вчера OpenAI анонсировали покупку «секретного» стартапа бывшего главного дизайнера Apple (придумал форм-фактор для iPod, iPhone, iPad) за 6.5 млрд долларов.

Абсолютно очевидно, что речь может идти о целом семействе новых устройств.

На ваш взгляд, что это может быть? Очки или что-то вроде разработки Humane Pin?

💬 Поделитесь, какое устройство они могут придумать (или уже придумали), что бы вы хотели увидеть?

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Как использовать MetricKit в iOS для поиска причин и отладки крашей

Краши только в продакшн-билдах не всегда просто отследить. Традиционные инструменты (например, юзать обработчики в приложении для сбора данных о крашах) могут быть не всегда корректны.

Для устранения подобных ограничений Apple предлагает использовать MetricKit, который работает вне процесса приложения, собирая диагностику на системном уровне.

Такой подход позволяет фиксировать сбои, которые могут быть не замечены (вызванные нехваткой памяти, завершением в фоне или сигналами ОС).

📖 В этой статье можно посмотреть на то, как в несколько шагов можно настроить MetricKit, примеры анализа репортов и создания собственной системы архивирования таких отчётов.

🔗 А в этом посте можно чекнуть, как инженеры в Uber используют MetricKit в своём приложении.

Напомню, что в закрытой базе (💰 в бусти и ⭐️ телеграм)я делюсь советами и шагами по повышению производительности в самых разных ситуациях.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 День Рождения

Хорошо, что сегодняшнее утро можно начать с чашки чертовски хорошего кофе и вишнёвого пирога ☕️.

А ещё в такой день можно задуматься о том, насколько полезно всё-таки в жизни не гнаться за иллюзией выбора и как важно на секунду остановиться и подумать, все ли вы делаете правильно (пусть в жизни редко возможно определить баланс черного и белого).

Непростое время, в которое для меня лично существует четкая грань между тем, что по-настоящему важно и что является лишь тенью происходящего в мире.

Существует множество путей для достижения целей и для этого необязательно быть мальчиком, который громко кричит «волки».

У всего есть причина. И часто у этих причин есть логическое объяснение.

Этот канал — мой способ поделиться тем, что я использую для решения практических задач. Многие из реализованных приложений нужны для облегчения рабочих процессов: Lines, ReviewBuddy, iOS IQ, тот же Starly (у которого за последний год появилось множество аналогов).

Конечно, из-за того, что на работе требуется полная концентрация, не всегда получается находить время на развитие/обновление пет-проектов.

Несмотря на это, в закрытой базе за год удалось сделать более 50 апдейтов, и развить дерево навыков до 10 крупных направлений.

Приятно осознавать, что есть читатели, которые пишут слова поддержки и подчеркивают, что понимание всегда видно.

Не помню автора цитаты, но она встречается в разных вариантах:

Помните, что любая мечта может стать реальной, только если начать трудиться над её реализацией.

❤️ Спасибо, что читаете этот канал.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел в релиз xtool — кроссплатформенная альтернатива Xcode

Как пишет Томас Рикуар, больше не нужен Xcode, чтобы создать и запустить приложение для iOS на своем устройстве.

Xtool по факту представляет собой билдчейн с открытым исходным кодом.

С его помощью можно собрать, подписать и запустить минимальный Swift-package в приложение для iOS. Это возможно, даже если вы работаете под Linux или Windows.

🛠 Исходный код и описание xtool на github.

📖 Описание и пример работы.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Регулярные выражения в Swift - фундаментальный разбор

Несмотря на то, что работа с регулярками очень похожа на то, что встречается в JavaScript и Python, есть и довольно важные отличия.

📖 Этот документ представляет собой результат кропотливой работы Гая Лапальме (профессора из Монреаля).

Автор использует три примера, чтобы подчеркнуть некоторые аспекты реализации регулярных выражений в Swift: разбор римских цифр, токенизатор и Eliza-подобный чатбот.

А ещё есть неплохая шпаргалка для запоминания (с методами и операторами).

🔗 Проверить свои знания можно с помощью этого инструмента.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучение креативного программирования с помощью Swift и SwiftUI

Нашёл интересную статью, в которой с помощью математики и не только объясняются разные подходы к реализации необычных анимаций.

В ней можно прочитать о том, как именно наличие шума, движения и добавления рандома помогает создавать интересные эксперименты (и в физическом искусстве в том числе).

🎆 Творческий подход к кодингу — это не просто владение инструментами, это сочетание идей, логики и иногда игровой составляющей.

С помощью Swift и SwiftUI у нас появилась целая экосистема для изучения творческого пространства.

Речь не только про геометрические последовательности, но и про использование физики (и добавление интерактивности).

📖 Шикарное исследование можно посмотреть здесь, кто знает, может оно станет отправной точкой и добавит вдохновения на реализацию ваших проектов.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
146 000 аккаунтов разработчиков были удалены в 2024 году

Из других данных отчёта Apple, вышедшего вчера видно:

🛑 1.9 млн отправленных билдов на проверку получили реджект (из 7.7 млн)

📝 140 миллионов отзывов на приложения были удалены (из 1.2 млрд)

👨‍💻 7 500 приложений удалили из чартов (и 9 500 приложений из результатов поиска)

🔗 Статья целиком доступна по этой ссылке

🔗 А тут есть данные за позапрошлый год

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM