Для чего нужен Sendable в Swift и как Swift Concurrency нас защищает
Сама концепция Sendable позволяет безопасно передавать данные между потоками, выявляя ошибки параллелизма ещё на этапе написания кода, а не в рантайме.
📖 Например, эта статья подробно объясняет проблему гонки данных и то, как Swift Concurrency решает её на уровне компилятора. Автор наглядно показывает, как появляются непростые для повторения краши, и как можно их не допустить.
😃 iOS Dev
Сама концепция Sendable позволяет безопасно передавать данные между потоками, выявляя ошибки параллелизма ещё на этапе написания кода, а не в рантайме.
📖 Например, эта статья подробно объясняет проблему гонки данных и то, как Swift Concurrency решает её на уровне компилятора. Автор наглядно показывает, как появляются непростые для повторения краши, и как можно их не допустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 21👍6🤝5
🎄11😨6⚡3👍2🔥1💯1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
Как выглядят iOS-разработчики, которые поддерживают проект с iOS 15, и тут их попросили добавить поддержку iPhone Duo
😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
😁143🤣28😢10💯5😎3⚡1🔥1👏1🍾1👾1
Определение стоимости перерисовок в SwiftUI с помощью Instruments
Проблемы с производительностью в SwiftUI чаще всего возникают из-за слишком частых или долгих перерисовок экранов.
📖️️ В этой статье автор рекомендует использовать Xcode Instruments со специальным шаблоном.
C его помощью можно отследить, как часто обновляются конкретные View, сколько времени это занимает что именно вызвало перерисовку.
😃 iOS Dev
Проблемы с производительностью в SwiftUI чаще всего возникают из-за слишком частых или долгих перерисовок экранов.
📖️️ В этой статье автор рекомендует использовать Xcode Instruments со специальным шаблоном.
C его помощью можно отследить, как часто обновляются конкретные View, сколько времени это занимает что именно вызвало перерисовку.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍19 10🏆1😨1
Когда нужно использовать View Model в SwiftUI
Карин Пратер считает, что хотя это и мощный инструмент, но добавляет лишний слой абстракции (ещё и дополнительный файл в придачу). И делится мыслями, когда выгода от использования может уступать требуемым затратам на поддержку.
📖️️ В этой статье можно посмотреть на четыре примера от простых к более сложным.
😃 iOS Dev
Карин Пратер считает, что хотя это и мощный инструмент, но добавляет лишний слой абстракции (ещё и дополнительный файл в придачу). И делится мыслями, когда выгода от использования может уступать требуемым затратам на поддержку.
📖️️ В этой статье можно посмотреть на четыре примера от простых к более сложным.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 13✍6👍5😡3❤🔥1🫡1
Подготовка приложения к Duo: что ещё может сломаться
Релиз девайса уже буквально завтра, поэтому продолжаю делиться полезными материалами на счёт адаптации наших приложений.
📖️️ Например, в этой статье разработчица рассказывает о процессе переписывания приложения под Duo в течение нескольких недель с учётом комментариев дизайнеров.
😃 iOS Dev
Релиз девайса уже буквально завтра, поэтому продолжаю делиться полезными материалами на счёт адаптации наших приложений.
📖️️ Например, в этой статье разработчица рассказывает о процессе переписывания приложения под Duo в течение нескольких недель с учётом комментариев дизайнеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
2 22🔥4❤🔥3😨2👻1
Визуальное исследование SwiftUI
Разработчик создал сайт, чтобы наглядно продемонстрировать встроенные возможности SwiftUI в чистом виде.
Есть даже есть отдельный раздел с примерами для iPhone Duo.
Каждый пример показывает, что можно сделать, используя исключительно встроенные компоненты и модификаторы.
📖️️️️ Сайт доступен здесь.
😃 iOS Dev
Разработчик создал сайт, чтобы наглядно продемонстрировать встроенные возможности SwiftUI в чистом виде.
Есть даже есть отдельный раздел с примерами для iPhone Duo.
Каждый пример показывает, что можно сделать, используя исключительно встроенные компоненты и модификаторы.
📖️️️️ Сайт доступен здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 27✍4👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Управление анимацией SwiftUI с помощью угла поворота на iPhone Duo
В iOS 27.1 появилась новая опция отслеживания изменений наклона для iPhone Duo, и с её помощью можно реализовывать крайне интересные анимации.
📖️️️️ Например, в этом посте показано, как реализовать анимацию цветка, но применение может быть куда шире.
😃 iOS Dev
В iOS 27.1 появилась новая опция отслеживания изменений наклона для iPhone Duo, и с её помощью можно реализовывать крайне интересные анимации.
📖️️️️ Например, в этом посте показано, как реализовать анимацию цветка, но применение может быть куда шире.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 16🤩5👍3😍1👾1
Apple начала помечать изображения, сгенерированные на iPhone, водяными знаками SynthID
📖️️️️️️ В iOS 27.2 появилась поддержка SynthID — технологии Google, которая помечает сгенерированные изображения, чтобы пользователи могли их отличить от настоящих.
Маркировка работает в генераторе Image Playground и в AI‑функциях для редактирования фотографий.
😃 iOS Dev
📖️️️️️️ В iOS 27.2 появилась поддержка SynthID — технологии Google, которая помечает сгенерированные изображения, чтобы пользователи могли их отличить от настоящих.
Маркировка работает в генераторе Image Playground и в AI‑функциях для редактирования фотографий.
Please open Telegram to view this post
VIEW IN TELEGRAM
9 29👍4👌1💯1
Проблемы с Dynamic Island в iOS 27
📖️️️️️️ В статье iOS-разработчик Кристиан Селиг рассказывает об ошибке в iOS 27, из-за которой функция Dynamic Island работает некорректно при отображении некоторых виджетов (Live Activities).
Проблема возникает при использовании системного EmptyView вместе с новым параметром для узких экранов, который добавили специально для нового iPhone Duo и ландшафтного режима.
😃 iOS Dev
📖️️️️️️ В статье iOS-разработчик Кристиан Селиг рассказывает об ошибке в iOS 27, из-за которой функция Dynamic Island работает некорректно при отображении некоторых виджетов (Live Activities).
Проблема возникает при использовании системного EmptyView вместе с новым параметром для узких экранов, который добавили специально для нового iPhone Duo и ландшафтного режима.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 10✍6😢6👍2🔥1
Альтман заявил, что оперативка в ваших компах - ужасная трата дефицитных ресурсов
Классический тезис продавца, который стремится подсадить на свои ресурсы добрую половину человечества.
А ещё там была такая цитата:
Как раз это и есть причина, по которой часть людей, которые еще способны самостоятельно мыслить, пробуют и запускают локальные модели, понимая к чему всё идёт (открытые модели не уступают n-1 поколению, а иногда и превосходят).
Абсолютно убыточные по генерации прибыли ии-гиганты стремятся монополизировать рынок не только подписок/токенов, но и забрать значительную часть производства оперативки.
Именно из-за OpenAI и его конкурентов взлетели цены на большую часть техники (да, включая айфоны). Из-за этих торговцев лопатами.
И пока воздуханы обещают дивный новый мир с AGI ивременем на творчество оптимизацией человеческих ресурсов, выхлоп который заметен сейчас - это нейрослоп-реклама и танцующие коты.
Прогнозирую уменьшение количества токенов в подписках первым шагом, вторым - повышение стоимости, а третьим - резка лимитов потребления в единицу времени.
😃 iOS Dev
Классический тезис продавца, который стремится подсадить на свои ресурсы добрую половину человечества.
А ещё там была такая цитата:
Локальный инференс — это крайне неэффективное распределение дефицитных ресурсов.
Как раз это и есть причина, по которой часть людей, которые еще способны самостоятельно мыслить, пробуют и запускают локальные модели, понимая к чему всё идёт (открытые модели не уступают n-1 поколению, а иногда и превосходят).
Абсолютно убыточные по генерации прибыли ии-гиганты стремятся монополизировать рынок не только подписок/токенов, но и забрать значительную часть производства оперативки.
Именно из-за OpenAI и его конкурентов взлетели цены на большую часть техники (да, включая айфоны). Из-за этих торговцев лопатами.
И пока воздуханы обещают дивный новый мир с AGI и
Прогнозирую уменьшение количества токенов в подписках первым шагом, вторым - повышение стоимости, а третьим - резка лимитов потребления в единицу времени.
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤🔥34 18🏆8🤣2👍1
Роль layoutPriority в SwiftUI-контейнерах
Контейнеры могут учитывать приоритет своих сабвьюх при определении их размеров и расположения.
Модификатор layoutPriority(_:) задаёт этот приоритет, однако каждый контейнер применяет свою собственную политику.
📖️️️️️️ В этой статье рассматривается, как можно работать с этим приоритетом в чём именно заключаются различия.
😃 iOS Dev
Контейнеры могут учитывать приоритет своих сабвьюх при определении их размеров и расположения.
Модификатор layoutPriority(_:) задаёт этот приоритет, однако каждый контейнер применяет свою собственную политику.
📖️️️️️️ В этой статье рассматривается, как можно работать с этим приоритетом в чём именно заключаются различия.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 14👍6✍4
🛠 Siri AI доступна к интеграции всем разработчикам, начиная с iOS 27.3
📖️️️️️️ Новая фича появилась в бета-версиях операционных систем iOS 27.3, iPadOS 27.3, macOS 27.3, watchOS 27.3 и visionOS 27.3.
Версия Siri AI Developer Preview уже включает следующие функции (детально описано здесь):
1️⃣ Консультант по интеграции с Siri в Xcode предоставляет советы по реализации интентов.
2️⃣ Фреймворк Siri Evaluations позволяет создавать скрипты запросов к Siri, оценивать, как они обрабатываются, и отслеживать изменения в ответах по мере обновления интентов.
Ограничений пока очень много: версия Siri AI Developer Preview недоступна внешним тестировщикам в TestFlight или для версий приложения, которые публикуются в App Store.
А ещё у них уже указано, что лимиты могут варьироваться в зависимости от фазы Луны, а расширенный доступ в будущем будет за отдельную плату, все как обычно.
😃 iOS Dev
📖️️️️️️ Новая фича появилась в бета-версиях операционных систем iOS 27.3, iPadOS 27.3, macOS 27.3, watchOS 27.3 и visionOS 27.3.
Версия Siri AI Developer Preview уже включает следующие функции (детально описано здесь):
1️⃣ Консультант по интеграции с Siri в Xcode предоставляет советы по реализации интентов.
2️⃣ Фреймворк Siri Evaluations позволяет создавать скрипты запросов к Siri, оценивать, как они обрабатываются, и отслеживать изменения в ответах по мере обновления интентов.
Ограничений пока очень много: версия Siri AI Developer Preview недоступна внешним тестировщикам в TestFlight или для версий приложения, которые публикуются в App Store.
А ещё у них уже указано, что лимиты могут варьироваться в зависимости от фазы Луны, а расширенный доступ в будущем будет за отдельную плату, все как обычно.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 12😱4😨2🎅2
iOS Dev
Альтман заявил, что оперативка в ваших компах - ужасная трата дефицитных ресурсов
Альтман себя переименовал после этого, теперь он Ram Altman.
Самоирония, к которой нужно стремиться. Но оперативку мы тебе всё равно не отдадим!
😃 iOS Dev
Самоирония, к которой нужно стремиться. Но оперативку мы тебе всё равно не отдадим!
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁34🤣12🤩3⚡1
Такие сообщения помогают возобновить взаимодействие с пользователями в момент отмены подписки, напоминая им о преимуществах.
Из ограничений: к одной подписке одновременно может быть привязано только одно такое сообщение.
📖️️️️️️ Документация по настройке доступна здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍16 7✍4
StackOverflow загнулся и вот почему это негативно скажется на индустрии
Сегодня увидел статистику, согласно которой на самом популярном прежде форуме задают 30 вопросов день.
Три года назад я уже писал про эту тенденцию, которую не замечал только ленивый.
Основной аргумент, который я слышу даже сейчас: зачем нужны эти форумы, если можно задать вопрос нейронке и она ответит на всё.
Ну, например, потому что всем нейросетям нужно топливо для обучения: вопросы, документация, практики написания кода, даже дискуссии, в которых часто рождается истина.
Следите за пальцами: каждый такой поинт влечёт к деградации развития новых моделей, а каждый новый нейрослоп пост на хабре (или где угодно) напротив - ведёт к гомеопатической среде, в которой одну и ту же мысль разбавляют многократно до тех пор, пока концентрация полезности не станет околонулевой.
В целом, даже сейчас хабр уже превратился в поток нейрослопа и даже самые преданные читатели давно покинули последний оплот необычных идей и применения их в проектах.
Кому нужны стерильные истории в корпорат-блогах от переписывания модулей до генерации нонейм-фичи, которой пользуются два с половиной человека.
А проблемы даже в самых популярных сервисах уже набирают обороты: потому что одно дело писать код сами, а другое - бездумно пушить в прод тысячи строк день за днём и счастливо рассказывать на смешных конференциях, как внезапно повышается KPI и вы вместо трёх кругов по воде делаете четыре в ту же единицу времени.
Строить воздушные замки всегда проще, чем надёжные системы. Да и часто эти якобы замки оказываются карточными домиками, где одно дуновение ветра или ошибка модели приводят к тому, что половина сервисов в интернете становится недоступна из-за того, что где-то в приватных ключах лежит чёртова четвёрка.
😃 iOS Dev
Сегодня увидел статистику, согласно которой на самом популярном прежде форуме задают 30 вопросов день.
Три года назад я уже писал про эту тенденцию, которую не замечал только ленивый.
Основной аргумент, который я слышу даже сейчас: зачем нужны эти форумы, если можно задать вопрос нейронке и она ответит на всё.
Ну, например, потому что всем нейросетям нужно топливо для обучения: вопросы, документация, практики написания кода, даже дискуссии, в которых часто рождается истина.
Следите за пальцами: каждый такой поинт влечёт к деградации развития новых моделей, а каждый новый нейрослоп пост на хабре (или где угодно) напротив - ведёт к гомеопатической среде, в которой одну и ту же мысль разбавляют многократно до тех пор, пока концентрация полезности не станет околонулевой.
В целом, даже сейчас хабр уже превратился в поток нейрослопа и даже самые преданные читатели давно покинули последний оплот необычных идей и применения их в проектах.
Кому нужны стерильные истории в корпорат-блогах от переписывания модулей до генерации нонейм-фичи, которой пользуются два с половиной человека.
А проблемы даже в самых популярных сервисах уже набирают обороты: потому что одно дело писать код сами, а другое - бездумно пушить в прод тысячи строк день за днём и счастливо рассказывать на смешных конференциях, как внезапно повышается KPI и вы вместо трёх кругов по воде делаете четыре в ту же единицу времени.
Строить воздушные замки всегда проще, чем надёжные системы. Да и часто эти якобы замки оказываются карточными домиками, где одно дуновение ветра или ошибка модели приводят к тому, что половина сервисов в интернете становится недоступна из-за того, что где-то в приватных ключах лежит чёртова четвёрка.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 60🔥15🤗7😢5👍4👏4💯2❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Для чего нужен GlassEffectContainer в SwiftUI и как его использовать
📖️️️️️️ В этой статье можно узнать, что такое GlassEffectContainer, зачем он нужен и как с его помощью смешивать, объединять и анимировать элементы со стилем стекла.
Множество наглядных примеров можно посмотреть ещё и в этом посте.
😃 iOS Dev
📖️️️️️️ В этой статье можно узнать, что такое GlassEffectContainer, зачем он нужен и как с его помощью смешивать, объединять и анимировать элементы со стилем стекла.
Множество наглядных примеров можно посмотреть ещё и в этом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 16🫡5👍4
Ловушка маляра Шлемиля
Прежде предыстория и сам анекдот.
В классическом программировании ребята, которые знакомы с алгоритмами легко уловят контекст сравнений, если наша «банка с краской» это начало строки или массива, то бегом к ней можно назвать постоянный пересчет длины данных.
В контексте работы с ИИ возникает абсолютно идентичный эффект: первоначальный всплеск продуктивности быстро сменяется резким торможением.
Раздувание контекста возникает из-за того, что LLM обладают постоянной памятью. Чтобы ИИ ответил на ваш десятый и так далее вопрос в диалоге, архитектура трансформера вынуждена заново прочитать и обработать все предыдущие девять вопросов и ответов. Чем длиннее диалог, тем больше вычислительных ресурсов и времени требуется на генерацию следующего токена.
А, например, по мере отдаления от начала чата, ИИ начинает терять фокус. Даже базовые инструкции легко могут частично игнориться, и где-то на этом этапе начинаются те самые галлюцинации (или варики решений, которые противоречат начальному смыслу).
😃 iOS Dev
Прежде предыстория и сам анекдот.
Маляр Шлемиль подрядился красить пунктирные осевые линии на дорогах. В
первый день он получил банку краски, поставил ее на дорогу, и к концу
дня покрасил 300 метров осевой линии. "Отлично!" сказал прораб, "быстро
работаешь!" - и заплатил ему копейку.
На следующий день Шлемиль покрасил 150 метров. "Мда, это, конечно, не
так здорово, как вчера, но приемлемо", - сказал прораб и заплатил ему
копейку.
На следующий день Шлемиль покрасил 30 метров. "Всего лишь 30!" заорал
прораб. "Это никуда не годится! В первый день было в десять раз больше!
В чем дело?"
"Ничего не могу поделать," - говорит Шлемиль. "Каждый день я ухожу все
дальше и дальше от банки!"
В классическом программировании ребята, которые знакомы с алгоритмами легко уловят контекст сравнений, если наша «банка с краской» это начало строки или массива, то бегом к ней можно назвать постоянный пересчет длины данных.
В контексте работы с ИИ возникает абсолютно идентичный эффект: первоначальный всплеск продуктивности быстро сменяется резким торможением.
Раздувание контекста возникает из-за того, что LLM обладают постоянной памятью. Чтобы ИИ ответил на ваш десятый и так далее вопрос в диалоге, архитектура трансформера вынуждена заново прочитать и обработать все предыдущие девять вопросов и ответов. Чем длиннее диалог, тем больше вычислительных ресурсов и времени требуется на генерацию следующего токена.
А, например, по мере отдаления от начала чата, ИИ начинает терять фокус. Даже базовые инструкции легко могут частично игнориться, и где-то на этом этапе начинаются те самые галлюцинации (или варики решений, которые противоречат начальному смыслу).
На практике даже самые преданные адепты нейросетей могут столкнуться с таким кейсом:
Допустим, в первый день по вашей фиче генерится 1000 строк в минуту. Вы вернётесь к задаче, когда QA найдут баги, отдадите новый промпт, и ИИ выдаст измененный код, но как говорится есть нюанс в виде скрытых багов. Теперь вам нужно тратить время и силы уже не на написание кода, а на вычитку ИИ-слопа, чтобы исправить баг, не сломав всё остальное.
Please open Telegram to view this post
VIEW IN TELEGRAM
7 20🔥5👏5🤓1🆒1
⚡️️️️️️️ С завтрашнего дня Anthropic начнёт банить акки пользователей Claude не только если вы живёте в России или Беларуси, но и если работаете на компании из этих стран
📖️️️️️️ С 12 ноября этот документ вступает в силу.
В частности, есть такие пункты, которые могут привести к блокировке:
😃 iOS Dev
📖️️️️️️ С 12 ноября этот документ вступает в силу.
В частности, есть такие пункты, которые могут привести к блокировке:
🔘 Использование лицами, физически находящимися в регионе, не входящем в поддерживаемые регионы.
🔘 Использование организациями, зарегистрированными или имеющими головной офис в регионе, не входящем в белый список, а также их пользователями или персоналом, независимо от того, находятся ли такие лица физически в поддерживаемом регионе.
🔘 Использование организациями, контрольный пакет акций которых принадлежит или которые контролируются, прямо или косвенно, лицами или организациями, находящимися в регионах, не входящих в зону поддержки.
Please open Telegram to view this post
VIEW IN TELEGRAM
😢28😱10 7🔥5😨4👍3⚡1😈1😡1