#Собес #docker
🤔 Можно ли потерять данные, если контейнер существует?
Пока контейнер существует, данные не теряются. Потеря данных может произойти только при удалении контейнера, если данные не были сохранены в постоянном хранилище.
👉 Новости 👉 База вопросов
Пока контейнер существует, данные не теряются. Потеря данных может произойти только при удалении контейнера, если данные не были сохранены в постоянном хранилище.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😵💫 Jimmer — революционный ORM для JVM (Java/Kotlin), переосмысливающий работу с данными. Этот инструмент позволяет оперировать не отдельными сущностями, а целыми графами объектов любой сложности, как при чтении, так и при сохранении.
Инструмент имеет встроенную поддержку DTO с кодогенерацией, самостоятельного устранения проблемы N+1 запросов и работы с рекурсивными структурами. ORM автоматически оптимизирует SQL-запросы, убирает лишние JOIN'ы и поддерживает многоуровневое кеширование. Проект предлагает удобные DSL для запросов, интеграцию с GraphQL и работает через APT/KSP, что обеспечивает безопасность типов на этапе компиляции.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент имеет встроенную поддержку DTO с кодогенерацией, самостоятельного устранения проблемы N+1 запросов и работы с рекурсивными структурами. ORM автоматически оптимизирует SQL-запросы, убирает лишние JOIN'ы и поддерживает многоуровневое кеширование. Проект предлагает удобные DSL для запросов, интеграцию с GraphQL и работает через APT/KSP, что обеспечивает безопасность типов на этапе компиляции.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😎 Генерация сетевых моделей
Сейчас AI используют везде, где только можно и довольно часто можно встретить в опросах, что AI применяют для преобразования JSON в сетевые модели для взаимодействия с API бэкенда. Однако эту задачу довольно легко решает OpenAPI Generator, при условии, что бэкендеры сделали нормальную документацию, конечно
Использование автогенерации моделей по спеке OpenAPI даёт сразу несколько преимуществ:
🟠 Вы не тратите время на написание бойлерплейт кода
🟠 Исключаете человеческий фактор, например, можно случайно забыть сделать поле nullable или наоборот
🟠 Всегда поддерживаете API-сущности в актуальном состоянии, так как спецификация OpenAPI напрямую связана с кодом бэкенда (ну, почти )
При этом благодаря Mustache шаблонам можно реализовать очень гибкое решение:
🔴 Использовать любую библиотеку для сериализации
🔴 Сразу маппить данные в нужные типы, например, в Instant из kotlinx-datetime
🔴 Поддерживать полиморфную сериализацию, когда ответы от API могут сильно различаться
🔴 И даже генерировать не только модели, но и код для взаимодействия с HTTP-клиентом, например, с Ktor
👉 Новости 👉 База вопросов
Сейчас AI используют везде, где только можно и довольно часто можно встретить в опросах, что AI применяют для преобразования JSON в сетевые модели для взаимодействия с API бэкенда. Однако эту задачу довольно легко решает OpenAPI Generator, при условии, что бэкендеры сделали нормальную документацию, конечно
Использование автогенерации моделей по спеке OpenAPI даёт сразу несколько преимуществ:
При этом благодаря Mustache шаблонам можно реализовать очень гибкое решение:
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Первые примеры для Live Notification Bar в Samsung One UI 7
С примерами вида Код - Визуал
Анимации, работают из коробки. Live Notification и Now Bar уже доступны для кастомизации
👉 Новости 👉 База вопросов
С примерами вида Код - Визуал
Анимации, работают из коробки. Live Notification и Now Bar уже доступны для кастомизации
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #docker
🤔 Как удалить все остановленные контейнеры и неиспользуемые сети в Docker?
Для удаления всех остановленных контейнеров и неиспользуемых сетей используется команда
👉 Новости 👉 База вопросов
Для удаления всех остановленных контейнеров и неиспользуемых сетей используется команда
docker system prune . Она также удаляет неиспользуемые образы и кэш.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Шпаргалка по flow операторам
Внутри примеры кода с пояснением для:
🟠
🟠
🟠
🟠
🟠
🟠
🟠
🟠
👉 Новости 👉 База вопросов
Внутри примеры кода с пояснением для:
map, filter, take(n)reduce, fold, runningReduce/scan, transformFlatMapConcat, FlatMapMerge, FlatMapLatestflowOn, buffer, conflate, collectLatestzip, combine, mergecatch, onCompletion, retryWhenonEach, debounce(timeoutMillis), distinctUntilChangedPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️🔥 strikt — библиотека Kotlin для работы с assertion
Strikt — это библиотека Kotlin для работы с assertion в тестах;
предназначена для использования с такими компонентами как JUnit, Minutest, Spek или KotlinTest.
Strikt опирается на свободный стиль утверждений, похожий на AssertJ, но не использует сложную иерархию классов для построения утверждений.
GitHub
Доки
👉 Новости 👉 База вопросов
dependencies {
testImplementation("io.strikt:strikt-core:<version>")
}Strikt — это библиотека Kotlin для работы с assertion в тестах;
предназначена для использования с такими компонентами как JUnit, Minutest, Spek или KotlinTest.
Strikt опирается на свободный стиль утверждений, похожий на AssertJ, но не использует сложную иерархию классов для построения утверждений.
GitHub
Доки
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
👋 Landscapist — высокооптимизированная библиотека Kotlin для загрузки изображений
Landscapist обеспечивает загрузку и отрисовку изображений с помощью 3 компонентов: Glide, Coil и Fresco.
Landscapist поддерживает отслеживание состояний загрузки изображений.
Библиотека также предоставляет разные удобные анимации, включая кроссфейды, трансформации размытия и многие другие.
А ещё Landscapist позволяет гибко управлять загрузкой изображений с помощью массы плагинов
GitHub
Доки
👉 Новости 👉 База вопросов
Landscapist обеспечивает загрузку и отрисовку изображений с помощью 3 компонентов: Glide, Coil и Fresco.
Landscapist поддерживает отслеживание состояний загрузки изображений.
Библиотека также предоставляет разные удобные анимации, включая кроссфейды, трансформации размытия и многие другие.
А ещё Landscapist позволяет гибко управлять загрузкой изображений с помощью массы плагинов
GitHub
Доки
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #docker
🤔 Как удалить Docker-контейнер?
Чтобы удалить Docker-контейнер, используйте команду
👉 Новости 👉 База вопросов
Чтобы удалить Docker-контейнер, используйте команду
docker rm c указанием ID или имени контейнера. Пример: docker rm mycontainer удаляет контейнер с именем mycontainer .Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Mordant — библиотека для стилизации текста в терминале. Этот мультиплатформенный Kotlin-проект превращает скучный терминальный вывод в визуально приятные интерфейсы. С ним можно не просто раскрашивать текст, но и создавать таблицы, анимированные прогресс-бары и даже рендерить Markdown прямо в консоли.
Инструмент умеет автоматически определять возможности терминала и поддерживает корутины для анимаций. Под капотом: умная система виджетов для компоновки элементов и кросс-платформенная работа на JVM, JS и Native.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент умеет автоматически определять возможности терминала и поддерживает корутины для анимаций. Под капотом: умная система виджетов для компоновки элементов и кросс-платформенная работа на JVM, JS и Native.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#статьи
😎 Хроника изменений API фоновой работы в Android
Начнём пожалуй со свежого.
Довольно подробная статья про то, как менялись инструменты для фоновой работы в Android: Service, AlarmManager, Doze Mode, JobScheduler и т.д.
Читать
👉 Новости 👉 База вопросов
Начнём пожалуй со свежого.
Довольно подробная статья про то, как менялись инструменты для фоновой работы в Android: Service, AlarmManager, Doze Mode, JobScheduler и т.д.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#статьи
🤓 Эффекты в Jetpack Compose, лежащие на поверхности
Полезная статья про то, как реализовать универсальное решение, которое умеет накладывать различные эффекты(blur, magnifier) поверх готового контента в Jetpack Compose.
Читать
👉 Новости 👉 База вопросов
Полезная статья про то, как реализовать универсальное решение, которое умеет накладывать различные эффекты(blur, magnifier) поверх готового контента в Jetpack Compose.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #android
🤔 В чём различие между явным (explicit) и неявным (implicit) Intent?
Явный Intent указывает точный компонент (имя пакета и класса) для запуска, а неявный содержит только действие (
👉 Новости 👉 База вопросов
Явный Intent указывает точный компонент (имя пакета и класса) для запуска, а неявный содержит только действие (
action ), категорию и/или данные, система сама выбирает подходящий компонент через intent-filter. Явные используют для внутренних переходов в своём приложении, неявные - для взаимодействия с другими приложениями (открыть браузер, поделиться текстом).Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Inure — необычный файловый менеджер для Android с открытым исходным кодом. Этот проект выделяется полностью кастомным интерфейсом, поддержкой Material You и встроенным терминалом.
Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
Гитхаб
👉 Новости 👉 База вопросов
Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#статьи
🛞 Ныряем в холодные потоки Kotlin Flow
Базовая статья по основам Kotlin Flow для начинающих.
🟠 Термины
🟠 Холодные и горячие потоки
🟠 Холодные потоки, горячие каналы
🟠 Создание Flow
🟠 Структура Flow
🟠 Пример использования
Читать
👉 Новости 👉 База вопросов
Базовая статья по основам Kotlin Flow для начинающих.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🛞 Ktlint — линтер Kotlin в духе feross/standard (JS) и gofmt (Go)
—
Вообще, это довольно известный линтер, но если вдруг кто не знал — обязательно попробуйте
Особенности ktlint:
🟠 не требует настройки; уже из коробки ktlint позволяет отслеживать соблюдение соглашений по стилю — Android Kotlin Style Guide
🟠 ktlint позволяет легко создать собственные наборы правил; при необходимости эти правила можно легко отключить
🟠 в ktlint встроен форматтер, который исправляет неправильное написание кода, когда это возможно
🟠 настраиваемый вывод; из коробки доступны несколько отчетов форматов вывода
GitHub
Использование
👉 Новости 👉 База вопросов
—
brew install ktlintВообще, это довольно известный линтер, но если вдруг кто не знал — обязательно попробуйте
Особенности ktlint:
plain, plain-summary, json, html и checkstyle; также без проблем можно создать собственный формат выводаGitHub
Использование
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #android
🤔 Какие проблемы могут возникнуть при перехвате Intent через BroadcastReceiver?
При перехвате могут быть уязвимости: подставить злонамеренный Intent (Intent-spoofing), вызвать переполнение очереди при многих Broadcast, получить лишние System-Broadcast после Android 8.0. Также возможны утечки ресурсов при незакрытых регистрации и таймауты, если приёмник обрабатывает тяжёлую работу в main-потоке.
👉 Новости 👉 База вопросов
При перехвате могут быть уязвимости: подставить злонамеренный Intent (Intent-spoofing), вызвать переполнение очереди при многих Broadcast, получить лишние System-Broadcast после Android 8.0. Также возможны утечки ресурсов при незакрытых регистрации и таймауты, если приёмник обрабатывает тяжёлую работу в main-потоке.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😘 Простой виджет движения для разблокировки на Kotlin
🟠 полностью векторный, никаких .png
🟠 поддерживаются разные анимации
🟠 легко интегрируется (просто строка компиляции gradle)
🟠 подстраивается под тему приложения
🟠 можно использовать из коробки, всё будет работать
Гитхаб
👉 Новости 👉 База вопросов
dependencies {
implementation "com.ncorti:slidetoact:0.11.0"
}Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1