🆚 Верстать руками или через дизайн-систему
Раньше каждый экран — маленькое произведение искусства (и боли): ручные отступы, кастомные компоненты, всё под себя. Теперь — дизайн-система, токены, готовые UI-киты и чёткий гайд от дизайнера.
Одни говорят: «Система ускоряет и спасает от хаоса».
Другие отвечают: «Креатив умер, теперь мы просто собираем конструктор».
А ты кто?💬
❤️ — Использую дизайн-систему, не хочу страдать
👍 — Верстаю руками, потому что могу
🤝 — Компромисс — система, но с кастомом
🐸 Библиотека мобильного разработчика
#междусобойчик
Раньше каждый экран — маленькое произведение искусства (и боли): ручные отступы, кастомные компоненты, всё под себя. Теперь — дизайн-система, токены, готовые UI-киты и чёткий гайд от дизайнера.
Одни говорят: «Система ускоряет и спасает от хаоса».
Другие отвечают: «Креатив умер, теперь мы просто собираем конструктор».
А ты кто?
❤️ — Использую дизайн-систему, не хочу страдать
👍 — Верстаю руками, потому что могу
🤝 — Компромисс — система, но с кастомом
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝16👍4❤2
Senior iOS Developer — от 400 000 до 600 000 ₽, гибрид (Москва, Санкт-Петербург)
Senior Flutter разработчик — от 260 000 ₽, удалёнка
iOS-разработчик — от 220 000 до 350 000 ₽, удалёнка
Android Developer — от 200 000 до 300 000 ₽, удалёнка
KMP developer — от 450 000 ₽, удалёнка
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🔥 Когда понимаешь SOLID — жизнь становится проще
В октябре действует скидка 40% на все курсы от Proglib Academy, включая интенсив «Архитектуры и шаблоны проектирования»
📘 На интенсиве ты:
— разберёшься, как проектировать приложения, которые не ломаются при каждом изменении;
— освоишь SOLID-принципы, IoC, адаптеры и фабрики;
— научишься строить масштабируемые архитектуры;
— создашь собственную игру «Звёздные войны».
👨💻 Примеры кода на C#, Java, Python, PHP, C++ и JavaScript. Главное — понимать принципы, а не язык.
Преподаватель — Евгений Тюменцев, директор компании HWdTech, разрабатывал многопоточные кроссплатформенные приложения для IBM Watson.
📆 Формат: онлайн, 1 месяц.
📚 9 лекций + 2 бонусных занятия + практика.
Интенсив подойдёт джунам, которые хотят апнуться до мидла, и мидлам, мечтающим о роли архитектора.
👉 Переходи к курсам со скидкой 40%
В октябре действует скидка 40% на все курсы от Proglib Academy, включая интенсив «Архитектуры и шаблоны проектирования»
📘 На интенсиве ты:
— разберёшься, как проектировать приложения, которые не ломаются при каждом изменении;
— освоишь SOLID-принципы, IoC, адаптеры и фабрики;
— научишься строить масштабируемые архитектуры;
— создашь собственную игру «Звёздные войны».
👨💻 Примеры кода на C#, Java, Python, PHP, C++ и JavaScript. Главное — понимать принципы, а не язык.
Преподаватель — Евгений Тюменцев, директор компании HWdTech, разрабатывал многопоточные кроссплатформенные приложения для IBM Watson.
📆 Формат: онлайн, 1 месяц.
📚 9 лекций + 2 бонусных занятия + практика.
Интенсив подойдёт джунам, которые хотят апнуться до мидла, и мидлам, мечтающим о роли архитектора.
👉 Переходи к курсам со скидкой 40%
🧩 Почему Feature-модули не решают проблему масштабирования
Многие команды переходят к модульной архитектуре, надеясь, что разбив проект на feature-модули, они автоматически получат масштабируемость. На практике — чаще наоборот.
⚙️ В чём ошибка
Feature-модули решают структурную, а не архитектурную проблему.
Да, они:
• уменьшают время сборки,
• изолируют зависимости,
• упрощают навигацию по проекту.
Но если в каждом модуле копируется один и тот же UI-state, бизнес-логика и сетевой слой — ты не масштабируешь архитектуру, ты масштабируешь хаос.
🧠 Что действительно масштабируется
Масштабируется только архитектурная консистентность:
• единые контракты между слоями,
• повторно используемые базовые интерфейсы (например, для state-management или DI),
• стандартизированный подход к навигации и фичам.
Feature-модуль должен быть потребителем архитектурных решений, а не их источником.
✅ Практическая мысль
Прежде чем делить монолит на 20 модулей, ответь себе:
Без этого модульность превращается в распыление ответственности, а не в масштабирование.
А как у вас реализована модульность в проекте?💬
🐸 Библиотека мобильного разработчика
#АрхитектурныйКод #SeniorView
Многие команды переходят к модульной архитектуре, надеясь, что разбив проект на feature-модули, они автоматически получат масштабируемость. На практике — чаще наоборот.
Feature-модули решают структурную, а не архитектурную проблему.
Да, они:
• уменьшают время сборки,
• изолируют зависимости,
• упрощают навигацию по проекту.
Но если в каждом модуле копируется один и тот же UI-state, бизнес-логика и сетевой слой — ты не масштабируешь архитектуру, ты масштабируешь хаос.
Масштабируется только архитектурная консистентность:
• единые контракты между слоями,
• повторно используемые базовые интерфейсы (например, для state-management или DI),
• стандартизированный подход к навигации и фичам.
Feature-модуль должен быть потребителем архитектурных решений, а не их источником.
Прежде чем делить монолит на 20 модулей, ответь себе:
Есть ли у нас устойчивая архитектурная основа, которую эти модули смогут разделять?
Без этого модульность превращается в распыление ответственности, а не в масштабирование.
А как у вас реализована модульность в проекте?
#АрхитектурныйКод #SeniorView
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
adb shell input keyevent – управление устройством с помощью системных событийОтправляйте системные события на Android-устройство через ADB – имитируйте нажатия аппаратных кнопок, жесты и другие действия без физического доступа к устройству.
# Базовые кнопки
adb shell input keyevent 3 # HOME
adb shell input keyevent 4 # BACK
adb shell input keyevent 26 # POWER (вкл/выкл)
adb shell input keyevent 24 # VOLUME_UP
adb shell input keyevent 25 # VOLUME_DOWN
# Медиа и специальные
adb shell input keyevent 85 # PLAY/PAUSE
adb shell input keyevent 86 # STOP
adb shell input keyevent 87 # NEXT
adb shell input keyevent 88 # PREVIOUS
adb shell input keyevent 164 # MUTE
1. Автоматизация тестов:
# Сценарий: открыть приложение, сделать действия, вернуться домой
adb shell am start -n com.yourapp/.MainActivity
sleep 2
adb shell input keyevent 4 # BACK
adb shell input keyevent 3 # HOME
2. Тестирование обработки прерываний:
# Во время работы приложения
adb shell input keyevent 26 # POWER (блокировка)
sleep 2
adb shell input keyevent 26 # POWER (разблокировка)
3. Управление медиа в фоне:
adb shell input keyevent 85 # PLAY/PAUSE музыки
Скриншот через комбинацию:
adb shell input keyevent 120 # SYSRQ (скриншот)
Перезагрузка устройства:
adb shell input keyevent 116 # POWER + перезагрузка через меню
Какие keyevent вы используете чаще всего?
Библиотека мобильного разработчика
#буст #MiddlePath #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Если ты еще не почувствовал, как изменился IT-рынок, то скоро почувствуешь на своей шкуре. Вакансий стало в разы меньше, требования выросли до небес, а конкуренция превратилась в кровавую баню. Рассказываем, как лихорадит рынок труда в IT.
#MadeInProglib
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱6❤2
Пора узнать, на чём живёт Android Studio и Xcode в 2025.
Расскажите в комментариях, какой у вас ноутбук или ПК:
Интересно, сколько у нас счастливчиков с M-чипами и кто до сих пор держится на стареньком i5
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
PostgresNIO — неблокирующий event-driven клиент Swift для PostgreSQL, построенный на SwiftNIO.
Фичи:
#буст #iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💥 Октябрь — месяц апгрейда!
До конца этого месяца действует скидка 40% на все курсы Proglib Academy(кроме AI-агентов, ML для старта и математики) .
Под акцию попал и наш хит — курс «Алгоритмы и структуры данных».
👨💻 Он подойдёт джунам, мидлам и всем, кто хочет писать код осознанно, а не наугад.
👨🏫 Преподаватели — инженеры из Яндекса и ВШЭ.
🎓 Сертификат по итогам обучения — в портфолио.
➖ 47 видеоуроков и 150 практических задач;
➖ поддержка преподавателей и чат;
➖ доступ к материалам на 12 месяцев.
Полная программа курса тут 👈
👉 Остальные курсы
До конца этого месяца действует скидка 40% на все курсы Proglib Academy
Под акцию попал и наш хит — курс «Алгоритмы и структуры данных».
👨💻 Он подойдёт джунам, мидлам и всем, кто хочет писать код осознанно, а не наугад.
👨🏫 Преподаватели — инженеры из Яндекса и ВШЭ.
🎓 Сертификат по итогам обучения — в портфолио.
➖ 47 видеоуроков и 150 практических задач;
➖ поддержка преподавателей и чат;
➖ доступ к материалам на 12 месяцев.
Полная программа курса тут 👈
👉 Остальные курсы
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
В чем основная ошибка и почему UI может не обновляться?
Anonymous Quiz
47%
Изменение @Published свойства не в главном потоке
5%
Weak self в Task не используется
14%
@StateObject создается внутри View
4%
Отсутствует обработка ошибок
30%
Посмотреть ответ
👍2
Добавление кастомных изображений в ваше приложение может значительно улучшить и персонализировать пользовательский опыт, а также повысить вовлеченность пользователей.
В этой статье рассматриваются две новые возможности генерации изображений с помощью Firebase AI Logic: специализированные функции редактирования Imagen, которые в настоящее время находятся в стадии предварительной версии, и общедоступный Gemini 2.5 Flash Image (также известный как «Nano Banana»), предназначенный для создания контекстных или диалоговых изображений.
#свежак #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Приходилось ли когда-нибудь развивать библиотечный проект и публиковать из него артефакты? Команде Александра пришлось, когда появилась своя дизайн-система и разные переиспользуемые части приложения. Поначалу все были довольны, но со временем оказалось, что довольно трудно следить за тем, чтобы не сломать неаккуратными изменениями другие проекты.
В конце концов, им надоело бороться с ломающими изменениями вручную и захотелось немного магии: чтобы версии сами поднимались, да еще и показывали, сломали мы что-то или нет.
Александр рассказал о том, как научить Gradle анализировать изменения в API и автоматически поднимать версии артефактов с соблюдением семантического версионирования. Заодно он показал некоторые приемам в Gradle, которые помогут писать плагины.
Доклад будет полезен и тем, кто разрабатывает библиотеки и хочет реализовать аналогичное решение, и тем, кому интересно поучиться писать Gradle-плагины.
#буст #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7😢3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Что выведет код?
Anonymous Quiz
56%
Result: 11 Cache value: 7
8%
Result: 10 Cache value: 7
19%
Result: 11 Cache value: 8
17%
Ошибка компиляции
❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Представь: ты опытный разработчик, знаешь стек как свои пять пальцев. Отправляешь резюме — а в ответ тишина. Проблема не в тебе — просто ATS не увидела нужные ключевые слова или не смогла распарсить твое красивое резюме с инфографикой.
Рассказываем, как устроены эти системы, какие из них используют российские и зарубежные IT-компании, и главное — как адаптировать резюме, чтобы робот тебя пропустил.
#MadeInProglib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
if age >= 18 {
driveCar()
} else {
doNotDrive()
}Этот код хорошо работает - но можете ли вы предложить небольшое улучшение рефакторинга, чтобы сделать его еще лучше?
age >= 18 ? driveCar() : doNotDrive()
#буст #JuniorKit #Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱6❤2😢2🤔1
Приготовили для вас дайджест по актуальному из мира iOS, Android.
Знакома ситуация, когда кнопка не работает, приложение виснет, анимации тормозят, но при этом нет никаких ошибок на экране? Можно часами играть в детектива, гадая по UI и строя догадки, что пошло не так. А можно за несколько минут найти настоящего преступника — ведь iOS щедро оставляет улики в виде логов. Нужно лишь знать, где их искать. Секрет — в грамотном выборе способа, как собрать доказательства.
Эффекты глитча (глюка, сбоя) — неотъемлемая часть научно-фантастических фильмов и киберпанк-игр. В этой статье мы увидим, как легко реализовать этот эффект в Jetpack Compose.
Когда пользователь открывает приложение, нажимает на кнопку — и ничего не происходит несколько секунд, Android начинает считать, что “приложение не отвечает”. Через 5 секунд на главном потоке система показывает диалог: “Приложение не отвечает. Закрыть?” Это и есть ANR (Application Not Responding).
Это плановый, «прикладной» апдейт, который делает анализатор умнее, CLI — ощутимо быстрее, pub — точнее в разрешении зависимостей, а также приносит официальный MCP-сервер для интеграции Dart/Flutter с ИИ-ассистентами. В статье — только существенное, с примерами и пошаговыми рекомендациями
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2