This media is not supported in your browser
VIEW IN TELEGRAM
Что под капотом у ИИ?
Любую технологию стоит изучить, прежде чем применять её в важных сферах. Это основополагающий принцип существует не только в нашей работе, но и в других отраслях.
Понимание происходящего и способность объяснить как функционирует тот или иной процесс, что происходит в коде и как это улучшить выгодно отличает профессионала.
Уже сейчас я вижу, как многие все чаще полагаются на ИИ: не только в программировании, но и в жизненных вопросах. На мой взгляд, из-за того, что случаются разные проблемы, в любом случае стоит проводить фактчекинг.
И если сейчас современное общество невозможно представить без интернета, то возможно в скором времени к арсеналу инструментов добавится и подписка на ИИ-помощников.
На сегодняшний день я смотрю на это с долей здорового скептицизма, особенно в условиях применения на продакшн-коде. Уже сейчас миллионы людей бесплатно обучают существующие модели, и, к сожалению, слепо верят результатам.
При этом полезно понимать как LLM вообще работает с запросами.
Делюсь прекрасным материалом от FT, в котором можно узнать что вообще представляют собой токены, как LLM работает с контекстом, а также познакомиться с ключевыми концепциями трансформер-архитектуры.
Дэн Кларк, Сэм Лирнер, Ирен де ла Торре Аренас, Сэм Джойнер, Ид Хемингуэй и Оливер Хокинс проделали мощную работу по визуализации и выкатили целую статью про вышеперечисленные аспекты.
📖 Почитать (и посмотреть) можно тут: Что такое генеративный ИИ.
😃 iOS Dev
Любую технологию стоит изучить, прежде чем применять её в важных сферах. Это основополагающий принцип существует не только в нашей работе, но и в других отраслях.
Понимание происходящего и способность объяснить как функционирует тот или иной процесс, что происходит в коде и как это улучшить выгодно отличает профессионала.
Уже сейчас я вижу, как многие все чаще полагаются на ИИ: не только в программировании, но и в жизненных вопросах. На мой взгляд, из-за того, что случаются разные проблемы, в любом случае стоит проводить фактчекинг.
И если сейчас современное общество невозможно представить без интернета, то возможно в скором времени к арсеналу инструментов добавится и подписка на ИИ-помощников.
На сегодняшний день я смотрю на это с долей здорового скептицизма, особенно в условиях применения на продакшн-коде. Уже сейчас миллионы людей бесплатно обучают существующие модели, и, к сожалению, слепо верят результатам.
При этом полезно понимать как LLM вообще работает с запросами.
Делюсь прекрасным материалом от FT, в котором можно узнать что вообще представляют собой токены, как LLM работает с контекстом, а также познакомиться с ключевыми концепциями трансформер-архитектуры.
Дэн Кларк, Сэм Лирнер, Ирен де ла Торре Аренас, Сэм Джойнер, Ид Хемингуэй и Оливер Хокинс проделали мощную работу по визуализации и выкатили целую статью про вышеперечисленные аспекты.
📖 Почитать (и посмотреть) можно тут: Что такое генеративный ИИ.
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно Apple проиграли суд, после которого приложениям в США было разрешено использовать внешние покупки в приложении.
А сегодня в сторе уже начали появляться приложения, которые используют новый механизм.
Кроме плашки с надписью сверху рядом с кнопкой скачивания также добавили тег external purchases.
Это предупреждение есть и на iOS, и в веб-версии.
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
Рамон Фрич анонсировал, что новый формат обеспечивает прозрачность и возможность использования на вебе/iOS/Android.
В обновлённом приложении уже используется новый стиль, но на мой взгляд этот формат требует доработки - слишком сильно ощущаются фризы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Отслеживание и контроль размера приложения с помощью Tuist
Новые фичи, дополнительные ассеты и постоянно увеличивающаяся кодовая база — всё это ведёт к росту размера приложения.
Новая фича tuist позволяет находить дублирование ассетов, неоптимизированные ресурсы, легаси-код и лишние зависимости.
📖 Подробнее можно почитать здесь (или посмотреть ролик тут).
Основная часть анализа выполняется локально с помощью новой либы Rosalind, а если юзать
😃 iOS Dev
Новые фичи, дополнительные ассеты и постоянно увеличивающаяся кодовая база — всё это ведёт к росту размера приложения.
Новая фича tuist позволяет находить дублирование ассетов, неоптимизированные ресурсы, легаси-код и лишние зависимости.
📖 Подробнее можно почитать здесь (или посмотреть ролик тут).
Основная часть анализа выполняется локально с помощью новой либы Rosalind, а если юзать
tuist inspect bundle
с флагом --json
, можно получить JSON-вывод прямиком из rosalind.Please open Telegram to view this post
VIEW IN TELEGRAM
Как работать с FocusState: примеры для одного и нескольких полей ввода
Работа с текстовыми полями необходима при заполнении любого рода форм (от авторизации до инфы о пользователе).
И хотя есть ситуации, когда пользователь должен нажать на текстфилд вручную, есть множество кейсов, когда нужно переключаться между полями ввода автоматически.
Для этого пригодится
📖 В этом материале можно посмотреть на реальные примеры использования.
🛠 А здесь скачать пример проекта.
😃 iOS Dev
Работа с текстовыми полями необходима при заполнении любого рода форм (от авторизации до инфы о пользователе).
И хотя есть ситуации, когда пользователь должен нажать на текстфилд вручную, есть множество кейсов, когда нужно переключаться между полями ввода автоматически.
Для этого пригодится
@FocusState
, который появился в 15 оси.📖 В этом материале можно посмотреть на реальные примеры использования.
🛠 А здесь скачать пример проекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
Универсальное руководство по Dependency Injection в модульном приложении
Pawel Kozielecki в своем блоге поднял важные вопросы. Например, как правильно управлять зависимостями и действительно ли DI обеспечит гибкость и масштабируемость в будущем.
И затронул непростую тему: как работать в многомодульном приложении и какие именно есть плюсы и минусы у различных паттернов DI.
Сам материал логически разбит на несколько блоков:
🔘 Почему вообще стоит рассматривать возможность использования DI в приложениях
🔘 Какие различные типы внедрения зависимостей существуют в Swift
🔘 Как мы можем внедрить DI в сложных многомодульных приложениях
😃 iOS Dev
Pawel Kozielecki в своем блоге поднял важные вопросы. Например, как правильно управлять зависимостями и действительно ли DI обеспечит гибкость и масштабируемость в будущем.
И затронул непростую тему: как работать в многомодульном приложении и какие именно есть плюсы и минусы у различных паттернов DI.
Сам материал логически разбит на несколько блоков:
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
Одним из типов взаимодействия пользователями с нашими приложениями являются жесты. И, конечно же, жесты можно использовать и для запуска анимаций.
В качестве примера можно привести ситуацию с перетаскиванием. Конечно, можно было использовать только две позиции для отображения, но обновление положения во время взаимодействия пользователя с экраном повысит контроль и отзывчивость.
Для обработки жестов в SwiftUI нам нужны соответствующие модификаторы.
📖 В этом материале разобрано несколько примеров (в том числе и с анимацией в виде волны).
Please open Telegram to view this post
VIEW IN TELEGRAM
Джонни Айв + OpenAI = ?
Вчера OpenAI анонсировали покупку «секретного» стартапа бывшего главного дизайнера Apple (придумал форм-фактор для iPod, iPhone, iPad) за 6.5 млрд долларов.
Абсолютно очевидно, что речь может идти о целом семействе новых устройств.
На ваш взгляд, что это может быть? Очки или что-то вроде разработки Humane Pin?
💬 Поделитесь, какое устройство они могут придумать (или уже придумали), что бы вы хотели увидеть?
😃 iOS Dev
Вчера OpenAI анонсировали покупку «секретного» стартапа бывшего главного дизайнера Apple (придумал форм-фактор для iPod, iPhone, iPad) за 6.5 млрд долларов.
Абсолютно очевидно, что речь может идти о целом семействе новых устройств.
На ваш взгляд, что это может быть? Очки или что-то вроде разработки Humane Pin?
💬 Поделитесь, какое устройство они могут придумать (или уже придумали), что бы вы хотели увидеть?
Please open Telegram to view this post
VIEW IN TELEGRAM
Как использовать MetricKit в iOS для поиска причин и отладки крашей
Краши только в продакшн-билдах не всегда просто отследить. Традиционные инструменты (например, юзать обработчики в приложении для сбора данных о крашах) могут быть не всегда корректны.
Для устранения подобных ограничений Apple предлагает использовать MetricKit, который работает вне процесса приложения, собирая диагностику на системном уровне.
Такой подход позволяет фиксировать сбои, которые могут быть не замечены (вызванные нехваткой памяти, завершением в фоне или сигналами ОС).
📖 В этой статье можно посмотреть на то, как в несколько шагов можно настроить MetricKit, примеры анализа репортов и создания собственной системы архивирования таких отчётов.
🔗 А в этом посте можно чекнуть, как инженеры в Uber используют MetricKit в своём приложении.
Напомню, что в закрытой базе (💰 в бусти и ⭐️ телеграм)я делюсь советами и шагами по повышению производительности в самых разных ситуациях.
😃 iOS Dev
Краши только в продакшн-билдах не всегда просто отследить. Традиционные инструменты (например, юзать обработчики в приложении для сбора данных о крашах) могут быть не всегда корректны.
Для устранения подобных ограничений Apple предлагает использовать MetricKit, который работает вне процесса приложения, собирая диагностику на системном уровне.
Такой подход позволяет фиксировать сбои, которые могут быть не замечены (вызванные нехваткой памяти, завершением в фоне или сигналами ОС).
📖 В этой статье можно посмотреть на то, как в несколько шагов можно настроить MetricKit, примеры анализа репортов и создания собственной системы архивирования таких отчётов.
Напомню, что в закрытой базе (
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 День Рождения
Хорошо, что сегодняшнее утро можно начать с чашки чертовски хорошего кофе и вишнёвого пирога ☕️.
А ещё в такой день можно задуматься о том, насколько полезно всё-таки в жизни не гнаться за иллюзией выбора и как важно на секунду остановиться и подумать, все ли вы делаете правильно (пусть в жизни редко возможно определить баланс черного и белого).
Непростое время, в которое для меня лично существует четкая грань между тем, что по-настоящему важно и что является лишь тенью происходящего в мире.
Существует множество путей для достижения целей и для этого необязательно быть мальчиком, который громко кричит «волки».
У всего есть причина. И часто у этих причин есть логическое объяснение.
Этот канал — мой способ поделиться тем, что я использую для решения практических задач. Многие из реализованных приложений нужны для облегчения рабочих процессов: Lines, ReviewBuddy, iOS IQ, тот же Starly (у которого за последний год появилось множество аналогов).
Конечно, из-за того, что на работе требуется полная концентрация, не всегда получается находить время на развитие/обновление пет-проектов.
Несмотря на это, в закрытой базе за год удалось сделать более 50 апдейтов, и развить дерево навыков до 10 крупных направлений.
Приятно осознавать, что есть читатели, которые пишут слова поддержки и подчеркивают, что понимание всегда видно.
Не помню автора цитаты, но она встречается в разных вариантах:
Помните, что любая мечта может стать реальной, только если начать трудиться над её реализацией.
❤️ Спасибо, что читаете этот канал.
😃 iOS Dev
Хорошо, что сегодняшнее утро можно начать с чашки чертовски хорошего кофе и вишнёвого пирога ☕️.
А ещё в такой день можно задуматься о том, насколько полезно всё-таки в жизни не гнаться за иллюзией выбора и как важно на секунду остановиться и подумать, все ли вы делаете правильно (пусть в жизни редко возможно определить баланс черного и белого).
Непростое время, в которое для меня лично существует четкая грань между тем, что по-настоящему важно и что является лишь тенью происходящего в мире.
Существует множество путей для достижения целей и для этого необязательно быть мальчиком, который громко кричит «волки».
У всего есть причина. И часто у этих причин есть логическое объяснение.
Этот канал — мой способ поделиться тем, что я использую для решения практических задач. Многие из реализованных приложений нужны для облегчения рабочих процессов: Lines, ReviewBuddy, iOS IQ, тот же Starly (у которого за последний год появилось множество аналогов).
Конечно, из-за того, что на работе требуется полная концентрация, не всегда получается находить время на развитие/обновление пет-проектов.
Несмотря на это, в закрытой базе за год удалось сделать более 50 апдейтов, и развить дерево навыков до 10 крупных направлений.
Приятно осознавать, что есть читатели, которые пишут слова поддержки и подчеркивают, что понимание всегда видно.
Не помню автора цитаты, но она встречается в разных вариантах:
Помните, что любая мечта может стать реальной, только если начать трудиться над её реализацией.
❤️ Спасибо, что читаете этот канал.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел в релиз xtool — кроссплатформенная альтернатива Xcode
Как пишет Томас Рикуар, больше не нужен Xcode, чтобы создать и запустить приложение для iOS на своем устройстве.
Xtool по факту представляет собой билдчейн с открытым исходным кодом.
С его помощью можно собрать, подписать и запустить минимальный Swift-package в приложение для iOS. Это возможно, даже если вы работаете под Linux или Windows.
🛠 Исходный код и описание xtool на github.
📖 Описание и пример работы.
😃 iOS Dev
Как пишет Томас Рикуар, больше не нужен Xcode, чтобы создать и запустить приложение для iOS на своем устройстве.
Xtool по факту представляет собой билдчейн с открытым исходным кодом.
С его помощью можно собрать, подписать и запустить минимальный Swift-package в приложение для iOS. Это возможно, даже если вы работаете под Linux или Windows.
🛠 Исходный код и описание xtool на github.
📖 Описание и пример работы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Регулярные выражения в Swift - фундаментальный разбор
Несмотря на то, что работа с регулярками очень похожа на то, что встречается в JavaScript и Python, есть и довольно важные отличия.
📖 Этот документ представляет собой результат кропотливой работы Гая Лапальме (профессора из Монреаля).
Автор использует три примера, чтобы подчеркнуть некоторые аспекты реализации регулярных выражений в Swift: разбор римских цифр, токенизатор и Eliza-подобный чатбот.
А ещё есть неплохая шпаргалка для запоминания (с методами и операторами).
🔗 Проверить свои знания можно с помощью этого инструмента.
😃 iOS Dev
Несмотря на то, что работа с регулярками очень похожа на то, что встречается в JavaScript и Python, есть и довольно важные отличия.
📖 Этот документ представляет собой результат кропотливой работы Гая Лапальме (профессора из Монреаля).
Автор использует три примера, чтобы подчеркнуть некоторые аспекты реализации регулярных выражений в Swift: разбор римских цифр, токенизатор и Eliza-подобный чатбот.
А ещё есть неплохая шпаргалка для запоминания (с методами и операторами).
🔗 Проверить свои знания можно с помощью этого инструмента.
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучение креативного программирования с помощью Swift и SwiftUI
Нашёл интересную статью, в которой с помощью математики и не только объясняются разные подходы к реализации необычных анимаций.
В ней можно прочитать о том, как именно наличие шума, движения и добавления рандома помогает создавать интересные эксперименты (и в физическом искусстве в том числе).
🎆 Творческий подход к кодингу — это не просто владение инструментами, это сочетание идей, логики и иногда игровой составляющей.
С помощью Swift и SwiftUI у нас появилась целая экосистема для изучения творческого пространства.
Речь не только про геометрические последовательности, но и про использование физики (и добавление интерактивности).
📖 Шикарное исследование можно посмотреть здесь, кто знает, может оно станет отправной точкой и добавит вдохновения на реализацию ваших проектов.
😃 iOS Dev
Нашёл интересную статью, в которой с помощью математики и не только объясняются разные подходы к реализации необычных анимаций.
В ней можно прочитать о том, как именно наличие шума, движения и добавления рандома помогает создавать интересные эксперименты (и в физическом искусстве в том числе).
С помощью Swift и SwiftUI у нас появилась целая экосистема для изучения творческого пространства.
Речь не только про геометрические последовательности, но и про использование физики (и добавление интерактивности).
📖 Шикарное исследование можно посмотреть здесь, кто знает, может оно станет отправной точкой и добавит вдохновения на реализацию ваших проектов.
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
Из других данных отчёта Apple, вышедшего вчера видно:
🛑 1.9 млн отправленных билдов на проверку получили реджект (из 7.7 млн)
📝 140 миллионов отзывов на приложения были удалены (из 1.2 млрд)
Please open Telegram to view this post
VIEW IN TELEGRAM
Ну что, готовы, что ваш код в телеграм-чатах будет использован для обучения Grok?
📖 Ссылка на новость
👍 готов, ⚡️ не готов
😃 iOS Dev
📖 Ссылка на новость
👍 готов, ⚡️ не готов
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift enum или structs — что выбрать для гибкости кода
При проектировании состояния в Swift выбор между
📖 Дэниел Сайди попытался разобрать преимущества разных подходов.
Основываясь на это материале Дэниел рекомендует выбирать
- Есть конечный набор состояний.
- Нужна исчерпывающая проверка во время компиляции.
- Состояния взаимоисключающие.
- Необходимо сопоставление паттерна со связанными значениями.
А структуры стоит выбирать в следующих случаях:
- Нужна расширяемость для кейсов в будущем.
- При реализации системы конфигурации или стилизации.
- Нужно реализовать нестандартные опции.
- Необходимо хранить сложное состояние с несколькими свойствами.
Кстати, в канале есть отличный разбор примера с enum:
📖 Swift Enums 🤝 Дизайн-системы
😃 iOS Dev
При проектировании состояния в Swift выбор между
enum
и struct
(или их сочетанием) может существенно повлиять на структуру кода и его гибкость.📖 Дэниел Сайди попытался разобрать преимущества разных подходов.
Основываясь на это материале Дэниел рекомендует выбирать
enums
, если:- Есть конечный набор состояний.
- Нужна исчерпывающая проверка во время компиляции.
- Состояния взаимоисключающие.
- Необходимо сопоставление паттерна со связанными значениями.
А структуры стоит выбирать в следующих случаях:
- Нужна расширяемость для кейсов в будущем.
- При реализации системы конфигурации или стилизации.
- Нужно реализовать нестандартные опции.
- Необходимо хранить сложное состояние с несколькими свойствами.
Кстати, в канале есть отличный разбор примера с enum:
📖 Swift Enums 🤝 Дизайн-системы
Please open Telegram to view this post
VIEW IN TELEGRAM
Как вы относитесь к дейликам (ежедневные планёрки или созвоны)?
Anonymous Poll
53%
Положительно
36%
Негативно
12%
Не проводятся
This media is not supported in your browser
VIEW IN TELEGRAM
Ферромагнетизм с помощью SwiftUI+Metal
📖 Делюсь кайфовым материалом, полезным всем, кто любит необычные и сложные эффекты.
Можно познакомиться с техниками SDF (или если проще самоподобных геометрий). С их помощью можно реализовать бесконечный уровень визуальной рекурсии (и потестить в реальном времени).
На их основе и была реализована анимация-наследник эмуляции ферромагнетизма.
🎆 Исходный код + реализация на Metal уже доступна 💰 в бусти и ⭐️ телеграм.
😃 iOS Dev
📖 Делюсь кайфовым материалом, полезным всем, кто любит необычные и сложные эффекты.
Можно познакомиться с техниками SDF (или если проще самоподобных геометрий). С их помощью можно реализовать бесконечный уровень визуальной рекурсии (и потестить в реальном времени).
На их основе и была реализована анимация-наследник эмуляции ферромагнетизма.
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучение изменений concurrency в Swift 6.2
Многие концепции, которые реализованы сейчас, отличаются от того, к чему разработчики привыкли, используя GCD.
Донни Уолш попробовал разобраться в изменениях (и приводит референс на официальный док Apple).
В этом материале Донни сосредоточился на двух аспектах:
1️⃣ Новый флаг
2️⃣ Запуск кода в main actor по дефолту с использованием настройки
📖 С разбором можно ознакомиться здесь.
😃 iOS Dev
Многие концепции, которые реализованы сейчас, отличаются от того, к чему разработчики привыкли, используя GCD.
Донни Уолш попробовал разобраться в изменениях (и приводит референс на официальный док Apple).
В этом материале Донни сосредоточился на двух аспектах:
1️⃣ Новый флаг
nonisolated(nonsending)
.2️⃣ Запуск кода в main actor по дефолту с использованием настройки
defaultIsolation
.📖 С разбором можно ознакомиться здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM