Регулярные выражения в Swift - фундаментальный разбор
Несмотря на то, что работа с регулярками очень похожа на то, что встречается в JavaScript и Python, есть и довольно важные отличия.
📖 Этот документ представляет собой результат кропотливой работы Гая Лапальме (профессора из Монреаля).
Автор использует три примера, чтобы подчеркнуть некоторые аспекты реализации регулярных выражений в Swift: разбор римских цифр, токенизатор и Eliza-подобный чатбот.
А ещё есть неплохая шпаргалка для запоминания (с методами и операторами).
🔗 Проверить свои знания можно с помощью этого инструмента.
😃  iOS Dev
Несмотря на то, что работа с регулярками очень похожа на то, что встречается в JavaScript и Python, есть и довольно важные отличия.
📖 Этот документ представляет собой результат кропотливой работы Гая Лапальме (профессора из Монреаля).
Автор использует три примера, чтобы подчеркнуть некоторые аспекты реализации регулярных выражений в Swift: разбор римских цифр, токенизатор и Eliza-подобный чатбот.
А ещё есть неплохая шпаргалка для запоминания (с методами и операторами).
🔗 Проверить свои знания можно с помощью этого инструмента.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  7
  Изучение креативного программирования с помощью Swift и SwiftUI
Нашёл интересную статью, в которой с помощью математики и не только объясняются разные подходы к реализации необычных анимаций.
В ней можно прочитать о том, как именно наличие шума, движения и добавления рандома помогает создавать интересные эксперименты (и в физическом искусстве в том числе).
🎆  Творческий подход к кодингу — это не просто владение инструментами, это сочетание идей, логики и иногда игровой составляющей. 
С помощью Swift и SwiftUI у нас появилась целая экосистема для изучения творческого пространства.
Речь не только про геометрические последовательности, но и про использование физики (и добавление интерактивности).
📖 Шикарное исследование можно посмотреть здесь, кто знает, может оно станет отправной точкой и добавит вдохновения на реализацию ваших проектов.
😃  iOS Dev
Нашёл интересную статью, в которой с помощью математики и не только объясняются разные подходы к реализации необычных анимаций.
В ней можно прочитать о том, как именно наличие шума, движения и добавления рандома помогает создавать интересные эксперименты (и в физическом искусстве в том числе).
С помощью Swift и SwiftUI у нас появилась целая экосистема для изучения творческого пространства.
Речь не только про геометрические последовательности, но и про использование физики (и добавление интерактивности).
📖 Шикарное исследование можно посмотреть здесь, кто знает, может оно станет отправной точкой и добавит вдохновения на реализацию ваших проектов.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  8
  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
  4
  Ну что, готовы, что ваш код в телеграм-чатах будет использован для обучения Grok?
📖 Ссылка на новость
👍 готов, ⚡️ не готов
😃  iOS Dev
📖 Ссылка на новость
👍 готов, ⚡️ не готов
Please open Telegram to view this post
    VIEW IN TELEGRAM
  7👍53⚡34
  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
  8
  Как вы относитесь к дейликам (ежедневные планёрки или созвоны)?
  Anonymous Poll
    52%
    Положительно
      
    36%
    Негативно
      
    12%
    Не проводятся
      
    5
  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
  12
  Изучение изменений 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
  5
  Swift в Apple: перенос службы мониторинга паролей с Java
Пожалуй, не секрет, что Swift активно используется в продакшене для создания облачных сервисов в Apple.
Например, недавно на Swift был переписан сервис Password Monitoring, который обрабатывает несколько миллиардов запросов в день с устройств по всему миру.
📖 В этом материале можно почитать, как именно повысилась производительность и как кодовая база сократилась на 85% (хоть и верится в это с трудом).
😃  iOS Dev
Пожалуй, не секрет, что Swift активно используется в продакшене для создания облачных сервисов в Apple.
Например, недавно на Swift был переписан сервис Password Monitoring, который обрабатывает несколько миллиардов запросов в день с устройств по всему миру.
📖 В этом материале можно почитать, как именно повысилась производительность и как кодовая база сократилась на 85% (хоть и верится в это с трудом).
Please open Telegram to view this post
    VIEW IN TELEGRAM
  7
  Делегирование в Swift: вопросы, проблемы с памятью и частые ошибки
Безусловно, паттерн «делегат» уже давно занимает важнейшую позицию в iOS и используется очень часто (начиная от
И хотя основной принцип должен быть понятным, все равно возникают вопросы на счёт того, как же использовать делегаты.
В новом разделе в базе я добавил разбор неочевидных моментов, которые могут встретиться в разработке (без объяснения причин утечек памяти не обошлось) и добавил подборку вопросов для закрепления этих кейсов.
🤩 Ближайшие 2 недели в честь предстоящего WWDC25 доступ можно получить:
💰  с приятными условиями на бусти
⭐️  в телеграме.
😃  iOS Dev
Безусловно, паттерн «делегат» уже давно занимает важнейшую позицию в iOS и используется очень часто (начиная от
UITableViewDelegate вплоть до поведения кэша с NSCacheDelegate).И хотя основной принцип должен быть понятным, все равно возникают вопросы на счёт того, как же использовать делегаты.
В новом разделе в базе я добавил разбор неочевидных моментов, которые могут встретиться в разработке (без объяснения причин утечек памяти не обошлось) и добавил подборку вопросов для закрепления этих кейсов.
🧠 Что вы получите, подписавшись сегодня:➡️ Вопросы на чтение кода➡️ Многопоточность➡️ DispatchQueue: практические вопросы➡️ Swift Concurrency➡️ Алгоритмы: терминология и примеры➡️ Память: ARC, side table, флаги, утечки✅ А также доступ к ранним релизам приложения iOS IQ, тонну теории и многое другое.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  5
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Обновился сайт Swift
В рамках предстоящего WWDC уже появляются изменения вокруг экосистемы. Например, сегодня обновили основной сайт (и добавили анимаций).
📖 Кстати, пока можно ознакомиться с лучшими докладами с прошлой конфы (от анализа heap memory до swift perfomance).
Поделитесь, есть ли у вас какие-то ожидания, ждёте ли amazing-фич в этом году🤩 ?
😃  iOS Dev
В рамках предстоящего WWDC уже появляются изменения вокруг экосистемы. Например, сегодня обновили основной сайт (и добавили анимаций).
📖 Кстати, пока можно ознакомиться с лучшими докладами с прошлой конфы (от анализа heap memory до swift perfomance).
Поделитесь, есть ли у вас какие-то ожидания, ждёте ли amazing-фич в этом году
Please open Telegram to view this post
    VIEW IN TELEGRAM
  6
  Управление релизами мобильных приложений: отчёт, хотфиксы и парадокс автоматизации
Изучил отчёт (приложен в комментариях к посту) от Runway, которые опросили несколько сотен команд разработки. И вот краткие выводы:
🔽  Снижение производительности: 
Инженеры тратят в среднем 5 часов за релиз на выполнение повторяющихся задач, а не на кодирование. А треть респондентов тратит до 10 часов на непродуктивные задачи.
⏳Неоднократные задержки:
76 % команд регулярно сталкиваются с инцидентами, которые приводят к задержкам, авралам и ухудшению пользовательского опыта.
✋ Парадокс автоматизации: 
50 % команд по-прежнему тратят 6-10 часов на каждый релиз даже при автоматизации.
🚒 Нормализация хотфиксов:
77 % команд регулярно нуждаются в хотфиксах каждые 3-5 релизов.
Отсюда также можно извлечь вывод, что большая частота релизов совсем не означает повышение эффективности самого релизного процесса.
⬇️ Не забудьте скачать отчёт и поделиться со своей релиз-командой.
😃  iOS Dev
Изучил отчёт (приложен в комментариях к посту) от Runway, которые опросили несколько сотен команд разработки. И вот краткие выводы:
Инженеры тратят в среднем 5 часов за релиз на выполнение повторяющихся задач, а не на кодирование. А треть респондентов тратит до 10 часов на непродуктивные задачи.
⏳Неоднократные задержки:
76 % команд регулярно сталкиваются с инцидентами, которые приводят к задержкам, авралам и ухудшению пользовательского опыта.
50 % команд по-прежнему тратят 6-10 часов на каждый релиз даже при автоматизации.
🚒 Нормализация хотфиксов:
77 % команд регулярно нуждаются в хотфиксах каждые 3-5 релизов.
Отсюда также можно извлечь вывод, что большая частота релизов совсем не означает повышение эффективности самого релизного процесса.
⬇️ Не забудьте скачать отчёт и поделиться со своей релиз-командой.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  6
  Иллюзия мышления: почему OpenAI, DeepSeek и Claude не могут заменить разработчиков по мнению Apple
Сегодня ночью вышел шокирующий (не в пользу подписок по 200 баксов в месяц) отчёт, в котором исследователи Apple уничтожают маркетинговые трюки и уловки создателей якобы «думающих моделей».
В отличие от большинства исследований, инженеры Apple придумали свои математические загадки и задачи, а не воспользовались тем, что есть в открытом доступе.
😎  DeepSeek, Claude, Gemini и OpenAI o1/o3 буквально рассыпаются в пыль на более-менее интересных тасках. И даже на существующих алгоритмах вроде загадки с Ханойскими башнями при повышении сложности правильность решений резко падает вниз.
Абсолютно все reasoning-модели имеют свой предел сложности, где точность падает до нуля.
И хотя проблемы становились сложнее, модели использовали меньше токенов (по факту, сдавались в решении проблем) даже при неограниченном бюджете. Хотя решение выдавалось быстрее, но оно было неправильным.
Более того, инженеры Apple буквально дали готовый алгоритм, расписали все этапы (как будто по рецепту) и всё равно все модели не могли превысить определённый порог сложности.
Это противоречит самой сути таких моделей, ведь если мы даём инструкции - рез должен быть ожидаем. Вместо этого все они рассыпались как бумажный (или карточный) домик.
Например: хотя модели могли справиться с 100+ ходами в Ханойских башнях, всего после 4 ходов в задачке про пересечению рек они уже выдавали невалидные результаты.
⏳ А ведь WWDC уже завтра - интересно, почему отчёт вышел сейчас.
⬇️ Сохраните его и попробуйте сами сделать выводы. До суперинтеллекта пока далеко.
😃  iOS Dev
Сегодня ночью вышел шокирующий (не в пользу подписок по 200 баксов в месяц) отчёт, в котором исследователи Apple уничтожают маркетинговые трюки и уловки создателей якобы «думающих моделей».
В отличие от большинства исследований, инженеры Apple придумали свои математические загадки и задачи, а не воспользовались тем, что есть в открытом доступе.
Абсолютно все reasoning-модели имеют свой предел сложности, где точность падает до нуля.
И хотя проблемы становились сложнее, модели использовали меньше токенов (по факту, сдавались в решении проблем) даже при неограниченном бюджете. Хотя решение выдавалось быстрее, но оно было неправильным.
Более того, инженеры Apple буквально дали готовый алгоритм, расписали все этапы (как будто по рецепту) и всё равно все модели не могли превысить определённый порог сложности.
Это противоречит самой сути таких моделей, ведь если мы даём инструкции - рез должен быть ожидаем. Вместо этого все они рассыпались как бумажный (или карточный) домик.
Например: хотя модели могли справиться с 100+ ходами в Ханойских башнях, всего после 4 ходов в задачке про пересечению рек они уже выдавали невалидные результаты.
⏳ А ведь WWDC уже завтра - интересно, почему отчёт вышел сейчас.
⬇️ Сохраните его и попробуйте сами сделать выводы. До суперинтеллекта пока далеко.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  22🔥49
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Визуализация аудио в реальном времени на SwiftUI (AVFoundation + Accelerate)
Быстрое преобразование Фурье — это алгоритм, который быстро и эффективно вычисляет громкость и частоту любого сэмплированного звука.
Его скорость особенно полезна при работе с большими массивами данных и приложениями, работающими в режиме реального времени (визуализация музыки, медицинские мониторы сердечного ритма и так далее).
📖 В этом материале можно посмотреть на работу с аудио в реальном времени, применение алгоритма и один из способов отображения.
Под капотом
А на тему работы с аудио можно посмотреть и этот любопытный способ для изменения длительности.
😃  iOS Dev
Быстрое преобразование Фурье — это алгоритм, который быстро и эффективно вычисляет громкость и частоту любого сэмплированного звука.
Его скорость особенно полезна при работе с большими массивами данных и приложениями, работающими в режиме реального времени (визуализация музыки, медицинские мониторы сердечного ритма и так далее).
📖 В этом материале можно посмотреть на работу с аудио в реальном времени, применение алгоритма и один из способов отображения.
Под капотом
AVFoundation, Accelerate и Swift Charts.А на тему работы с аудио можно посмотреть и этот любопытный способ для изменения длительности.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  6
  Готовы к WWDC? Чего ждете больше всего? Дизайн, топ-фичи Xcode, что-то секретное для разработчиков?
😃  iOS Dev
Please open Telegram to view this post
    VIEW IN TELEGRAM
  56🔥15
  Федериги сменил парашют на болид. Стало ли быстрее, скоро узнаем!
Дополнительное промо к выходящему фильму, конечно же.
😃  iOS Dev
Дополнительное промо к выходящему фильму, конечно же.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥13👍6😁4😎3
  Красота, которую нужно добавить немедленно (я уже планирую ставить бетку при первой возможности).
Новые таббары, контекстные меню, уведомления, центр управления и многое другое!
Просто ВАУ!
Please open Telegram to view this post
    VIEW IN TELEGRAM
  8❤🔥27😁10🤯3👍2🏆2🔥1🎉1🙏1💯1
  