Мобильная разработка #1
رفتن به کانال در Telegram
Всё о создании приложений под Android и iOS в одном месте. 🔹 Инструменты, библиотеки и ресурсы для ускорения работы. 🔹 Статьи и гайды для разработчиков любого уровня. 🔹 Тренды мобильной разработки и новости индустрии. Реклама @evgenycarter
نمایش بیشتر3 883
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
Запретная сторона Swift, которую мы, как правило, вообще не видим
Я пишу код на Swift ежедневно уже почти 10 лет. Синдром самозванца меня не пугает. Я всё повидал.
Но иногда… не знаю.
Может быть, я делаю опечатку в Xcode, которая вытаскивает из Марианской впадины автозаполнения забытых существ. Может быть, я покупаю шимпанзе в даркнете и случайно натыкаюсь на пост в блоге с архаичным синтаксисом.
Сегодня мы откопаем кое-что из того, что Apple хранит в шкафу под лестницей. Мы выясним, есть ли у этих ключевых слов и функций какое-либо реальное применение, и прольем на них немного света.
https://apptractor.ru/info/articles/zapretnaya-storona-swift-kotoruyu-my-kak-pravilo-voobsche-ne-vidim.html
#ios
👉 @developer_mobila
🚀 Подборка полезных 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 Питер Новости: Санкт-Петербург / СПБ / ДТП
Наиболее распространенные узкие места в производительности Android-приложений
Я пришел к выводу: большинство проблем с производительностью вызваны не аппаратными ограничениями. Они возникают из-за недостатков в логике и архитектуре, которые заставляют систему достигать этих пределов.
В течение последних шести месяцев большая часть моей работы была сосредоточена на улучшении производительности и стабильности в большом устаревшем коде. И я пришел к выводу: большинство проблем с производительностью вызваны не аппаратными ограничениями. Они возникают из-за недостатков в логике и архитектуре, которые заставляют систему достигать этих пределов.
И чаще всего дело не в архитектуре, которая просто устарела по мере развития продукта. Дело в архитектуре, которая была исправлена, расширена и перестроена несколькими поколениями разработчиков — каждое из которых добавляло обходные пути, упускало граничные случаи и оставляло после себя скрытые неэффективности, которые накапливаются со временем.
https://levelup.gitconnected.com/the-most-common-performance-bottlenecks-in-mobile-apps-7bc7401fc392
#Android
👉 @developer_mobila
🚀 Подборка полезных 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 Питер Новости: Санкт-Петербург / СПБ / ДТП
Maestro — автоматизация тестирования мобильного пользовательского интерфейса
Почему Maestro?
Maestro создан на основе опыта своих предшественников (Appium, Espresso, UIAutomator, XCTest).
Встроенная устойчивость к нестабильности. Элементы пользовательского интерфейса не всегда будут находиться там, где вы их ожидаете, касание экрана не всегда будет проходить и т.д. Maestro принимает нестабильность мобильных приложений и устройств и пытается противостоять ей.
Встроенная устойчивость к задержкам. Нет необходимости перегружать ваши тесты вызовами sleep(). Maestro знает, что загрузка контента может занять время (т.е. по сети), и автоматически ждет его (но не дольше, чем требуется).
Сверхбыстрая итерация. Тесты интерпретируются, не нужно ничего компилировать. Maestro способен непрерывно отслеживать ваши тестовые файлы и повторно запускать их по мере изменения.
Декларативный, но мощный синтаксис. Определите свои тесты в yaml-файле.
Простая установка. Maestro - это единый двоичный файл, который работает везде.
https://github.com/mobile-dev-inc/maestro
👉 @developer_mobila
Осваиваем множества в 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
🚀 Подборка полезных 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 Свежие новости Москвы
Как растёт мобильный рекламный инвентарь в РСЯ
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
Лаборатория в смартфоне: изучаем эффект Доплера на палочках в Android
В этой статье мы познакомимся с эффектом Доплера, но не так, как об этом рассказывается в школьном учебнике физики, а посредством своих любопытных глазок и ушек. Поможет нам в этом специально разработанное мной приложение для Андроид-смартфона.
https://habr.com/ru/articles/920738/
#Android
👉 @developer_mobila
🚀 Подборка полезных 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 Свежие новости Москвы
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🚀 Подборка полезных 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 Свежие новости Москвы
🪦 Кладбище «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Что ЯНДЕКС ЖДЁТ от СТАЖЁРОВ? Разбор задания
Проверяются не только технические навыки, но и способность:
• анализировать чужой код
• аргументировать решения
• четко выражать мысли
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
💳 Кредитная карта в коде: Почему за техдолг придется платить с процентами?
В начале карьеры кажется: «Главное работает, а код... ну, потом причешу». Вы копипастите кусок из StackOverflow, зашиваете константы прямо в Activity и пропускаете тесты, чтобы успеть к релизу.
Поздравляю, вы только что взяли кредит у своего будущего.
Технический долг - это цена, которую вы платите за быстрые и некачественные решения.
❌ Как это выглядит (Симптомы):
1. Страх перемен: Вы боитесь тронуть старый класс
DataHelper, потому что всё приложение может развалиться.
2. Эффект бабочки: Фиксите баг в одном месте - вылетает два новых в другом.
3. Onboarding-катастрофа: Новый разработчик в команде неделю не может понять, как работает экран корзины.
📈 Проценты по кредиту:
Если долг не отдавать (не рефакторить), «проценты» растут. Скорость разработки падает. То, что раньше занимало 2 часа, теперь занимает 2 дня, потому что 90% времени уходит на борьбу с «костылями».
🛡 Как выходить из долговой ямы (Стратегии Мидла):
1. Правило Бойскаута: Оставляйте код чище, чем он был до вас. Зашли поправить мелкий баг? Заодно переименуйте кривую переменную или вынесите магическую строку в константу. По чуть-чуть, каждый день.
2. Технический бэклог: Не прячьте техдолг в // TODO. Заводите реальные задачи в Jira/Trello. Если проблема не записана - её не существует.
3. Правило 20%: Договоритесь с менеджером, что 20% времени спринта уходит на стабилизацию и рефакторинг.
Аргумент для бизнеса: «Если мы не сделаем это сейчас, через полгода добавление новой кнопки будет стоить нам в 3 раза дороже».
4. Code Review: Это ваш фильтр. Не пропускайте «грязный» код коллег (и свой тоже) только потому, что «нужно срочно».
💡Техдолг это нормально, если он осознанный. Иногда реально нужно выкатиться «вчера», чтобы проверить гипотезу. Но плохой разработчик забывает о долге, а хороший - планирует его выплату.
#cleanarch #techdebt #refactoring #quality #development #middle #management
👉 @developer_mobila🚀 Подборка полезных 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 и др.
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 Свежие новости Москвы
iOS network frameworks и HTTP TCP Server внутри приложения
Привет. В iOS разработке работа с сетью является одной из ключевых задач. Для этого существует целый арсенал инструментов: от высокоуровневого URLSession до работы с низкоуровневыми BSD сокетами.
В этой статье мы разберем список доступных инструментов, напишем и запустим сервер внутри iOS приложения, используя самый низкоуровневых инструмент (BSD sockets). И закрепим это небольшим проектом, который будет использовать наш сервер. Им будет небольшая админка, с помощью которой можно будет загружать файлы из файловой директории приложения через веб браузер (с других устройств в локальной сети).
https://habr.com/ru/articles/991366/
👉 @developer_mobila
🧹 Синдром страуса: Зачем вы прячете баги под ковер?
Хуже падающего приложения (Crash) может быть только приложение, которое «незаметно сломалось».
Пользователь жмет кнопку «Оплатить», а ничего не происходит. Лоадер покрутился и исчез. Приложение не упало, но функция не работает. Почему?
Потому что в коде написано это:
try {
api.buyPremium()
} catch (e: Exception) {
// TODO: обработать ошибку потом
print(e.message)
}
❌ Подход Джуна: Поймать ошибку, чтобы приложение не скрашилось, вывести её в консоль (print или Log.e) и забыть. Но секрет в том, что консоль на телефоне реального пользователя никто не читает! Ошибка исчезает в пустоте.
✅ Подход Мидла (Fail gracefully, log loudly):
Приложение должно мягко обработать ошибку для пользователя (показать красивый Снекбар «Упс, что-то пошло не так»), но при этом громко заорать об этом разработчикам.
🛠 Инструменты (Что должно быть в каждом проекте):
🔥 Firebase Crashlytics / Sentry:
Это не только для фатальных крашей! У них есть суперсила - Non-Fatal Exceptions (Нефатальные ошибки).
Вместо пустого print, вы пишете:
FirebaseCrashlytics.getInstance().recordException(e)
Теперь каждое такое «тихое» падение сети или парсинга JSON прилетит вам на дашборд с аналитикой: у скольких пользователей это случилось, на каких моделях телефонов и версиях ОС.
🍞 Хлебные крошки (Breadcrumbs):
Представьте, что к вам прилетел краш: NullPointerException на строке 42. Как его воспроизвести?
Сеньоры добавляют логирование действий до ошибки:
Crashlytics.log("User opened Cart") -> Crashlytics.log("Clicked Checkout") -> Crash!
Теперь вместе с краш-репортом вы получаете историю шагов пользователя. Баг фиксится за 5 минут вместо 5 часов гадания на кофейной гуще.
💡 Правило хорошего тона:
В Debug-сборке приложение должно падать с треском при любой неконсистентности данных (чтобы тестировщик или вы сразу это заметили). А в Release-сборке - пытаться выжить, но молча отправлять отчет вам на сервер.
Признавайтесь, много у вас в проекте забытых TODO внутри catch? 👇
#crashlytics #firebase #sentry #debugging #errors #android #ios #middle
👉 @developer_mobila🚀 Подборка полезных 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 и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование 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 Свежие новости Москвы
🧠 ИИ-ассистенты помогают писать код, но часто делают это неправильно. Подсказки могут ломать архитектуру проекта, предлагать неверные решения или генерировать код, который трудно поддерживать.
🗓 25 марта в 20:00 МСК разберём, почему ИИ-ассистенты ошибаются при генерации кода, как структура проекта влияет на качество подсказок и какие принципы помогают писать ИИ-дружелюбный код.
Вы увидите сравнение неправильных и правильных подходов, узнаете, как архитектура, названия и комментарии влияют на работу ИИ и как ускорить разработку мобильных приложений.
➡️Открытый урок проходит в преддверии старта курса «Flutter-разработчик». Принять участие: https://vk.cc/cVBlt8
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
