#полезное
👨💻 kotlin-logging — легковесный фреймворк для логгирования, написанный на чистом Kotlin
—
kotlin-logging предоставляет обертку для slf4j-api для использования классами Kotlin; при этом kotlin-logging имеет такие преимущества:
— нет необходимости писать шаблонный код, содержащий имя логгера и класса или имя логгера
— простой способ регистрации сообщений в виде строки с ленивой оценкой с помощью лямбда-выражения
— все предыдущие реализации slf4j по-прежнему могут быть использованы
GitHub
Wiki
👉 Новости 👉 База вопросов
—
implementation 'io.github.oshai:kotlin-logging-jvm:5.1.0'kotlin-logging предоставляет обертку для slf4j-api для использования классами Kotlin; при этом kotlin-logging имеет такие преимущества:
— нет необходимости писать шаблонный код, содержащий имя логгера и класса или имя логгера
— простой способ регистрации сообщений в виде строки с ленивой оценкой с помощью лямбда-выражения
{}— все предыдущие реализации slf4j по-прежнему могут быть использованы
GitHub
Wiki
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Как вы разрешаете конфликты в Git?
Конфликты возникают, когда изменения из удаленного и локального репозиториев пересекаются. Чтобы разрешить конфликт, нужно вручную отредактировать проблемные файлы, выбрать правильную версию, а затем зафиксировать изменения.
👉 Новости 👉 База вопросов
Конфликты возникают, когда изменения из удаленного и локального репозиториев пересекаются. Чтобы разрешить конфликт, нужно вручную отредактировать проблемные файлы, выбрать правильную версию, а затем зафиксировать изменения.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Мобильные технологии Apple снова унизили — в сети сравнили простое удаление объектов на смартфонах Apple и Samsung.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😵 6 основных аспектов безопасности
Незащищенный API становится легкой мишенью для хакеров, поэтому его безопасность – приоритет для разработчиков и компаний, дорожащих своей репутацией.
В этой статье мы рассмотрим шесть основных аспектов защиты API, которые помогут минимизировать риски взлома, утечки данных и отказа в обслуживании.
Читать статью
👉 Новости 👉 База вопросов
Незащищенный API становится легкой мишенью для хакеров, поэтому его безопасность – приоритет для разработчиков и компаний, дорожащих своей репутацией.
В этой статье мы рассмотрим шесть основных аспектов защиты API, которые помогут минимизировать риски взлома, утечки данных и отказа в обслуживании.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😵 Стандартизация без боли
В начале проекта разработчик хочет свободы творчества: писать код быстро и видеть результат. Но со временем баги, регрессии и несовместимые решения превращают эту свободу в боль.
В статье автор сравнивает языки программирования по уровню синтаксической однозначности, гибкости и пригодности для командной работы.
Также рассматривает, как строгие ограничения формируют культуру качества, а чрезмерная выразительность часто мешает команде работать как единое целое
Читать статью
👉 Новости 👉 База вопросов
В начале проекта разработчик хочет свободы творчества: писать код быстро и видеть результат. Но со временем баги, регрессии и несовместимые решения превращают эту свободу в боль.
В статье автор сравнивает языки программирования по уровню синтаксической однозначности, гибкости и пригодности для командной работы.
Также рассматривает, как строгие ограничения формируют культуру качества, а чрезмерная выразительность часто мешает команде работать как единое целое
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #docker
🤔 Какова цель томов в Docker?
Тома в Docker предназначены для хранения и обмена данными между контейнерами и хост-системой. Они позволяют сохранять данные независимо от жизненного цикла контейнера, обеспечивая сохранность данных при остановке или удалении контейнера. Тома можно использовать для базы данных, конфигураций приложений и логов.
👉 Новости 👉 База вопросов
Тома в Docker предназначены для хранения и обмена данными между контейнерами и хост-системой. Они позволяют сохранять данные независимо от жизненного цикла контейнера, обеспечивая сохранность данных при остановке или удалении контейнера. Тома можно использовать для базы данных, конфигураций приложений и логов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from YeaHub
Мы рады представить нового эксперта в нашей команде! К YeaHub присоединился опытный Android-разработчик и ментор, который вместе с учениками будет разрабатывать Open Source-версию мобильного приложения YeaHub. Код открыт в нашем репозитории.
В качестве Guru (эксперта) он:
- Будет улучшать контент по Android-разработке
- Добавлять новые вопросы и коллекции
- Публиковать авторские посты и гайды на канале
И это только начало! В планах привлечь Guru (Экспертов) по каждому направлению!
Спасибо, что остаетесь с нами — мы продолжаем прокачивать продукт 💪
Пробуйте, тестируйте, делитесь обратной связью!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3👍2
#полезное
🥺 Ultron — это фреймворк, облегчающий создание UI-тестов для Android и Compose Multiplatform! Он построен поверх Espresso, UI Automator и Compose UI, предлагая упрощённый и выразительный синтаксис для тестирования пользовательского интерфейса.
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😎 keepScreenOn в Jetpack Compose
Как это было:
или
или тег в xml:
Начиная с compose
👉 Новости 👉 База вопросов
Как это было:
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
или
window.decorView.keepScreenOn = true
или тег в xml:
android:keepScreenOn="true"
Начиная с compose
1.9.0-alpha01 это можно сделать модификаторомBox(
modifier = Modifier.keepScreenOn()
){
Text("Keep the screen on.. 🔆")
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#статьи
🛞 Тестирование изображений и анимаций в Android с помощью Kaspresso
Тестирование UI в Android — это баланс между тщательностью и удобством поддержки. Espresso проверяет логику: тексты, клики, переходы. Но для изображений и анимаций часто используют скриншотные тесты или оставляют их ручными.
В этой статье автор покажет, как пойти другим путём — научить Kaspresso понимать, что именно нарисовано на экране. Расскажет, как сравнивать изображения и кадры анимации внутри обычных инструментов UI-тестирования — без тяжёлой артиллерии и лишней хрупкости.
Читать статью
👉 Новости 👉 База вопросов
Тестирование UI в Android — это баланс между тщательностью и удобством поддержки. Espresso проверяет логику: тексты, клики, переходы. Но для изображений и анимаций часто используют скриншотные тесты или оставляют их ручными.
В этой статье автор покажет, как пойти другим путём — научить Kaspresso понимать, что именно нарисовано на экране. Расскажет, как сравнивать изображения и кадры анимации внутри обычных инструментов UI-тестирования — без тяжёлой артиллерии и лишней хрупкости.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Guru Android at YeaHub | АНТОН ГУЛЯЕВ
Всем привет!
Я Senior Android-разработчик в Wildberries, раньше работал в Яндексе. За плечами — больше 4 лет опыта и выступления на конференциях.
Помимо разработки, я ментор по Android — помогаю новичкам прокачаться и устроиться в IT.
А ещё я Guru по Android в YeaHub: отвечаю за качество контента, а вместе с учениками разрабатываю мобильную версию платформы. Проект Open Source, так что можно заглянуть под капот — код открыт в нашем репозитории.
А ещё подписывайтесь на другие каналы Экосистемы YeaHub
Проект YeaHub:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
#Собес #docker
🤔 Как масштабировать Docker контейнеры горизонтально?
Для горизонтального масштабирования Docker контейнеров можно использовать Docker Swarm или Kubernetes. B Docker Swarm вы создаете кластер и используете команду
👉 Новости 👉 База вопросов
Для горизонтального масштабирования Docker контейнеров можно использовать Docker Swarm или Kubernetes. B Docker Swarm вы создаете кластер и используете команду
docker service scale, чтобы масштабировать количество реплик для сервиса. Например, команда docker service scale myservice=5 увеличит количество реплик сервиса myservice до 5.Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
👍 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