Последние посты

Мобильная разработка #1
14 сент., 13:29
Как разрабатывать приложения для iPhone на iPadЗвучит как противоречие: iPad стал вполне рабочим инструментом разработчика, а собрать под него (и под iPhone) приложение всё равно нельзя без Mac. Xcode — единственная официальная среда сборки и подписи iOS-приложений — существует только под macOS, и Apple явно не планирует это менять. Значит ли это, что весь цикл разработки придётся выполнять, сидя за компьютером? Нет — если Mac всегда доступен по сети, а с iPad до него можно дотянуться удалённо. Читать далееhttps://habr.com/ru/articles/1081138/📲 Мы в MAX👉 @developer_mobila


Мобильная разработка #1
24 авг., 14:24
🧪 Как заставить XCUITest работать с интерфейсом глубиной более 100 уровнейИнженеры Циана столкнулись с необычной проблемой: экран на базе Server-Driven UI содержал настолько глубокое дерево элементов, что XCUITest не мог выполнить даже обычный поиск текстового поля.Причиной стали ограничения фреймворка:🔹 Accessibility переставал создавать снапшоты примерно после 60 уровней вложенности; 🔹 NSXPC не справлялся с передачей слишком глубокого дерева; 🔹 стандартные tap(), typeText() и поиск элементов завершались ошибками.Инженеры обошли ограничения с помощью приватных API XCTest. Дерево интерфейса стали получать частями, а затем объединять в собственную структуру. Для взаимодействия с контролами использовали прямую отправку синтезированных событий ввода в демон автоматизации — без публичного поиска элементов.Результат:✅ собрано дерево глубиной 143 уровня; ✅ найдены поля на


Мобильная разработка #1
25 июл., 11: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 Типичный Сисадмин 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 лайфхакMAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Мобильная разработка #1
8 июл., 06:09
🕵️♂️ «Я спрятал ключ в константу»: Как Джуны дарят доступы хакерамВы интегрировали крутое платное API (например, карты или ИИ). Где вы храните секретный API_KEY? Если ваш ответ: «В файле Constants.kt», «в strings.xml» или «просто текстом в классе» - у меня для вас плохие новости.Любой школьник может скачать ваш APK или IPA файл, разархивировать его и достать ваши ключи за 5 минут с помощью базовых утилит для реверс-инжиниринга. А потом вы получите счет от сервиса на 10 000$ за чужой трафик.То же самое касается пользовательских токенов (Bearer token). Если вы сохранили его в обычный SharedPreferences или UserDefaults - считайте, что вы написали пароль на стикере и приклеили его на монитор в коворкинге.🛡 Как делают Мидлы (Защита секретов):1. Правило №1: Никогда не пушьте ключи в Git! Даже в приватный репозиторий. Используйте локальные файлы local.properties (Android) или


Мобильная разработка #1
25 июн., 09:51
👾 Androguard: Швейцарский нож для реверс-инжиниринга AndroidЕсли вы занимаетесь пентестом мобильных приложений, анализом вредоносного ПО или просто хотите покопаться во внутренностях любого APK, обязательно обратите внимание на Androguard.Это мощный инструмент, написанный на Python, который позволяет разбирать Android-файлы на атомы и манипулировать ими так же легко, как обычными объектами в коде.🛠 Главные фичи инструмента• Всеядность форматов: Нативная поддержка DEX, ODEX, APK, Android Binary XML (AXML) и файлов ресурсов (ARSC). • Дизассемблер и декомпилятор: Умеет дизассемблировать байт-код Dalvik/ART и декомпилировать его в читаемый Java-код с помощью собственного нативного декомпилятора DAD. • Интеграция с Frida: Встроенная поддержка Frida для удобного динамического анализа и инъекций прямо на лету. • Гибкий API для автоматизации: Вы можете писать собственные скрипты для


Мобильная разработка #1
22 июн., 06:31
Живой космос на Metal: как я переписывал фон мобильной игры и поднимал FPS с 20 до 120В мобильной разработке мы привыкли, что красивый анимированный фон — это либо видео, либо пара слоёв с CAGradientLayer и медленным параллаксом. Для большинства задач этого хватает. Но иногда хочется большего: настоящий живой космос — туманности, которые медленно перетекают друг в друга, планеты с кольцами, звёзды разных классов и в центре — чёрная дыра с аккреционным диском, как в «Интерстелларе».У меня есть небольшая аркада-раннер про полёт сквозь космос. Фон там — не картинка, а процедурная сцена, которую целиком рисует фрагментный шейдер: каждый пиксель экрана вычисляется математикой из шума. Сначала всё это жило на SpriteKit, а потом я переписал на Metal — и вот тут началось самое интересное, потому что красивая сцена на десктопе и та же сцена на телефоне — это две очень разные истории.Расскаж


Мобильная разработка #1
9 июн., 06:42
Александр Евтухов, Максим Вакула — Одна билд-система, чтоб править всемиВсе iOS-разработчики привязаны к определенным системам сборки. Например, Tuist или CocoaPods. Когда на рынке появляется новое решение, мы не можем быстро взять и проверить, как оно работает, поскольку наш проект жестко описан и привязан к конкретной системе сборки.В докладе спикеры разобрали, как перестать полностью фиксировать описание проекта в файлах и как написать абстрактную билд-систему, которая реализует кеширование. К этой билд-системе можно подключать что угодно для сборки вашего проекта: тот же Tuist или Bazel.источник#ios👉 @developer_mobila
Мобильная разработка #1
1 июн., 08:00
Запретная сторона Swift, которую мы, как правило, вообще не видимЯ пишу код на Swift ежедневно уже почти 10 лет. Синдром самозванца меня не пугает. Я всё повидал.Но иногда… не знаю.Может быть, я делаю опечатку в Xcode, которая вытаскивает из Марианской впадины автозаполнения забытых существ. Может быть, я покупаю шимпанзе в даркнете и случайно натыкаюсь на пост в блоге с архаичным синтаксисом.Сегодня мы откопаем кое-что из того, что Apple хранит в шкафу под лестницей. Мы выясним, есть ли у этих ключевых слов и функций какое-либо реальное применение, и прольем на них немного света.https://apptractor.ru/info/articles/zapretnaya-storona-swift-kotoruyu-my-kak-pravilo-voobsche-ne-vidim.html#ios👉 @developer_mobila


Мобильная разработка #1
31 мая, 06:56
🚀 Подборка полезных 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++ разработчикаMAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Мобильная разработка #1
28 мая, 06:53
Наиболее распространенные узкие места в производительности Android-приложенийЯ пришел к выводу: большинство проблем с производительностью вызваны не аппаратными ограничениями. Они возникают из-за недостатков в логике и архитектуре, которые заставляют систему достигать этих пределов.В течение последних шести месяцев большая часть моей работы была сосредоточена на улучшении производительности и стабильности в большом устаревшем коде. И я пришел к выводу: большинство проблем с производительностью вызваны не аппаратными ограничениями. Они возникают из-за недостатков в логике и архитектуре, которые заставляют систему достигать этих пределов.И чаще всего дело не в архитектуре, которая просто устарела по мере развития продукта. Дело в архитектуре, которая была исправлена, расширена и перестроена несколькими поколениями разработчиков — каждое из которых добавляло обходные пути, упускало


Мобильная разработка #1
21 мая, 05:04
Maestro — автоматизация тестирования мобильного пользовательского интерфейсаПочему Maestro? Maestro создан на основе опыта своих предшественников (Appium, Espresso, UIAutomator, XCTest).Встроенная устойчивость к нестабильности. Элементы пользовательского интерфейса не всегда будут находиться там, где вы их ожидаете, касание экрана не всегда будет проходить и т.д. Maestro принимает нестабильность мобильных приложений и устройств и пытается противостоять ей.Встроенная устойчивость к задержкам. Нет необходимости перегружать ваши тесты вызовами sleep(). Maestro знает, что загрузка контента может занять время (т.е. по сети), и автоматически ждет его (но не дольше, чем требуется).Сверхбыстрая итерация. Тесты интерпретируются, не нужно ничего компилировать. Maestro способен непрерывно отслеживать ваши тестовые файлы и повторно запускать их по мере изменения.Декларативный, но мощный
Мобильная разработка #1
8 мая, 06:57
Осваиваем множества в 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
Мобильная разработка #1
3 мая, 18:20
🚀 Подборка полезных 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) разработчикаMAXСистемный Администратор | Sysadmin Windows & Linux Server. …Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Мобильная разработка #1
30 апр., 14:05
Как растёт мобильный рекламный инвентарь в РСЯ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


Мобильная разработка #1
29 апр., 11:52
Лаборатория в смартфоне: изучаем эффект Доплера на палочках в AndroidВ этой статье мы познакомимся с эффектом Доплера, но не так, как об этом рассказывается в школьном учебнике физики, а посредством своих любопытных глазок и ушек. Поможет нам в этом специально разработанное мной приложение для Андроид-смартфона.https://habr.com/ru/articles/920738/#Android👉 @developer_mobila
Мобильная разработка #1
23 апр., 09:09
Android-разработчики, держите полезный кейс про сериализацию, на котором легко поймать неочевидный краш.В Альфа-Банке разобрали ситуацию, когда payload: Any в модели экрана объявлен как Serializable, а внутри в какой-то момент прилетает Intent. Итог - падение с NotSerializableException, потому что Intent поддерживает Parcelable, но не Serializable.Что предлагают: • хранить рядом с объектом маркер типа сериализации; • при записи в Parcel динамически выбирать Parcelable или Serializable; • при чтении восстанавливать объект через соответствующий механизм.Самое интересное - проблема не только в выборе способа сериализации, но и в classLoader. Если читать обобщённый Parcelable “в лоб”, можно уехать в BootClassLoader, где нет классов приложения, и десериализация сломается. Решение - в таких местах использовать contextClassLoader приложения. То же касается и Serializable.Полезный


Мобильная разработка #1
18 апр., 09:57изменён
🚀 Подборка полезных 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) разработчикаMAXBash Советы - Bash Scripting | Linux Terminal & Shell. Скри…Укроти командную строку. Пишем эффективные Bash-скрипты для сервера и десктопа. Магия текстовой обработки: Grep, Sed, Awk и регулярные выражения (Regex). Настр…
Мобильная разработка #1
18 апр., 09:11
🪦 Кладбище «Hello World»: Почему вы не дописываете свои проекты?У каждого из нас есть папка Dev/Projects, где лежат десятки папок: MySuperApp, NewBankApp, FitnessTracker_v2. Внутри - пара сверстанных экранов и пустой репозиторий.Почему мы бросаем идеи на полпути? Потому что относимся к пет-проекту как к работе, а не как к продукту.Типичный цикл провала: 1. Загорелся идеей. 2. Решил использовать все самые новые и сложные технологии сразу (просто чтобы выучить). 3. Потратил 2 недели на настройку архитектуры и DI. 4. Устал, стало скучно, забросил.🚀 Как попасть в 5% разработчиков, которые доводят проект до Стора:1. Принцип MVP (Minimal Viable Product): Ваше приложение должно решать ОДНУ задачу. Сделайте её за выходные. Не нужно делать «соцсеть для любителей кактусов» с чатами, видеозвонками и ИИ. Сделайте ленту с фото кактусов. Всё.2. Выбирайте ОДНУ новую технологию: Если вы


Мобильная разработка #1
13 апр., 08:02
Что ЯНДЕКС ЖДЁТ от СТАЖЁРОВ? Разбор заданияПроверяются не только технические навыки, но и способность: • анализировать чужой код • аргументировать решения • четко выражать мысли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. Инкапсуляция / privateYouTubeЧто ЯНДЕКС ЖДЁТ от СТАЖЁРОВ? Разбор заданияДжунов почти не берут, приходится пробиваться через стажировки. Стажировка в Яндекс - тот же жесткий отбор, просто под другим названием. В видео разбор реального задания из Яндекса "Найди и исправь ошибки в коде". Проверяются не только технические навыки…
Мобильная разработка #1
6 апр., 14:51
💳 Кредитная карта в коде: Почему за техдолг придется платить с процентами?В начале карьеры кажется: «Главное работает, а код... ну, потом причешу». Вы копипастите кусок из StackOverflow, зашиваете константы прямо в Activity и пропускаете тесты, чтобы успеть к релизу. Поздравляю, вы только что взяли кредит у своего будущего.Технический долг - это цена, которую вы платите за быстрые и некачественные решения.❌ Как это выглядит (Симптомы):1. Страх перемен: Вы боитесь тронуть старый класс DataHelper, потому что всё приложение может развалиться.2. Эффект бабочки: Фиксите баг в одном месте - вылетает два новых в другом.3. Onboarding-катастрофа: Новый разработчик в команде неделю не может понять, как работает экран корзины.📈 Проценты по кредиту: Если долг не отдавать (не рефакторить), «проценты» растут. Скорость разработки падает. То, что раньше занимало 2 часа, теперь занимает

