Android разработка
رفتن به کانال در Telegram
все о Android разработке @itchannels_telegram - 🔥 лучшие it каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books
نمایش بیشتر4 895
مشترکین
-224 ساعت
-147 روز
-3030 روز
آرشیو پست ها
4 895
🚀 Spring Boot трюк, который спасает продакшен
Если ваш сервис обращается к внешним API — рано или поздно они начнут падать, тормозить или отдавать ошибки.
Вместо ручной логики повторов используйте @Retryable.
Что это даёт:
- Автоматические повторные запросы при ошибках
- Настраиваемое количество попыток
- Exponential backoff (увеличение задержки между попытками)
- Fallback-логика через
@Recover, если всё окончательно сломалось
Когда это нужно:
- Платёжные шлюзы
- Внешние API
- Микросервисы
- Любые нестабильные сети
Главная идея:
Не падай из-за временных ошибок - попробуй ещё раз.
Такая мелочь может значительно повысить стабильность системы без сложного кода.4 895
🚀 Spring Boot: когда использовать static-классы, а когда Bean
Частая ошибка в Spring - использовать static-утилиты там, где нужен управляемый компонент.
Правило простое
Используйте static-классы только если:
- они не хранят состояние
- у них нет зависимостей
- не требуется mock в тестах
- не нужен AOP (логирование, транзакции и т.д.)
Во всех остальных случаях — лучше Spring Bean.
Почему это важно
Пример с static-кэшем:
public class CacheUtils {
private static Map<String, String> cache = new HashMap<>();
}
Такой кэш:
• общий для всех потоков
• может случайно изменяться
• сложно контролировать и тестировать
нет управления жизненным циклом
Правильный подход — Bean со scope:
@Component
@Scope("request")
public class CacheService {
private Map<String, String> cache = new HashMap<>();
}
Теперь:
Spring управляет жизненным циклом
можно задать scope (request, session, singleton)
легко тестировать и мокать
можно добавить AOP
Главная мысль
Static — только для чистых функций.
Состояние и логика — пусть управляет Spring.
Spring лучше всего работает, когда управляет stateful-объектами.4 895
🚀 CLI для управления iOS и Android устройствами
agent-device — это инструмент командной строки для управления мобильными устройствами, позволяющий AI-агентам взаимодействовать с приложениями на iOS и Android. Проект находится на ранней стадии разработки и открыт для вкладов.
🚀 Основные моменты:
- Поддержка iOS (симулятор) и Android (эмулятор).
- Основные команды: открытие приложений, взаимодействие с элементами интерфейса.
- Минимальные зависимости и работа напрямую с Node.js.
- Возможность создания и управления сессиями.
📌 GitHub: https://github.com/callstackincubator/agent-device
#typescript
4 895
⚡️Spring Boot: отправка email за 5 минут
Если нужно быстро добавить отправку писем в Java-приложение — используйте
spring-boot-starter-mail.
Он уже содержит всю необходимую конфигурацию и зависимости, поэтому не нужно вручную настраивать SMTP-клиенты.
Что нужно сделать:
1. Добавить зависимость
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
Настроить SMTP (например, Gmail)
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=your_email@gmail.com
spring.mail.password=your_app_password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Отправить письмо через JavaMailSender
@Autowired
private JavaMailSender mailSender;
public void sendEmail(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(text);
message.setFrom("your_email@gmail.com");
mailSender.send(message);
}
Когда это полезно:
• регистрация пользователей
• подтверждение email
• уведомления
• отчёты и алерты
Главный плюс - минимум кода и быстрая интеграция. Spring Boot берёт всю сложность настройки на себя.4 895
💡 Java-совет: WeakHashMap для кэша без утечек памяти
Если ты используешь HashMap как кэш - будь осторожен. Пока карта жива, ключи и значения не будут удалены GC, даже если они больше нигде не используются.
WeakHashMap решает эту проблему:
• Ключи хранятся через weak reference
• Если на ключ нет сильных ссылок в коде - GC может его удалить
• Запись автоматически исчезает из мапы
• Отлично подходит для кэшей, метаданных, listener-ов
Пример идеи:
• Положил объект в WeakHashMap
• Убрал на него все обычные ссылки
• GC очистил объект → запись исчезла сама
Когда использовать:
• Кэш, который не должен раздувать память
• Вспомогательные данные, завязанные на жизненный цикл объекта
• Framework-код, плагины, reflection-кэши
Когда не стоит:
• Если ключи должны жить строго контролируемо
• Если логика зависит от стабильного наличия записи
Коротко:
HashMap - контроль у тебя
WeakHashMap — контроль у GC 🧹
Полезный инструмент, если понимаешь его семантику.
4 895
🚀 LiteRT - универсальная основа для AI прямо на устройстве
Google представил LiteRT — новый универсальный фреймворк для on-device AI, который развивается из TensorFlow Lite и становится базой для высокопроизводительного ML и генеративного AI на устройствах.
🔥 Что важно
⚡ До 1.4× быстрее GPU-ускорение
LiteRT показывает прирост производительности на GPU по сравнению с TensorFlow Lite, снижая задержку и улучшая отклик моделей.
🌐 Кроссплатформенность
Работает на Android, iOS, macOS, Windows, Linux и Web. Использует OpenCL, OpenGL, Metal и WebGPU через новый движок.
🤖 Поддержка NPU
Добавлено ускорение на нейропроцессорах с единым API, что упрощает разработку под разные чипы и повышает скорость инференса.
⚙️ Модели из PyTorch и JAX
Есть удобная конвертация моделей, что упрощает перенос современных AI-моделей на устройство.
📦 Open-source
Фреймворк открыт и подходит для продакшена — можно строить реальные on-device AI-приложения.
LiteRT позволяет запускать современные AI и GenAI модели прямо на устройстве — быстрее, с меньшей задержкой и лучшей приватностью, без постоянной зависимости от облака.
https://developers.googleblog.com/litert-the-universal-framework-for-on-device-ai/
4 895
💡 Java совет: избегай шаринга данных между потоками
Одна из главных причин багов в многопоточке - общий изменяемый state (shared mutable state). Чем больше потоков трогают одни и те же объекты - тем выше шанс словить race condition, deadlock или “плавающие” ошибки.
Что делать правильно:
✅ 1) Используй immutable-объекты
Если объект нельзя изменить - потокам нечего “делить”, и синхронизация почти не нужна.
В Java это удобно делать через
record, final поля и неизменяемые коллекции.
✅ 2) Общайся через сообщения, а не через общую память
Вместо того чтобы менять общий объект - передавай события через очередь:
- BlockingQueue
- ConcurrentLinkedQueue
- Actor-style подход
Это снижает связанность и делает поведение системы предсказуемым.
Простой принцип:
Не “разделяй память”, а “разделяй сообщения”.
#Java #SoftwareDevelopment4 895
🚀 Spring Boot: настрой graceful shutdown с таймаутом
Когда сервис перезапускается (deploy / autoscaling / rolling update), без graceful shutdown часть HTTP-запросов может:
- оборваться на полпути
- вернуть 5xx
- прервать фоновые потоки слишком рано
В Spring Boot это решается одной настройкой - задаёшь таймаут на “мягкое” завершение:
✅ сервер перестанет принимать новые запросы
✅ но даст текущим запросам и бинам закончить работу
✅ и только потом завершится
Пример:
server:
shutdown: graceful
spring:
lifecycle:
timeout-per-shutdown-phase: 20s
Идеально для продакшена, особенно если у тебя:
- Kubernetes rolling update
- долгие запросы
- async обработчики / очереди
- фоновые задачи4 895
🖥Awesome-Android-Reverse-Engineering
Подборка лучших материалов и инструментов для реверс-инжиниринга Android.
Что есть:
- 📚 обучение: курсы, видео, книги
- 🛠 инструменты: статический и динамический анализ
- 🔎 декомпиляторы: JADX, Apktool, dex2jar
- 🧪 CTF/CrackMe для практики
- 📘 статьи и ресурсы по безопасности
Зачем:
— всё в одном месте
— удобно для обучения и аудита безопасности
— хорошая база для практики
Полезный старт для разработчиков и security-инженеров.
📌 GitHub: https://github.com/user1342/Awesome-Android-Reverse-Engineering
4 895
⚡️ Docker-Android - запуск Android-эмулятора в Docker-контейнере
Минимальный и настраиваемый Docker-образ с Android-эмулятором, который запускается в контейнере как сервис.
Он особенно полезен для автоматизации, CI/CD и тестирования мобильных приложений, когда нужен работающий эмулятор в изолированной среде без физического устройства.
Это Docker-образ на базе лёгкого Linux, со встроенным Android-эмулятором, поддержкой аппаратной виртуализации (KVM) и Java Runtime. Внутри контейнер поднимает эмулятор, ADB-сервер и инструменты виртуализации. Работа происходит в headless-режиме, то есть без графического интерфейса — удобно для серверов и CI.
Основные возможности:
• минималистичный образ с Android-эмулятором и ADB
• поддержка KVM и аппаратного ускорения
• выбор версии Android и типа образа
• проброс портов для ADB
• работа без GUI
• возможность подключать инструменты удалённого управления экраном
Плюсы:
✔ изолированная, воспроизводимая среда
✔ не нужен GUI
✔ удобно для автоматизации тестов
✔ поддержка аппаратного ускорения
docker-android — это удобный способ запускать Android-эмулятор как сервис внутри контейнера. Он упрощает автоматизацию тестирования и делает окружение предсказуемым и повторяемым.
https://github.com/HQarroum/docker-android
4 895
Локализация в Jetpack Compose
Локализация относится к изменению текста приложения, форматов валют и других визуальных элементов для соответствия локали пользователя на основе его региональных предпочтений.
С введением языковых предпочтений для каждого приложения (Per-app Language Preference) в Android 13 (API уровня 33) управление языками, специфичными для приложений, стало намного проще.
https://blog.kotlin-academy.com/localization-in-jetpack-compose-71b7f7233243
#Android
4 895
Repost from Mobile VK Hub
Конец года, и снова заканчиваются все подписки 😱
Узнали? Согласны? Не беда — мы как раз разыгрываем промокоды на год от Облака Mail и VK Музыки!
Условия участия простые:
🔹 подпишитесь на наш канал @mobilehubvk
🔹нажмите кнопку «Участвовать»
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
Информацию об организаторе, правилах и призах ищите по ссылке.
Удачи!
4 895
🤖 Автоматизация Android с AI: Roubao
Roubao — это открытый AI помощник для автоматизации задач на Android без необходимости подключения к компьютеру. Он использует визуальные языковые модели и работает на нативном Kotlin, позволяя пользователям легко выполнять команды с помощью естественного языка.
🚀 Основные моменты:
- Полностью открытый проект без необходимости в компьютере
- Интуитивно понятный интерфейс с поддержкой нескольких языков
- Поддержка различных AI моделей и API
- Высокая безопасность с шифрованием ключей
- Возможность работы в режиме Root для расширенных функций
📌 GitHub: https://github.com/Turbo1123/roubao
#kotlin
4 895
❤️❤️❤️❤️❤️❤️❤️❤️
Когда гирлянды за монитором, а в терминале — Git Quest 💻
Атмосфера Нового года по-айтишному — это не только кофе и деплой под бой курантов.
Это Новогодний Git Quest от SourceCraft!
🤩 Новогодние задания для тех, кто хочет узнать больше о Git.
🤩 Пасхалки и секретные ветки.
🤩 Соревновательная часть с рейтингом.
🤩 Дополнительные очки за скорость.
С 10 по 30 декабря открываются новые задания каждые два дня — не пропусти! Загляни на сайт, попробуй тренировочное задание и добавь немного Git-магии в свой декабрь.
4 895
🚀 AI Agents for Android Apps
Библиотека для автоматизации работы с нативными Android-приложениями. Идеально подходит для мобильных рабочих процессов в логистике, экономике на заказ и других отраслях, где ноутбук неуместен. Позволяет значительно ускорить выполнение задач и сократить затраты.
🚀 Основные моменты:
- Автоматизация процессов на Android-устройствах
- Снижение затрат на 95% по сравнению с традиционными методами
- Поддержка различных мобильных приложений
- Быстрая реакция — менее 1 секунды на действие
- Идеально для логистики и мобильного обслуживания
📌 GitHub: https://github.com/actionstatelabs/android-action-kernel
4 895
✔️ OpenAI создала Android-версию Sora за 28 дней.
В ноябре 2025 года OpenAI выпустила приложение Sora для Android, пройдя путь от прототипа до глобального релиза всего за 1 месяц. Над проектом работали 4 инженера и ранняя версия GPT-5.1-Codex.
Результаты эксперимента показали новый стандарт эффективности: 85% кода было сгенерировано ИИ, при этом стабильность версии держалась на уровне 99,9%.
В первые сутки Sora для Android возглавило чарты Play Store, а пользователи создали более миллиона видео. В OpenAI отмечают, что ИИ-ассистенты берут на себя рутину, однако архитектурное проектирование и контроль качества по-прежнему требуют участия людей.
openai.com
4 895
ColorTokensKit — мощная система цветовых маркеров
Собственная цветовая система Swift обеспечивает только базовую функциональность для представления цвета. Собственные цвета ограничены RGB и HSL, которые не обеспечивают единообразия восприятия. Это может привести к непоследовательному цветовому восприятию на разных устройствах и в разных средах. Кроме того, собственные цвета изначально не поддерживают доступные коэффициенты контрастности, темный режим или темы, что затрудняет поддержание целостной системы дизайна. ColorTokensKit устраняет эти ограничения, используя цветовую систему LCH, которая обеспечивает более интуитивный и гибкий подход к управлению цветом.
ColorTokensKit — мощная система цветовых маркеров для платформ Apple. ColorTokensKit расширяет возможности Swift, предлагая эргономичный доступ к цветовой системе LCH (Lightness, Chroma, Hue) и тысячам доступных цветов.
Фичи:
Простой в использовании API цветовых маркеров
Предопределенные цветовые палитры LCH
Встроенная поддержка доступных коэффициентов контрастности
Встроенная поддержка темного режима
Встроенная тематика для всех приложений
Легкое преобразование между пространствами RGB/HSL/LCH/LAB/XYZ
Отсутствие зависимостей
https://github.com/metasidd/ColorTokensKit-Swift
#Android
4 895
🔥 Новый курс на Stepik: Linux - апгрейд твоих скиллов до уровня инженера
Хватит быть “кликавшим по GUI”. Пора понимать систему изнутри.
Что освоишь:
• Bash, grep, sed, awk - инструменты взрослых админов
• Процессы, сеть, права, логирование и починка поломок
• SSH, firewall, systemd, cron, автозапуск сервисов
После курса: Linux перестаёт быть загадкой - ты будешь работать с ним уверенно.
30% скидка на 48 часов
👉 Начни учиться на Stepik.
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
