В новом выпуске обучение iOS-разработке и цена управления памятью, правила дизайна и гниение кода, бэкенд, мобилки, ремесло, гвозди, зоопарк трансформеров и многое другое.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
![](https://habrastorage.org/r/w1560/webt/ev/gb/su/evgbsumvkc5-y7fiqbuv9-mxnxu.png)
iOS
• Из дальнобойщика — в IT: приключение, где нужно быстро учиться и работать без выходных
• Selenoid: Запускаем Appium UI-тесты на iOS. Часть 2 + Часть 1
• Как я разрабатывал кастомный Segmented Control на SwiftUI
• CoreData для базовых задач одним методом
• Apple выпустила первое обновление Rapid Security Response
•
Swift 5.9 Will Make Apps Faster And Safer
•
Security in iOS Applications
•
How to apply Clean Swift by example for iOS projects (The easy way)
•
Axiomatic and Brain-sized Coding in Swift for Creating Systems of Any Scale
•
A Full SwiftUI Emitter Node
•
Making the most of Bitrise CI for iOS
•
SwiftUI Animation Mechanism
•
Using Swift’s Types as Domain-Specific Languages
•
Tips and Tricks for Using ContainerRelativeShape in SwiftUI
•
The power of overlays in SwiftUI
•
Double Protocol Conformance
•
Discover how @MainActor works
•
Building Better iOS Apps with Swift Composable Architecture
•
Creating Reusable Views with Custom Flow Layout in Swift
•
Queryable: асинхронный показ View в SwiftUI
•
Charts: красивые графики для iOS
Android
• Производительность Android приложений Kotlin в сравнении с С++ или цена управления памятью
• Собеседование в Android-команду Тинькофф
• Как использовать FlowLayout в Jetpack Compose
• Автоматизация публикации Android приложений в Google Play и Huawei AppGallery — инструкция от А до Я
• Как мы разрабатываем SDK для RuStore
• ChatGPT vs TDD: я пишу юнит тесты, а он выдает код
• Как Google боролся с плохими приложениями и плохими разработчиками в 2022 году
•
Every single type of Dialog in Jetpack Compose and how to use them
•
Working with Compose Navigation, Dagger2, ViewModels
•
Handy Kotlin Edge Case Numerical Handling
•
Kotlin Inline, Noinline, Crossinline, Reified
•
A 5-Step Process to Refactor Your Old, Untestable Codebase and Improve Its Quality
•
Creating Pager Animations in Jetpack Compose
•
Touch Feedback Animation like Spotify in Jetpack Compose
•
How We Accidentally DoS-ed Ourselves with Kotlin Coroutines
•
Dispatchers in Kotlin Coroutines
•
Exploring Ktor: An Alternative To Retrofit For HTTP Requests In Android
•
Fancy animated UI with AGSL shaders in Jetpack Compose
•
How to optimize your Android app for large screens (And what NOT to do!)
•
Все видео KotlinConf’23
•
SpinDot: анимированные лоадеры для Android
•
PlainApp: управление смартфоном с компьютера
Кроссплатформа
• Dart 3 на практике: что принесёт нам мажорное обновление языка
• Управляйте своим Flutter приложением на лету с помощью Firebase Remote Config
• Эй, разработчики Flutter, я слышал, что вам нравятся модификаторы классов
•
Flutter vs .NET MAUI: Which is better for creating cross-platform apps?
•
Reduce Your Flutter App Size 2023
•
Dart: A Terrible Language and a Huge Marketing Success!
•
An Opinionated View on KMM
•
Flutter: How to prevent Screenshots and Screen Recording in the Flutter App iOS & Android
Разработка
• 16 простых и эффективных правил дизайна UI
• Firebase Firestore: основные правила безопасности
• Гниение кода — это результат процессов
• Эй, Google, это твой баг
• Бэкенд, мобилки, ремесло и гвозди
• Accessibility митап
• Правильно оцениваем задачи. Топовые ошибки программистов
• Podlodka #318: Backend Driven UI
• Самыми «вредными» коллегами россияне назвали бухгалтеров и программистов
• Самые высокооплачиваемые вакансии апреля в области разработки приложений
•
Best Icon Resources I Use Daily
•
Working From Home Is Destroying Coders
•
Don’t design for your users
•
Rules of Thumb for Software Development Estimations
•
Don’t panic! A playbook for managing any production incident
Аналитика, маркетинг и монетизация
• Модель нелинейной аппроксимации ретеншена
• Mixpanel запускает маркетинговую аналитику
• $70 млн: Simpplr — внутренняя социальная сеть с ИИ для предприятий
• BeReal запустил ленту «реальных» знаменитостей
• Конец эпохи для Zoom — количество загрузок упало ниже допандемического уровня
AI, Устройства, IoT
• Откуда Карты знают, когда приедет автобус
• 1-Wire датчик QT18B20 — долгожданный аналог DS18B20 или очередная подделка? Исследуем в лаборатории
• FlexGen на практике: получится ли запустить тяжелую модель без мощной видеокарты
• Бустим топ: внедрение ML в ранжирование каталога
• Зоопарк трансформеров: большой обзор моделей от BERT до Alpaca
• Просто о сложном. MajorDoMo и контроль входного замка. Начало
• Google показал раскладывающийся смартфон Pixel Fold
• Slack ставит ИИ в центр пользовательского опыта
• Plexamp теперь работает с ChatGPT для создания плейлистов
• Гильдия сценаристов Америки бастует против использования ИИ
•
100+ ChatGPT Prompts for Software Developers
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
![](https://habrastorage.org/webt/ev/gb/su/evgbsumvkc5-y7fiqbuv9-mxnxu.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Из дальнобойщика — в IT: приключение, где нужно быстро учиться и работать без выходных
• Selenoid: Запускаем Appium UI-тесты на iOS. Часть 2 + Часть 1
• Как я разрабатывал кастомный Segmented Control на SwiftUI
• CoreData для базовых задач одним методом
• Apple выпустила первое обновление Rapid Security Response
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Производительность Android приложений Kotlin в сравнении с С++ или цена управления памятью
• Собеседование в Android-команду Тинькофф
• Как использовать FlowLayout в Jetpack Compose
• Автоматизация публикации Android приложений в Google Play и Huawei AppGallery — инструкция от А до Я
• Как мы разрабатываем SDK для RuStore
• ChatGPT vs TDD: я пишу юнит тесты, а он выдает код
• Как Google боролся с плохими приложениями и плохими разработчиками в 2022 году
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Dart 3 на практике: что принесёт нам мажорное обновление языка
• Управляйте своим Flutter приложением на лету с помощью Firebase Remote Config
• Эй, разработчики Flutter, я слышал, что вам нравятся модификаторы классов
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• 16 простых и эффективных правил дизайна UI
• Firebase Firestore: основные правила безопасности
• Гниение кода — это результат процессов
• Эй, Google, это твой баг
• Бэкенд, мобилки, ремесло и гвозди
• Accessibility митап
• Правильно оцениваем задачи. Топовые ошибки программистов
• Podlodka #318: Backend Driven UI
• Самыми «вредными» коллегами россияне назвали бухгалтеров и программистов
• Самые высокооплачиваемые вакансии апреля в области разработки приложений
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Модель нелинейной аппроксимации ретеншена
• Mixpanel запускает маркетинговую аналитику
• $70 млн: Simpplr — внутренняя социальная сеть с ИИ для предприятий
• BeReal запустил ленту «реальных» знаменитостей
• Конец эпохи для Zoom — количество загрузок упало ниже допандемического уровня
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Откуда Карты знают, когда приедет автобус
• 1-Wire датчик QT18B20 — долгожданный аналог DS18B20 или очередная подделка? Исследуем в лаборатории
• FlexGen на практике: получится ли запустить тяжелую модель без мощной видеокарты
• Бустим топ: внедрение ML в ранжирование каталога
• Зоопарк трансформеров: большой обзор моделей от BERT до Alpaca
• Просто о сложном. MajorDoMo и контроль входного замка. Начало
• Google показал раскладывающийся смартфон Pixel Fold
• Slack ставит ИИ в центр пользовательского опыта
• Plexamp теперь работает с ChatGPT для создания плейлистов
• Гильдия сценаристов Америки бастует против использования ИИ
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.