🤯 Знаете ли вы, что стандартная настройка ProGuard/R8 сделана для уменьшения размера сборки, а не защите приложения от реверс инжениринга?
🙏 Буду очень благодарен если зайдёте и поддержите голосом мою статью!
#AndroidBroadcast #proguard #r8 #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍48❤8🔥5🤯1
🤯 Вышел Retrofit 3.0, который полностью переписали на Kotlin и перешли на OkHttp 4.12, который тоже полностью на Kotlin
🔥83🤯36👍5
🎉 Вышел Retrofit 2.12.0 в котором улучшили производительность отправки запросов
Теперь стандартные конвертеры (Gson, Jackson, Moshi, Protobuf) поддерживают “отложенную” сериализацию через новый метод withStreaming().
Это значит, что сериализация тела запроса может происходить не при создании HTTP-запроса, а в момент его выполнения (например, в фоне при использовании
В итоге: меньше нагрузка на основной поток и улучшение производительности при отправке больших или тяжёлых объектов.
Теперь стандартные конвертеры (Gson, Jackson, Moshi, Protobuf) поддерживают “отложенную” сериализацию через новый метод withStreaming().
Это значит, что сериализация тела запроса может происходить не при создании HTTP-запроса, а в момент его выполнения (например, в фоне при использовании
Call.enqueue
).В итоге: меньше нагрузка на основной поток и улучшение производительности при отправке больших или тяжёлых объектов.
🔥57👍10❤1
Forwarded from Compose Broadcast
Не стоит заниматься преждевременной оптимизацией. Пишите UI без оглядки на аннотации стабильности, а затем используйте инструменты анализа, чтобы определить, где действительно возникают лишние рекомпозиции и есть смысл оптимизировать типы.
Как анализировать рекомпозиции и пропуски?
👉 Используйте Layout Inspector в Android Studio (подробнее — в этом посте)
👉 Включайте отслеживание работы composable-функций в System Trace
👉 Можно воспользоваться библиотекой Compose Investigator, чтобы получать детальные логи по рекомпозициям
Если вы используете типы из внешних библиотек или из модулей, где не подключён Compose Compiler, такие типы всегда считаются Unstable. Это может приводить к лишним рекомпозициям.
🚀 Strong Skipping Mode действительно упростил жизнь разработчикам, но старайтесь передавать в параметры Сomposable-функций только Stable или Immutable типы. Это позволит максимально эффективно использовать skipping и сделать UI более производительным.
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5
🤯 Navigation Drawer становится Deprecated
В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна
#ui #material #material3 #material3expressive
В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна
#ui #material #material3 #material3expressive
🤯64🔥28👍16🤔11
Codex — это облачный агент, встроенный в ChatGPT, который помогает писать код, находить и исправлять баги, запускать тесты и даже предлагать pull request’ы. Он работает в изолированной среде, предварительно загруженной вашим репозиторием, и может выполнять задачи параллельно.
🔧 Как подключить Codex в IDE?
На данный момент Codex интегрирован в ChatGPT и доступен подписчикам Pro, Team и Enterprise. Для использования в IDE можно воспользоваться следующими способами:
1. GitHub Copilot: Интегрируется с VS Code, JetBrains и другими IDE. Copilot использует модели OpenAI для автодополнения кода.
2. Codex CLI: Лёгкий агент, работающий в терминале. Устанавливается через npm и позволяет взаимодействовать с кодом напрямую из командной строки.
🧪 Как попробовать Codex?
Если вы подписаны на ChatGPT Pro, Team или Enterprise, Codex уже доступен вам через боковую панель в ChatGPT. Просто введите запрос и нажмите “Code” для генерации кода или “Ask” для вопросов о вашем коде. Позже обещают в подписку Plus и Edu
#AndroidDev #OpenAI #Codex #AI #Разработка #ChatGPT
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤯4❤1🤔1
🤔 AI-агенты и AI-модели — в чём разница?
Разработчики часто путают понятия «AI-модель» и «AI-агент». Давайте разберёмся, в чём их отличия.
🧠 AI-модель:
👉 Это алгоритм, обученный на больших объёмах данных.
👉 Выполняет конкретную задачу: генерация текста, кода, изображений, классификация и т.д.
Пример: GPT-4 — генерирует текст по вашему запросу, но не выходит за рамки поставленной задачи.
🦾 AI-агент:
👉 Это система, использующая одну или несколько AI-моделей для самостоятельного выполнения задач.
👉 Умеет планировать, принимать решения и использовать различные инструменты и ресурсы.
👉 Может взаимодействовать с внешней средой (интернет, API, файлы) и адаптироваться к изменениям.
Пример: AutoGPT, OpenAI Codex Agent — берут запрос и сами выбирают нужную модель и инструменты, чтобы решить задачу полностью.
📌 Простой пример отличий:
👉 AI-модель: «Создай функцию для сортировки массива» → выдаёт код.
👉 AI-агент: «Сделай приложение для заметок» → сам пишет код, проверяет его работу, загружает приложение и демонстрирует готовый результат.
Таким образом, AI-агенты — это следующий шаг, объединяющий модели и инструменты для автономного выполнения комплексных задач.
#ai #ии
Разработчики часто путают понятия «AI-модель» и «AI-агент». Давайте разберёмся, в чём их отличия.
🧠 AI-модель:
👉 Это алгоритм, обученный на больших объёмах данных.
👉 Выполняет конкретную задачу: генерация текста, кода, изображений, классификация и т.д.
Пример: GPT-4 — генерирует текст по вашему запросу, но не выходит за рамки поставленной задачи.
🦾 AI-агент:
👉 Это система, использующая одну или несколько AI-моделей для самостоятельного выполнения задач.
👉 Умеет планировать, принимать решения и использовать различные инструменты и ресурсы.
👉 Может взаимодействовать с внешней средой (интернет, API, файлы) и адаптироваться к изменениям.
Пример: AutoGPT, OpenAI Codex Agent — берут запрос и сами выбирают нужную модель и инструменты, чтобы решить задачу полностью.
📌 Простой пример отличий:
👉 AI-модель: «Создай функцию для сортировки массива» → выдаёт код.
👉 AI-агент: «Сделай приложение для заметок» → сам пишет код, проверяет его работу, загружает приложение и демонстрирует готовый результат.
Таким образом, AI-агенты — это следующий шаг, объединяющий модели и инструменты для автономного выполнения комплексных задач.
#ai #ии
👍19🤔3
This media is not supported in your browser
VIEW IN TELEGRAM
Пример реализации (EN,10м) работы с Passkey в Android приложении
Используется Jetpack Credential Manager для работы с passkey
🐱 Исходный код Android приложения
🐱 Исходный код сервера на NodeJS
🔗 Альтернативная ссылка
#android #безопасность #passkey
Passkey — это новый стандарт авторизации без пароля, который заменяет привычные пароли криптографическими ключами, хранящимися на устройстве. Работает через биометрию или PIN-код, улучшает безопасность и удобство входа в приложения и сайты.
Используется Jetpack Credential Manager для работы с passkey
🔗 Альтернативная ссылка
#android #безопасность #passkey
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤1
В вашем проекте уделяется внимание оптимизации производительности: скорость работы, расход памяти, отзывчивость UI и пр? Делитесь в комментариях своим мнением почему это важно или нет
Anonymous Poll
29%
Да, на регулярной основе
46%
Только когда появляются массовые жалобы
16%
Нет
1%
Другой вариант
9%
Не участвую в опросе
👍7❤1
Преждевременная оптимизация - зло, но стоит заниматься мониторингом качества работы приложения и настроить минимальный набор инструментов для мониторинга:
👉 LeakCanary - отслеживание утечек памяти в Android приложениях
👉 Android Performance Monitor - находит блокировки UI потока в Android приложениях
👉 ANR-WatchDog - отслеживание ANR
👉 Grizly - отслеживание ANR и крешей, может работать с Firebase Crashlytics
👉 Android Strict Mode - отслеживание различных нарушений использование API в Android
👉 Fragment Strict Mode - отслеживание неправильного использования Fragment API
👉 Chucker - отслеживание сетевых запрос прямо на устройстве
👉 Firebase Crashlytics и Performance Monitoring - сбор крешей, ANR и метрик производительности
👉 Tracer - инструмент для сборка ошибок, утечек памяти, производительности и информации о состоянии
👉 Android Vitals - сбор крешей, ANR, медленной работы. Не требует подключения и работает для всех приложений, которые публикуются в Google Play
Какие-то из инструментов пересекаются в функционале и вы можете выбрать любой удобный вам
#android #инструменты #производительность
👉 LeakCanary - отслеживание утечек памяти в Android приложениях
👉 Android Performance Monitor - находит блокировки UI потока в Android приложениях
👉 ANR-WatchDog - отслеживание ANR
👉 Grizly - отслеживание ANR и крешей, может работать с Firebase Crashlytics
👉 Android Strict Mode - отслеживание различных нарушений использование API в Android
👉 Fragment Strict Mode - отслеживание неправильного использования Fragment API
👉 Chucker - отслеживание сетевых запрос прямо на устройстве
👉 Firebase Crashlytics и Performance Monitoring - сбор крешей, ANR и метрик производительности
👉 Tracer - инструмент для сборка ошибок, утечек памяти, производительности и информации о состоянии
👉 Android Vitals - сбор крешей, ANR, медленной работы. Не требует подключения и работает для всех приложений, которые публикуются в Google Play
Какие-то из инструментов пересекаются в функционале и вы можете выбрать любой удобный вам
#android #инструменты #производительность
👍61🔥6
Media is too big
VIEW IN TELEGRAM
Уже больше месяца использую Pixel 9 Pro после перехода c 7 Pro. Рассказываю про плюсы, минусы, причины перехода и почему это вышел очень спорный телефон.
#AndroidBroadcast #Boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯16👍8🤔6🔥3❤2🙏1
Caupain - утилита для проверки доступности новых версий библиотек из Gradle Version Catalog (TOML файл). Можно использовать из консоли или подключить как Gradle плагин
Отчет может представить как HTML, Markdown или текстовый вывод в консоле
#gradle #инструменты
Отчет может представить как HTML, Markdown или текстовый вывод в консоле
#gradle #инструменты
🔥41👍8
👍35🔥8🤔8
Когда: 20 мая, 19:55 - 22:30
Сегодня состоится открытие Google I/O 2025, где компания подведет итоги года, расскажет о новинках и будущем. Буду смотреть и комментировать.
Стрим только для платных подписчиков, а это значит что мы ничем не ограничены в общении и оценочных суждениях!
Самые стойкие готовьтесь к продолжению. в 23:30 пройдёт Keynote для разработчиков!
#AndroidBroadcast #googleio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Используете функции require() и check() из Kotlin Standart Library?
Anonymous Poll
46%
Да
35%
Нет
11%
Только видел(а) их в коде
1%
Не пишу на Kotlin
1%
Другой вариант
6%
Не участвую в опросе
👍4