💻 LeakCanary — библиотека Kotlin для обнаружения утечек памяти
При анализе кода LeakCanary опирается на внутреннее устройство Android Framework, что позволяет определить причину каждой утечки
В итоге можно свести к минимуму количество зависаний,
🖥 GitHub
При анализе кода LeakCanary опирается на внутреннее устройство Android Framework, что позволяет определить причину каждой утечки
В итоге можно свести к минимуму количество зависаний,
Application Not Responding и сбоев OutOfMemoryError🖥 GitHub
💻 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
💻 Compose Destinations — библиотека обработки аннотаций для безопасной с точки зрения типов навигации Jetpack Compose, не содержащая шаблонов
Compose Destinations обрабатывает аннотации и генерирует код, использующий официальную навигацию Jetpack Compose под капотом. Эта библиотека позволяет не писать вручную сложный, небезопасный и шаблонный код.
При этом Compose Destinations легко освоить — большинство API либо такие же, как в Jetpack Components, либо вдохновлены ими.
🖥 GitHub
Compose Destinations обрабатывает аннотации и генерирует код, использующий официальную навигацию Jetpack Compose под капотом. Эта библиотека позволяет не писать вручную сложный, небезопасный и шаблонный код.
При этом Compose Destinations легко освоить — большинство API либо такие же, как в Jetpack Components, либо вдохновлены ими.
🖥 GitHub
💻 KODEIN — удобная библиотека Kotlin для управления зависимостями
KODEIN (Kotlin Dependency Injection) — это полезная библиотека для инъекции/получения зависимостей, она очень прост в использовании и настройке.
KODEIN позволяет:
— не заботиться о порядке инициализации зависимостей
— легко привязывать классы или интерфейсы к их экземплярам, или фабрикам
При этом KODEIN предлагает очень простой и читаемый декларативный DSL, эта библиотека не подвержена стиранию типов (как Java), прекрасно интегрируется с Android, предлагает идиоматический API в стиле Kotlin.
KODEIN можно использовать с Java.
Пример, показывающий всю мощь KODEIN:
🖥 GitHub
🟡 Доки
dependencies {
implementation 'org.kodein.di:KODEIN:7.21.1'
}KODEIN (Kotlin Dependency Injection) — это полезная библиотека для инъекции/получения зависимостей, она очень прост в использовании и настройке.
KODEIN позволяет:
— не заботиться о порядке инициализации зависимостей
— легко привязывать классы или интерфейсы к их экземплярам, или фабрикам
При этом KODEIN предлагает очень простой и читаемый декларативный DSL, эта библиотека не подвержена стиранию типов (как Java), прекрасно интегрируется с Android, предлагает идиоматический API в стиле Kotlin.
KODEIN можно использовать с Java.
Пример, показывающий всю мощь KODEIN:
val di = DI {
bindProvider<Dice> { RandomDice(0, 5) }
bindSingleton<DataSource> { SqliteDS.open("path/to/file") }
}
class Controller(private di: DI) {
private val ds: DataSource by di.instance()
}🖥 GitHub
🟡 Доки
💻 voyager — мультиплатформенная навигационная библиотека для Jetpack Compose
Позволяет создавать масштабируемые приложения на Kotlin на основе удобного API
🖥 GitHub
Позволяет создавать масштабируемые приложения на Kotlin на основе удобного API
🖥 GitHub
⚡️Руководитель команд разработки и один из разработчиков мобильного приложения Яндекс Карт рассказали, как они росли вместе с проектом. Подробнее в карточках.
Хотите так же? Это возможно 💯
Команда мобильной разработки Карт и Навигатора расширяется, и мы ищем:
➡️iOS-разработчика
#Москва #Белград #iOS
Что вы будете делать: участвовать в разработке мобильного приложения для iOS, глубоко прорабатывать задачи команды, совершенствовать процессы и инфраструктуру разработки.
➡️Android-разработчика
#Москва #Android
Что вы будете делать: участвовать в разработке мобильного приложения для Android, помогать расширять возможности существующих сценариев и создавать новые.
Приходите, будем расти вместе💪
Реклама. ООО "Яндекс", ИНН 7736207543.
Хотите так же? Это возможно 💯
Команда мобильной разработки Карт и Навигатора расширяется, и мы ищем:
➡️iOS-разработчика
#Москва #Белград #iOS
Что вы будете делать: участвовать в разработке мобильного приложения для iOS, глубоко прорабатывать задачи команды, совершенствовать процессы и инфраструктуру разработки.
➡️Android-разработчика
#Москва #Android
Что вы будете делать: участвовать в разработке мобильного приложения для Android, помогать расширять возможности существующих сценариев и создавать новые.
Приходите, будем расти вместе💪
Реклама. ООО "Яндекс", ИНН 7736207543.
Работа в Яндексе
Вакансия «Разработчик для iOS в Карты и Навигатор» в Яндексе — работа в компании Яндекс для IT-специалистов
В приложении Карт используются разнообразные технологии и постоянно добавляются новые возможности. У нас устоявшиеся процессы с прозрачными флоу и регулярные релизы. Вам предстоит реализовывать смелые UX-эксперименты, применять Kotlin Multiplatform, разрабатывать…
💻 ImageToolbox — мощный open-source редактор изображений на Kotlin
ImageToolbox может обрезать картинки, применять фильтры, добавлять другие изображения, удалять фон, редактировать EXIF и даже создавать PDF-файлы
🖥 GitHub
ImageToolbox может обрезать картинки, применять фильтры, добавлять другие изображения, удалять фон, редактировать EXIF и даже создавать PDF-файлы
🖥 GitHub
🖥 Релиз Winlator 7.0, окружения для запуска Windows-приложений в Android, написанного на Java (и C)
Состоялся релиз открытого проекта окружения для запуска Windows-приложений в Android под названием Winlator 7.0.
Проект Android-приложения Winlator 7.0 (размер APK-пакета составляет 251 МБ) предоставляет собой обвязку над Wine и эмуляторами Box86/Box64 для выполнения Windows-приложений на платформе Android.
Инструмент Winlator разворачивает Linux-окружение на базе Ubuntu с Mesa, DXVK, D8VK, Vkd3d и CNC DDraw, в котором при помощи эмулятора и Wine на ARM-устройствах с Android выполняются Windows-приложения, собранные для архитектуры x86.
🖥 Исходный код проекта написан на языках C и Java и опубликован на GitHub под лицензией MIT.
Состоялся релиз открытого проекта окружения для запуска Windows-приложений в Android под названием Winlator 7.0.
Проект Android-приложения Winlator 7.0 (размер APK-пакета составляет 251 МБ) предоставляет собой обвязку над Wine и эмуляторами Box86/Box64 для выполнения Windows-приложений на платформе Android.
Инструмент Winlator разворачивает Linux-окружение на базе Ubuntu с Mesa, DXVK, D8VK, Vkd3d и CNC DDraw, в котором при помощи эмулятора и Wine на ARM-устройствах с Android выполняются Windows-приложения, собранные для архитектуры x86.
🖥 Исходный код проекта написан на языках C и Java и опубликован на GitHub под лицензией MIT.
Последняя неделя регистрации на Yandex BDUI Conf! 🎉
22 июня Яндекс проведёт большую конференцию для мобильных разработчиков по BDUI
Вместе со спикерами из Яндекса, Яндекс Маркета, Авито, X5 Tech и ВСК будем разбираться, как с помощью бэкенда сделать красивые и функциональные приложения. В программе:
— 2 трека с докладами: продуктовый и инфраструктурный;
— активности от Яндекс Маркета с подарками;
— экскурсия по офису Яндекса на «Парке культуры»;
— афтерпати с нетворкингом и музыкой.
Зарегистрироваться можно на сайте конференции. Она пройдёт 22 июня в Москве в «Экстрополисе». Если не получится присутствовать очно, присоединяйтесь к нашей трансляции!
До встречи на Yandex BDUI Conf — будет здорово! 👋
22 июня Яндекс проведёт большую конференцию для мобильных разработчиков по BDUI
Вместе со спикерами из Яндекса, Яндекс Маркета, Авито, X5 Tech и ВСК будем разбираться, как с помощью бэкенда сделать красивые и функциональные приложения. В программе:
— 2 трека с докладами: продуктовый и инфраструктурный;
— активности от Яндекс Маркета с подарками;
— экскурсия по офису Яндекса на «Парке культуры»;
— афтерпати с нетворкингом и музыкой.
Зарегистрироваться можно на сайте конференции. Она пройдёт 22 июня в Москве в «Экстрополисе». Если не получится присутствовать очно, присоединяйтесь к нашей трансляции!
До встречи на Yandex BDUI Conf — будет здорово! 👋
💻 0day в Pixel: Google выпускает экстренный патч для своих смартфонов
Вслед за уже привычным Patch Tuesday от Microsoft, компания Google также выпустила обновления для устранения 50 уязвимостей безопасности в своих устройствах Pixel и предупредила, что одна из них, отслеживаемая как CVE-2024-32896, представляет собой ошибку повышения привилегий (EoP) и уже использовалась в реальных атаках в качестве Zero-day уязвимости.
«Есть признаки того, что CVE-2024-32896 уже могла быть использована ранее в ограниченных целевых атаках», — предупредила компания. «Все поддерживаемые устройства Google получат обновление до уровня патча 2024-06-05. Мы призываем всех пользователей Pixel незамедлительно установить эти обновления на свои устройства».
Google также отметила 44 других ошибки безопасности, непосредственно касающиеся устройств Pixel. Семь из них представляют собой уязвимости повышения привилегий и считаются критическими.
Устройства Pixel, хотя и работают на Android, получают отдельные обновления безопасности и...
Вслед за уже привычным Patch Tuesday от Microsoft, компания Google также выпустила обновления для устранения 50 уязвимостей безопасности в своих устройствах Pixel и предупредила, что одна из них, отслеживаемая как CVE-2024-32896, представляет собой ошибку повышения привилегий (EoP) и уже использовалась в реальных атаках в качестве Zero-day уязвимости.
«Есть признаки того, что CVE-2024-32896 уже могла быть использована ранее в ограниченных целевых атаках», — предупредила компания. «Все поддерживаемые устройства Google получат обновление до уровня патча 2024-06-05. Мы призываем всех пользователей Pixel незамедлительно установить эти обновления на свои устройства».
Google также отметила 44 других ошибки безопасности, непосредственно касающиеся устройств Pixel. Семь из них представляют собой уязвимости повышения привилегий и считаются критическими.
Устройства Pixel, хотя и работают на Android, получают отдельные обновления безопасности и...
🖥 Вот как легко можно записывать и воспроизводить аудио в Android
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
GitHub
GitHub - philipplackner/AudioRecorder
Contribute to philipplackner/AudioRecorder development by creating an account on GitHub.
💻 KotlinPoet — это Kotlin и Java API для генерации исходных файлов `.kt`
Для обеспечения максимальной переносимости KotlinPoet генерирует код с явными модификаторами видимости. Это обеспечивает совместимость как со стандартными проектами Kotlin, так и с проектами, использующими явный режим API.
🖥 GitHub
<dependency>
<groupId>com.squareup</groupId>
<artifactId>kotlinpoet-jvm</artifactId>
<version>[version]</version>
</dependency>
Для обеспечения максимальной переносимости KotlinPoet генерирует код с явными модификаторами видимости. Это обеспечивает совместимость как со стандартными проектами Kotlin, так и с проектами, использующими явный режим API.
🖥 GitHub
💻 kotlin-inject — библиотека Kotlin для dependency injection
Строительным блоком kotlin-inject является компонент, который объявляется с помощью аннотации в абстрактном классе, реализация этого компонента будет сгенерирована
В этом компоненте можно объявить абстрактные свойства, доступные только для чтения, или функции, возвращающие экземпляр заданного типа. И kotlin-inject разберётся, как сконструировать этот тип
🖥 GitHub
🟡 Доки
Строительным блоком kotlin-inject является компонент, который объявляется с помощью аннотации в абстрактном классе, реализация этого компонента будет сгенерирована
В этом компоненте можно объявить абстрактные свойства, доступные только для чтения, или функции, возвращающие экземпляр заданного типа. И kotlin-inject разберётся, как сконструировать этот тип
🖥 GitHub
🟡 Доки