Мобильная разработка #1
الذهاب إلى القناة على Telegram
Всё о создании приложений под Android и iOS в одном месте. 🔹 Инструменты, библиотеки и ресурсы для ускорения работы. 🔹 Статьи и гайды для разработчиков любого уровня. 🔹 Тренды мобильной разработки и новости индустрии. Реклама @evgenycarter
إظهار المزيد3 849
المشتركون
لا توجد بيانات24 ساعات
-27 أيام
-1030 أيام
جاري تحميل البيانات...
القنوات المماثلة
سحابة العلامات
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
أغسطس '26
أغسطس '26
+16
في 0 قنوات
يوليو '26
+21
في 0 قنوات
Get PRO
يونيو '26
+20
في 0 قنوات
Get PRO
مايو '26
+28
في 0 قنوات
Get PRO
أبريل '26
+29
في 0 قنوات
Get PRO
مارس '26
+26
في 0 قنوات
Get PRO
فبراير '26
+23
في 0 قنوات
Get PRO
يناير '26
+29
في 2 قنوات
Get PRO
ديسمبر '25
+38
في 0 قنوات
Get PRO
نوفمبر '25
+59
في 32 قنوات
Get PRO
أكتوبر '25
+142
في 0 قنوات
Get PRO
سبتمبر '25
+53
في 36 قنوات
Get PRO
أغسطس '25
+35
في 1 قنوات
Get PRO
يوليو '25
+53
في 27 قنوات
Get PRO
يونيو '25
+59
في 20 قنوات
Get PRO
مايو '25
+61
في 44 قنوات
Get PRO
أبريل '25
+76
في 38 قنوات
Get PRO
مارس '25
+176
في 38 قنوات
Get PRO
فبراير '25
+84
في 32 قنوات
Get PRO
يناير '25
+81
في 33 قنوات
Get PRO
ديسمبر '24
+76
في 34 قنوات
Get PRO
نوفمبر '24
+56
في 32 قنوات
Get PRO
أكتوبر '24
+91
في 29 قنوات
Get PRO
سبتمبر '24
+92
في 30 قنوات
Get PRO
أغسطس '24
+63
في 18 قنوات
Get PRO
يوليو '24
+42
في 0 قنوات
Get PRO
يونيو '24
+42
في 23 قنوات
Get PRO
مايو '24
+60
في 19 قنوات
Get PRO
أبريل '24
+56
في 0 قنوات
Get PRO
مارس '24
+86
في 21 قنوات
Get PRO
فبراير '24
+66
في 18 قنوات
Get PRO
يناير '24
+115
في 24 قنوات
Get PRO
ديسمبر '23
+99
في 24 قنوات
Get PRO
نوفمبر '23
+60
في 17 قنوات
Get PRO
أكتوبر '23
+89
في 18 قنوات
Get PRO
سبتمبر '23
+98
في 0 قنوات
Get PRO
أغسطس '23
+75
في 0 قنوات
Get PRO
يوليو '23
+79
في 0 قنوات
Get PRO
يونيو '23
+87
في 0 قنوات
Get PRO
مايو '23
+65
في 0 قنوات
Get PRO
أبريل '23
+79
في 0 قنوات
Get PRO
مارس '23
+43
في 0 قنوات
Get PRO
فبراير '23
+52
في 0 قنوات
Get PRO
يناير '23
+94
في 0 قنوات
Get PRO
ديسمبر '22
+97
في 0 قنوات
Get PRO
نوفمبر '22
+84
في 0 قنوات
Get PRO
أكتوبر '22
+139
في 0 قنوات
Get PRO
سبتمبر '22
+155
في 0 قنوات
Get PRO
أغسطس '22
+184
في 0 قنوات
Get PRO
يوليو '22
+266
في 0 قنوات
Get PRO
يونيو '22
+213
في 0 قنوات
Get PRO
مايو '22
+232
في 0 قنوات
Get PRO
أبريل '22
+200
في 0 قنوات
Get PRO
مارس '22
+242
في 0 قنوات
Get PRO
فبراير '22
+124
في 0 قنوات
Get PRO
يناير '22
+185
في 0 قنوات
Get PRO
ديسمبر '21
+146
في 0 قنوات
Get PRO
نوفمبر '21
+121
في 0 قنوات
Get PRO
أكتوبر '21
+252
في 0 قنوات
Get PRO
سبتمبر '21
+217
في 0 قنوات
Get PRO
أغسطس '21
+231
في 0 قنوات
Get PRO
يوليو '21
+173
في 0 قنوات
Get PRO
يونيو '21
+483
في 0 قنوات
Get PRO
مايو '21
+466
في 0 قنوات
Get PRO
أبريل '21
+3 858
في 0 قنوات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 26 أغسطس | 0 | |||
| 25 أغسطس | +2 | |||
| 24 أغسطس | +1 | |||
| 23 أغسطس | 0 | |||
| 22 أغسطس | +1 | |||
| 21 أغسطس | 0 | |||
| 20 أغسطس | 0 | |||
| 19 أغسطس | +1 | |||
| 18 أغسطس | 0 | |||
| 17 أغسطس | +1 | |||
| 16 أغسطس | 0 | |||
| 15 أغسطس | +1 | |||
| 14 أغسطس | 0 | |||
| 13 أغسطس | 0 | |||
| 12 أغسطس | +2 | |||
| 11 أغسطس | +1 | |||
| 10 أغسطس | +3 | |||
| 09 أغسطس | 0 | |||
| 08 أغسطس | 0 | |||
| 07 أغسطس | 0 | |||
| 06 أغسطس | +1 | |||
| 05 أغسطس | +1 | |||
| 04 أغسطس | +1 | |||
| 03 أغسطس | 0 | |||
| 02 أغسطس | 0 | |||
| 01 أغسطس | 0 |
منشورات القناة
🧪 Как заставить XCUITest работать с интерфейсом глубиной более 100 уровней
Инженеры Циана столкнулись с необычной проблемой: экран на базе Server-Driven UI содержал настолько глубокое дерево элементов, что XCUITest не мог выполнить даже обычный поиск текстового поля.
Причиной стали ограничения фреймворка:
🔹 Accessibility переставал создавать снапшоты примерно после 60 уровней вложенности;
🔹 NSXPC не справлялся с передачей слишком глубокого дерева;
🔹 стандартные
tap(), typeText() и поиск элементов завершались ошибками.
Инженеры обошли ограничения с помощью приватных API XCTest. Дерево интерфейса стали получать частями, а затем объединять в собственную структуру. Для взаимодействия с контролами использовали прямую отправку синтезированных событий ввода в демон автоматизации — без публичного поиска элементов.
Результат:
✅ собрано дерево глубиной 143 уровня;
✅ найдены поля на глубине около 136 уровней;
✅ выполнены тапы и ввод текста;
✅ значения успешно проверены — тест прошёл.
Решение работает на Xcode 26.2 и предназначено исключительно для тестового бандла. Приватные API могут измениться после обновления Xcode, поэтому использовать такой подход в продакшене нельзя.
https://habr.com/ru/companies/cian/articles/1071034/
📲 Мы в MAX
👉 @developer_mobila| 2 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак
Английский с нуля 🇬🇧
https://max.ru/UchuEnglish
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Rust📌
https://max.ru/channel_rust_lib
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП | 198 |
| 3 | 🕵️♂️ «Я спрятал ключ в константу»: Как Джуны дарят доступы хакерам
Вы интегрировали крутое платное API (например, карты или ИИ). Где вы храните секретный API_KEY?
Если ваш ответ: «В файле Constants.kt», «в strings.xml» или «просто текстом в классе» - у меня для вас плохие новости.
Любой школьник может скачать ваш APK или IPA файл, разархивировать его и достать ваши ключи за 5 минут с помощью базовых утилит для реверс-инжиниринга. А потом вы получите счет от сервиса на 10 000$ за чужой трафик.
То же самое касается пользовательских токенов (Bearer token). Если вы сохранили его в обычный SharedPreferences или UserDefaults - считайте, что вы написали пароль на стикере и приклеили его на монитор в коворкинге.
🛡 Как делают Мидлы (Защита секретов):
1. Правило №1: Никогда не пушьте ключи в Git!
Даже в приватный репозиторий. Используйте локальные файлы local.properties (Android) или .xcconfig (iOS), которые обязательно должны быть добавлены в .gitignore.
2. Токены пользователей (Авторизация):
• 🤖 Android: Забудьте про голый SharedPreferences. Используйте EncryptedSharedPreferences из библиотеки AndroidX Security. Он работает точно так же, но аппаратно шифрует ключи и значения через систему Android Keystore.
• 🍏 iOS: Никаких UserDefaults для токенов. Только Keychain. Данные в Keychain аппаратно зашифрованы на уровне операционной системы (Secure Enclave) и недоступны другим приложениям.
3. Глобальные API-ключи (Как их прятать):
• Уровень "Нормально": Пробрасывать ключи во время сборки через CI/CD (GitHub Actions) прямо в BuildConfig. Это уберет ключи из исходников, хотя и не защитит от декомпиляции готового приложения на 100%.
• Уровень "Параноик" (Android): Прятать ключи в C++ коде через NDK (Native Development Kit). Декомпилировать нативную C-библиотеку (.so) в десятки раз сложнее, чем байт-код Java/Kotlin.
• Уровень "Бог": BFF (Backend for Frontend). Приложение вообще не знает никаких сторонних ключей. Оно делает запрос на ВАШ сервер, а уже ваш сервер безопасно подставляет секретный ключ и идет в стороннее API.
💡 Главный совет: Относитесь к любому мобильному приложению как к потенциально скомпрометированной среде. То, что ушло на устройство пользователя, вам больше не принадлежит.
#security #android #ios #keychain #keystore #middle #development
👉 @developer_mobila | 449 |
| 4 | 👾 Androguard: Швейцарский нож для реверс-инжиниринга Android
Если вы занимаетесь пентестом мобильных приложений, анализом вредоносного ПО или просто хотите покопаться во внутренностях любого APK, обязательно обратите внимание на Androguard.
Это мощный инструмент, написанный на Python, который позволяет разбирать Android-файлы на атомы и манипулировать ими так же легко, как обычными объектами в коде.
🛠 Главные фичи инструмента
• Всеядность форматов: Нативная поддержка DEX, ODEX, APK, Android Binary XML (AXML) и файлов ресурсов (ARSC).
• Дизассемблер и декомпилятор: Умеет дизассемблировать байт-код Dalvik/ART и декомпилировать его в читаемый Java-код с помощью собственного нативного декомпилятора DAD.
• Интеграция с Frida: Встроенная поддержка Frida для удобного динамического анализа и инъекций прямо на лету.
• Гибкий API для автоматизации: Вы можете писать собственные скрипты для массового анализа малвари, поиска уязвимостей, сравнения приложений (поиска украденного кода) или выгрузки конкретных прав и интентов.
• Интерактивность: Консольная команда androguard analyze запускает удобную оболочку IPython для интерактивного исследования кишок любого приложения.
🔗 Официальный репозиторий проекта: https://github.com/androguard/androguard
#Android
👉 @developer_mobila | 497 |
| 5 | Живой космос на Metal: как я переписывал фон мобильной игры и поднимал FPS с 20 до 120
В мобильной разработке мы привыкли, что красивый анимированный фон — это либо видео, либо пара слоёв с CAGradientLayer и медленным параллаксом. Для большинства задач этого хватает. Но иногда хочется большего: настоящий живой космос — туманности, которые медленно перетекают друг в друга, планеты с кольцами, звёзды разных классов и в центре — чёрная дыра с аккреционным диском, как в «Интерстелларе».
У меня есть небольшая аркада-раннер про полёт сквозь космос. Фон там — не картинка, а процедурная сцена, которую целиком рисует фрагментный шейдер: каждый пиксель экрана вычисляется математикой из шума. Сначала всё это жило на SpriteKit, а потом я переписал на Metal — и вот тут началось самое интересное, потому что красивая сцена на десктопе и та же сцена на телефоне — это две очень разные истории.
Расскажу, как я это делал, на какие грабли наступил, и почему в итоге пришлось рисовать фон… полосками.
https://habr.com/ru/articles/1049396/
#ios
👉 @developer_mobila | 506 |
| 6 | Александр Евтухов, Максим Вакула — Одна билд-система, чтоб править всеми
Все iOS-разработчики привязаны к определенным системам сборки. Например, Tuist или CocoaPods. Когда на рынке появляется новое решение, мы не можем быстро взять и проверить, как оно работает, поскольку наш проект жестко описан и привязан к конкретной системе сборки.
В докладе спикеры разобрали, как перестать полностью фиксировать описание проекта в файлах и как написать абстрактную билд-систему, которая реализует кеширование. К этой билд-системе можно подключать что угодно для сборки вашего проекта: тот же Tuist или Bazel.
источник
#ios
👉 @developer_mobila | 550 |
| 7 | Запретная сторона Swift, которую мы, как правило, вообще не видим
Я пишу код на Swift ежедневно уже почти 10 лет. Синдром самозванца меня не пугает. Я всё повидал.
Но иногда… не знаю.
Может быть, я делаю опечатку в Xcode, которая вытаскивает из Марианской впадины автозаполнения забытых существ. Может быть, я покупаю шимпанзе в даркнете и случайно натыкаюсь на пост в блоге с архаичным синтаксисом.
Сегодня мы откопаем кое-что из того, что Apple хранит в шкафу под лестницей. Мы выясним, есть ли у этих ключевых слов и функций какое-либо реальное применение, и прольем на них немного света.
https://apptractor.ru/info/articles/zapretnaya-storona-swift-kotoruyu-my-kak-pravilo-voobsche-ne-vidim.html
#ios
👉 @developer_mobila | 558 |
| 8 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП | 406 |
| 9 | Наиболее распространенные узкие места в производительности Android-приложений
Я пришел к выводу: большинство проблем с производительностью вызваны не аппаратными ограничениями. Они возникают из-за недостатков в логике и архитектуре, которые заставляют систему достигать этих пределов.
В течение последних шести месяцев большая часть моей работы была сосредоточена на улучшении производительности и стабильности в большом устаревшем коде. И я пришел к выводу: большинство проблем с производительностью вызваны не аппаратными ограничениями. Они возникают из-за недостатков в логике и архитектуре, которые заставляют систему достигать этих пределов.
И чаще всего дело не в архитектуре, которая просто устарела по мере развития продукта. Дело в архитектуре, которая была исправлена, расширена и перестроена несколькими поколениями разработчиков — каждое из которых добавляло обходные пути, упускало граничные случаи и оставляло после себя скрытые неэффективности, которые накапливаются со временем.
https://levelup.gitconnected.com/the-most-common-performance-bottlenecks-in-mobile-apps-7bc7401fc392
#Android
👉 @developer_mobila | 382 |
| 10 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП | 154 |
| 11 | Maestro — автоматизация тестирования мобильного пользовательского интерфейса
Почему Maestro?
Maestro создан на основе опыта своих предшественников (Appium, Espresso, UIAutomator, XCTest).
Встроенная устойчивость к нестабильности. Элементы пользовательского интерфейса не всегда будут находиться там, где вы их ожидаете, касание экрана не всегда будет проходить и т.д. Maestro принимает нестабильность мобильных приложений и устройств и пытается противостоять ей.
Встроенная устойчивость к задержкам. Нет необходимости перегружать ваши тесты вызовами sleep(). Maestro знает, что загрузка контента может занять время (т.е. по сети), и автоматически ждет его (но не дольше, чем требуется).
Сверхбыстрая итерация. Тесты интерпретируются, не нужно ничего компилировать. Maestro способен непрерывно отслеживать ваши тестовые файлы и повторно запускать их по мере изменения.
Декларативный, но мощный синтаксис. Определите свои тесты в yaml-файле.
Простая установка. Maestro - это единый двоичный файл, который работает везде.
https://github.com/mobile-dev-inc/maestro
👉 @developer_mobila | 480 |
| 12 | Осваиваем множества в Swift: практическое руководство
Массивы — это здорово, но они подходят не для каждой задачи. В этом видео мы подробно разбираем множества (Sets) в Swift: чем они отличаются, как эффективно с ними работать и когда выбирать их вместо массивов.
Вы узнаете:
• Как создавать и изменять множества
• Ключевые отличия множеств от массивов
• Основные операции: insert, remove, union, intersection и другие
• Методы сравнения: subset, superset и disjoint
• Реальные прим/Users/evgenycarter/Downloads/4K/Mastering Swift Sets A Practical Guide.mp4еры использования: фильтрация тегов, права доступа, удаление дубликатов, планирование встреч
К концу урока у вас будет полностью рабочий playground и ясное понимание, когда и почему стоит использовать Set вместо Array.
источник
#ios
👉 @developer_mobila | 561 |
| 13 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы | 536 |
| 14 | Как растёт мобильный рекламный инвентарь в РСЯ
App2Top опубликовал статистику Яндекса по мобильной части РСЯ за Q1 2026. Количество подключённых к сети мобильных приложений за квартал увеличилось на 55% по сравнению с прошлым годом, а объём показов рекламы в них удвоился.
Основной приток бюджетов — от самих мобильных разработчиков, продвигающих свои приложения. За 2025 год их вложения в Яндекс Директ прибавили 36% относительно 2024-го. Зарубежные компании, продвигающие свои приложения на российскую аудиторию, потратили на это в 2,4 раза больше денег.
Параллельно Яндекс обновил Yandex Mobile Ads SDK 8 — в этой версии вес SDK для Android сократится на 30% и на 15% для iOS.
https://app2top.ru/news/kolichestvo-mobil-ny-h-prilozhenij-v-rsya-tol-ko-za-yanvar-mart-2026-go-vy-roslo-na-55-239880.html
👉 @developer_mobila | 449 |
| 15 | Лаборатория в смартфоне: изучаем эффект Доплера на палочках в Android
В этой статье мы познакомимся с эффектом Доплера, но не так, как об этом рассказывается в школьном учебнике физики, а посредством своих любопытных глазок и ушек. Поможет нам в этом специально разработанное мной приложение для Андроид-смартфона.
https://habr.com/ru/articles/920738/
#Android
👉 @developer_mobila | 448 |
| 16 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы | 183 |
| 17 | Android-разработчики, держите полезный кейс про сериализацию, на котором легко поймать неочевидный краш.
В Альфа-Банке разобрали ситуацию, когда payload: Any в модели экрана объявлен как Serializable, а внутри в какой-то момент прилетает Intent. Итог - падение с NotSerializableException, потому что Intent поддерживает Parcelable, но не Serializable.
Что предлагают:
• хранить рядом с объектом маркер типа сериализации;
• при записи в Parcel динамически выбирать Parcelable или Serializable;
• при чтении восстанавливать объект через соответствующий механизм.
Самое интересное - проблема не только в выборе способа сериализации, но и в classLoader.
Если читать обобщённый Parcelable “в лоб”, можно уехать в BootClassLoader, где нет классов приложения, и десериализация сломается. Решение - в таких местах использовать contextClassLoader приложения. То же касается и Serializable.
Полезный материал для тех, кто:
• поддерживает legacy Android-код;
• постепенно мигрирует на Parcelable;
• хочет лучше понимать, что происходит под капотом SDK.
https://habr.com/ru/companies/alfa/articles/1013158/
👉 @developer_mobila | 558 |
| 18 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы | 480 |
| 19 | 🪦 Кладбище «Hello World»: Почему вы не дописываете свои проекты?
У каждого из нас есть папка Dev/Projects, где лежат десятки папок: MySuperApp, NewBankApp, FitnessTracker_v2. Внутри - пара сверстанных экранов и пустой репозиторий.
Почему мы бросаем идеи на полпути? Потому что относимся к пет-проекту как к работе, а не как к продукту.
Типичный цикл провала:
1. Загорелся идеей.
2. Решил использовать все самые новые и сложные технологии сразу (просто чтобы выучить).
3. Потратил 2 недели на настройку архитектуры и DI.
4. Устал, стало скучно, забросил.
🚀 Как попасть в 5% разработчиков, которые доводят проект до Стора:
1. Принцип MVP (Minimal Viable Product):
Ваше приложение должно решать ОДНУ задачу. Сделайте её за выходные. Не нужно делать «соцсеть для любителей кактусов» с чатами, видеозвонками и ИИ. Сделайте ленту с фото кактусов. Всё.
2. Выбирайте ОДНУ новую технологию:
Если вы хотите выучить Compose или SwiftUI - пишите на них, но остальной стек (сеть, БД) берите максимально знакомый. Если менять всё сразу, вы утонете в багах окружения.
3. Готово лучше, чем идеально:
На пет-проектах мы часто страдаем «перфекционизмом кода». Переписываем один и тот же экран по три раза, потому что «вышла новая версия библиотеки». Стоп. Сначала релиз - потом рефакторинг.
4. Считайте время в часах, а не в днях:
Выделите себе 4 часа в субботу. Поставьте конкретную задачу: «Сделать экран настроек». Если задача не выполнена - выделите еще 2 часа завтра. Маленькие победы кормят ваш дофамин.
💡 Зачем это вообще нужно?
Релизнутый проект в App Store или Google Play, даже самый простой, стоит десяти курсов на Udemy. Это показывает работодателю, что вы умеете не только писать код по ТЗ, но и доводить продукт до конца.
А сколько «трупов» в вашей папке проектов прямо сейчас? Признавайтесь 👇
#petproject #career #motivation #android #ios #middle #startup
👉 @developer_mobila | 359 |
| 20 | Что ЯНДЕКС ЖДЁТ от СТАЖЁРОВ? Разбор задания
Проверяются не только технические навыки, но и способность:
• анализировать чужой код
• аргументировать решения
• четко выражать мысли
TimeCode:
00:00 - Что? Для кого? Для чего?
00:50 - Исходный код
01:22 - Выбор стратегии
02:47 - Подготовительные действия
03:19 - Product Service
03:45 - 1.Class to Struct
04:24 - Decodable
05:22 - 2. Snake_case to CamelCase
06:45 - Код для работы проекта
09:12 - 3. final class
11:09 - 4. extension UITableViewDataSource
12:46 - 5. Инкапсуляция / private
14:20 - 6. Setup TableView
15:41 - private Products
17:19 - 7. super.viewDidLoad
19:30 - 8. Delegate / DataSource
22:01 - Код для работы проекта
22:35 - 9. Register UITableViewCell
24:16 - 10. dequeueReusableCell
25:57 - 11. Oneliner return
27:00 - 12. DispatchQueue.main.async
28:49 - 13. Protocol / Dependency Injection (DI)
34:44 - Код для работы проекта
36:11 - RetainCycle часть 1
42:36 - RetainCycle часть 2
44:49 - Опросы / Проверка знаний
45:29 - RetainCycle часть 3
47:58 - RetainCycle часть 4
49:22 - 14. Handle error
51:58 - 15. fetchRequest
52:40 - Итог
https://www.youtube.com/watch?v=vfBoSiAPv7M
👉 @developer_mobila | 534 |
