#полезное
👍 Autofill в Compose 1.8.0
Несмотря на то что поддержка автозаполнения вышла еще 2021 году, API докрутили только сейчас. Поддержка самой кнопки
👉 Новости 👉 База вопросов
Несмотря на то что поддержка автозаполнения вышла еще 2021 году, API докрутили только сейчас. Поддержка самой кнопки
Autofill теперь идет из коробки, а новое API позволяет спарсить значение даже внутрь Switch:var firstLetterE by remember { mutableStateOf(false) }
Switch(
modifier = Modifier.semantics {
contentType = ContentType.EmailAddress
// We need to declare a data type explicitly since this isn't a TextField
contentDataType = ContentDataType.Text
onAutofillText { text ->
firstLetterE = text.startsWith("E", ignoreCase = true)
true
}
},
checked = firstLetterE,
onCheckedChange = { firstLetterE = it },
)Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#Собес #docker
🤔 Поддерживает ли Docker IРV6?
Да, Docker поддерживает IPv6, но только на Linux-серверах. Чтобы включить поддержку IPvб, необходимо настроить Docker daemon, изменив параметр
👉 Новости 👉 База вопросов
Да, Docker поддерживает IPv6, но только на Linux-серверах. Чтобы включить поддержку IPvб, необходимо настроить Docker daemon, изменив параметр
ipv6 в конфигурационном файле /etc/docker/daemon. json .Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥺 Как-то мы упустили этот весь тренд с AI и вайбкодингом. Но вот и до Android Studio добралась возможность повайбкодить. Agent-mode в Gemini.
Не что-то прорывное, но раньше нужно было переключаться меж IDE или использовать Junie, а теперь решение из коробки!
👉 Новости 👉 База вопросов
Не что-то прорывное, но раньше нужно было переключаться меж IDE или использовать Junie, а теперь решение из коробки!
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Agent Mode | Android Studio | Android Developers
Learn about AI-assisted coding features powered by Gemini.
❤1
#полезное
😬 Кейс, который стоит посмотреть, если вы тоже сейчас переделываете интерфейс
За последние полгода в «Лиге Ставок» перезапустили мобильное приложение — и не просто перекрасили кнопки, а копнули глубже. Что они поменяли — и почему это может быть полезно тем, кто сейчас сам ковыряется в интерфейсе:
🟠 Навигация: верхняя и нижняя панели адаптивные — скрываются при скролле, освобождая экран под контент. Фильтры переместили вниз — это удобнее, особенно для одной руки.
🟠 Приоритеты на экране: коэффициенты — в центре. Всё остальное — вторично. Простой ход, но UX сразу становится честнее.
🟠 Раздел «Мои пари»: раньше был набор экранов, теперь они собрали всё на одном. Плюс: добавили раздел с личной аналитикой по ставкам.
🟠 Никаких лишних «фишек»: меню прячется, интерфейс дышит, всё держится на логике, а не на визуальных «трендах».
Неплохая попытка решить реальные боли пользователей. Если у вас впереди редизайн — полезно посмотреть, как они перепридумали своё приложение.
👉 Новости 👉 База вопросов
За последние полгода в «Лиге Ставок» перезапустили мобильное приложение — и не просто перекрасили кнопки, а копнули глубже. Что они поменяли — и почему это может быть полезно тем, кто сейчас сам ковыряется в интерфейсе:
Неплохая попытка решить реальные боли пользователей. Если у вас впереди редизайн — полезно посмотреть, как они перепридумали своё приложение.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😐 MVC vs MVP vs MVVM vs VIPER. Что лучше для мобильной разработки?
Точно так же, как у каждого дома есть прочный фундамент, у каждого программного проекта есть архитектура, на которой он построен, и у каждого проекта есть своя структура приложения.
Типы архитектурных шаблонов могут быть разными, но есть 4 наиболее часто используемых шаблона, которые весь IT-мир постоянно критикует, но в то же время продолжает использовать: MVC, MVP, MVVM и Viper.
👉 Новости 👉 База вопросов
Точно так же, как у каждого дома есть прочный фундамент, у каждого программного проекта есть архитектура, на которой он построен, и у каждого проекта есть своя структура приложения.
Типы архитектурных шаблонов могут быть разными, но есть 4 наиболее часто используемых шаблона, которые весь IT-мир постоянно критикует, но в то же время продолжает использовать: MVC, MVP, MVVM и Viper.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #docker
🤔 Как использовать Docker для множества окружений приложений?
Для работы с несколькими окружениями в Docker используется Docker Compose. Создаются отдельные файлы
👉 Новости 👉 База вопросов
Для работы с несколькими окружениями в Docker используется Docker Compose. Создаются отдельные файлы
docker-compose для каждой среды (например, docker-compose.dev.yml ), и на основе этих файлов запускаются соответствующие окружения с нужными настройками.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
👋 Gitnuro — кроссплатформенный Git-клиент без подписок и слежки. Этот полностью открытый клиент на Kotlin предлагает альтернативу тяжеловесным решениям вроде GitKraken или SourceTree.
В отличие от веб-ориентированных аналогов, он работает нативно на Linux, Windows и macOS, при этом не требуя активаций или подписок. Особенность проекта в поддержке сложных операций через минималистичный интерфейс.
Гитхаб
👉 Новости 👉 База вопросов
В отличие от веб-ориентированных аналогов, он работает нативно на Linux, Windows и macOS, при этом не требуя активаций или подписок. Особенность проекта в поддержке сложных операций через минималистичный интерфейс.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👨💻 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
Гитхаб
👉 Новости 👉 База вопросов
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
runApp и описать роуты. Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #docker
🤔 Чем отличается логирование контейнера от логирования демона?
Логирование на уровне демона касается самого процесса работы Docker (системных сообщений и ошибок), в то время как логирование контейнера фокусируется на выводе, генерируемом внутри конкретных контейнеров. Логи демона содержат информацию о работе Docker, а логи контейнера - данные, связанные с выполнением приложений в контейнерах.
👉 Новости 👉 База вопросов
Логирование на уровне демона касается самого процесса работы Docker (системных сообщений и ошибок), в то время как логирование контейнера фокусируется на выводе, генерируемом внутри конкретных контейнеров. Логи демона содержат информацию о работе Docker, а логи контейнера - данные, связанные с выполнением приложений в контейнерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😎 Feeder — приватный RSS-ридер для Android без синхронизации. Этот open-source инструмент работает полностью локально на устройстве, не отправляя ваши подписки и историю чтения на сторонние серверы.
Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
Гитхаб
👉 Новости 👉 База вопросов
Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😱 Android Showcase 2.0 — проект для изучения современных подходов в Android-разработке. Этот open-source репозиторий демонстрирует полный цикл создания приложения: от модульной архитектуры и работы с API до тестирования и CI/CD.
Проект построен на Kotlin с использованием Jetpack Compose, Clean Architecture и популярных библиотек. Особое внимание уделено тестированию — доступны примеры unit-тестов, проверки кодстайла и даже архитектурных правил через Konsist.
Для разработчиков это отличная возможность изучить:
🟠 Организацию feature-модулей
🟠 Работу с Kotlin Flow и корутинами
🟠 Настройку GitHub Actions
🟠 Динамические темы
Гитхаб
👉 Новости 👉 База вопросов
Проект построен на Kotlin с использованием Jetpack Compose, Clean Architecture и популярных библиотек. Особое внимание уделено тестированию — доступны примеры unit-тестов, проверки кодстайла и даже архитектурных правил через Konsist.
Для разработчиков это отличная возможность изучить:
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
💅2❤1🔥1
#полезное
😵💫 lets-plot — мультиплатформенная библиотека для построения графиков и диаграмм, написанная на Kotlin и Python
—
Графики, созданные с помощью lets-plot можно встраивать в JVM (Swing, JavaFX) и Kotlin/JS-приложения.
Гитхаб
👉 Новости 👉 База вопросов
—
pip install lets-plotГрафики, созданные с помощью lets-plot можно встраивать в JVM (Swing, JavaFX) и Kotlin/JS-приложения.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #docker
🤔 Есть ли ограничения на количество контейнеров, которые можно запустить в Docker?
B Docker нет явного ограничения на количество контейнеров. Ограничения зависят от аппаратных ресурсов, таких как обьем памяти и количество процессорных ядер.
👉 Новости 👉 База вопросов
B Docker нет явного ограничения на количество контейнеров. Ограничения зависят от аппаратных ресурсов, таких как обьем памяти и количество процессорных ядер.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
👨💻 github-workflows-kt — инструмент на Kotlin для создания рабочих процессов GitHub Actions
github-workflows-kt поможет писать типобезопасный код на Kotlin для организации надежных рабочих процессов, планирования GitHub Actions и т.д.
Гитхаб
Доки
👉 Новости 👉 База вопросов
github-workflows-kt поможет писать типобезопасный код на Kotlin для организации надежных рабочих процессов, планирования GitHub Actions и т.д.
Гитхаб
Доки
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Chucker — удобный инструмент для отладки сетевых запросов в Android-приложениях. Этот форк проекта Chuck работает как перехватчик OkHttp, фиксируя все HTTP-взаимодействия и предоставляя понятный интерфейс для их анализа.
Инструмент имеет встроенный UI с возможностью просмотра заголовков, тел запросов/ответов и даже изображений. Для релизных сборок есть no-op версия, которая полностью исключает его из конечного APK. Также проект поддерживает кастомизацию: можно скрывать чувствительные данные в заголовках, настраивать период хранения логов и добавлять декодеры для бинарных форматов.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент имеет встроенный UI с возможностью просмотра заголовков, тел запросов/ответов и даже изображений. Для релизных сборок есть no-op версия, которая полностью исключает его из конечного APK. Также проект поддерживает кастомизацию: можно скрывать чувствительные данные в заголовках, настраивать период хранения логов и добавлять декодеры для бинарных форматов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
Гитхаб
👉 Новости 👉 База вопросов
Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать
runApp и описать роуты. Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #docker
🤔 Что такое Docker Compose?
Docker Compose - это инструмент для управления многоконтейнерными приложениями. С помощью простого YAML-файла (
👉 Новости 👉 База вопросов
Docker Compose - это инструмент для управления многоконтейнерными приложениями. С помощью простого YAML-файла (
docker-compose. yml ) можно настроить и запустить несколько контейнеров, определяя их сервисы, сети и тома.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Как подружить LifecycleOwner и Decompose
Некоторые API в Jetpack библиотеках принимают в качестве параметра LifecycleOwner, например, так сделано в CameraX. Однако если в вашем проекте используется Decompose, и вы используете LocalLifecycleOwner для получения текущего значения в Composable функции, то жизненный цикл будет работать некорректно: он будет соответствовать жизненному циклу Activity или Fragment, так как Decompose нигде не переопределяет этот CompositionLocal и использует собственный жизненный цикл из библиотеки Essenty.
Чтобы исправить эту проблему, необходимо сконвертировать LifecycleOwner из Decompose в его аналог из Jetpack. Однако из коробки пока что такого адаптера нет, и придётся написать его самостоятельно, по аналогии с конвертацией ЖЦ в Essenty.
В версии Decompose 3.4.0 эта проблема будет решаться проще: появится JetpackComponentContext, как отдельная зависимость, и можно будет сразу получить нужный lifecycle прямо из компонента.
Поэтому будьте внимательны при использовании CompositionLocal для работы с жизненным циклом, если навигация в проекте построена на Decompose.
👉 Новости 👉 База вопросов
Некоторые API в Jetpack библиотеках принимают в качестве параметра LifecycleOwner, например, так сделано в CameraX. Однако если в вашем проекте используется Decompose, и вы используете LocalLifecycleOwner для получения текущего значения в Composable функции, то жизненный цикл будет работать некорректно: он будет соответствовать жизненному циклу Activity или Fragment, так как Decompose нигде не переопределяет этот CompositionLocal и использует собственный жизненный цикл из библиотеки Essenty.
Чтобы исправить эту проблему, необходимо сконвертировать LifecycleOwner из Decompose в его аналог из Jetpack. Однако из коробки пока что такого адаптера нет, и придётся написать его самостоятельно, по аналогии с конвертацией ЖЦ в Essenty.
В версии Decompose 3.4.0 эта проблема будет решаться проще: появится JetpackComponentContext, как отдельная зависимость, и можно будет сразу получить нужный lifecycle прямо из компонента.
Поэтому будьте внимательны при использовании CompositionLocal для работы с жизненным циклом, если навигация в проекте построена на Decompose.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1