Почему программистам нужно знать структуры данных и как я сэкономил Uber $22 000 в год
Статья из разряда оправдания секции "Алгоритмы и структуры данных". Сэкономить для Uber 22 000 в год, все равно что мне сэкономить 22 рубля в год.
Статья из разряда оправдания секции "Алгоритмы и структуры данных". Сэкономить для Uber 22 000 в год, все равно что мне сэкономить 22 рубля в год.
👎64👍27🤯10🤔4🎉2
#AndroidBroadcast
Сейчас активно работаю над курсом по Kotlin Coroutine и нужны ваши кейсы когда переход на них выявил сложности: обработка ошибок, недостаточно API, странности поведения и пр. Lелитесь в комментариях
Сейчас активно работаю над курсом по Kotlin Coroutine и нужны ваши кейсы когда переход на них выявил сложности: обработка ошибок, недостаточно API, странности поведения и пр. Lелитесь в комментариях
👍91👎18
#architecture
Конвергенция в многомодульном приложении
Многомодульность уже давно ушла из трендов и стала обыденностью (почему же Room до сих пор не получит ее поддержку?). Все мы занимаемся ей так как она может ускорить сборку, разделить код, а feature-команды могут работать независимо. Проблема в том что feature со временем становятся как разные приложения с общим ядром, каждый напилит решение для одной и то же задачи, начнет применять свою реализацию MV***, что в итоге усложняет жизнь. Автор статьи рассказывает про это
Конвергенция в многомодульном приложении
Многомодульность уже давно ушла из трендов и стала обыденностью (почему же Room до сих пор не получит ее поддержку?). Все мы занимаемся ей так как она может ускорить сборку, разделить код, а feature-команды могут работать независимо. Проблема в том что feature со временем становятся как разные приложения с общим ядром, каждый напилит решение для одной и то же задачи, начнет применять свою реализацию MV***, что в итоге усложняет жизнь. Автор статьи рассказывает про это
👍29👎19🤔6
How to mock Retrofit API calls (or any other interface)
В статье найдете рецепт как замокать Retrofit API пока у вас нет боевого REST API либо хотите протестировать работу с ним в разных условиях, Решение базируется на Java Dynamic Proxy, как раз недавно на канале про это видео было.
В статье найдете рецепт как замокать Retrofit API пока у вас нет боевого REST API либо хотите протестировать работу с ним в разных условиях, Решение базируется на Java Dynamic Proxy, как раз недавно на канале про это видео было.
👎36👍25🔥3
Пожалуйста, проверьте, можете ли вы попасть на страницу Boosty https://boosty.to/androidbroadcast
Anonymous Poll
51%
Получилось
9%
Нет
40%
Мне не нужно это
👍34👎29🎉1
#jetpack
The curious case of crashing Workers
История фикса креша WorkManager, когда обновляют приложения, а название классов Worker изменились или переместили в другие пакеты (да-да, чтобы все было хорошо их лучше сохранять раз и навсегда)
The curious case of crashing Workers
История фикса креша WorkManager, когда обновляют приложения, а название классов Worker изменились или переместили в другие пакеты (да-да, чтобы все было хорошо их лучше сохранять раз и навсегда)
👍36👎13
#material
Вышла Material Components Android 1.6.0
👉 Улучшение поддержки динамических цветов из Material Design 3 (Material You)
👉 API для того чтобы ваш бренд цвет сочетался с цветами пользователя из M3 (здесь)
👉 Везде улучшений по чуть-чуть и исправление багов
Вышла Material Components Android 1.6.0
👉 Улучшение поддержки динамических цветов из Material Design 3 (Material You)
👉 API для того чтобы ваш бренд цвет сочетался с цветами пользователя из M3 (здесь)
👉 Везде улучшений по чуть-чуть и исправление багов
👍27👎13🔥2
#architecture
Rethinking User Actions to shape a better Unidirectional Data Flow (6 мин)
Думаете про Compose—используйте UDF архитектуры. Автор пытается донести и как нужно думать об UI и действиях с ним, чтобы положить это на принципы такой архитектуры.
Rethinking User Actions to shape a better Unidirectional Data Flow (6 мин)
Думаете про Compose—используйте UDF архитектуры. Автор пытается донести и как нужно думать об UI и действиях с ним, чтобы положить это на принципы такой архитектуры.
👎20👍10
#googleplay
UPD: Изменения касаются пользователей, а не разработчиков. Посмотрел быстро и неправильно понял смысл, хотя и в такую новость я поверю.
Для авторов приложений из России запретили публиковать платные приложения и монетезировать их. Во всем мире. Не уверен что много компаний публиковал их от юр лица из России, да и уже за 2 месяца думаю оформили себе юр.лицо. за пределами страны. Пострадают инди авторы, за что действительно обидно.
Пишите в комментариях как заденет вас, если вообще заденет
UPD: Изменения касаются пользователей, а не разработчиков. Посмотрел быстро и неправильно понял смысл, хотя и в такую новость я поверю.
Для авторов приложений из России запретили публиковать платные приложения и монетезировать их. Во всем мире. Не уверен что много компаний публиковал их от юр лица из России, да и уже за 2 месяца думаю оформили себе юр.лицо. за пределами страны. Пострадают инди авторы, за что действительно обидно.
Пишите в комментариях как заденет вас, если вообще заденет
😢48👍34🎉11👎5🔥1
Android Broadcast
#googleplay UPD: Изменения касаются пользователей, а не разработчиков. Посмотрел быстро и неправильно понял смысл, хотя и в такую новость я поверю. Для авторов приложений из России запретили публиковать платные приложения и монетезировать их. Во всем мире.…
Ввел вас в заблуждение. Изменения не касаются разработчиков, а снова пользователей. Теперь они не смогут обновлять платные приложения, а те у кого приложения не было, просто его не увидят.
Google рекомендует распространять свое приложение бесплатно, если оно важно для пользователей.
Google рекомендует распространять свое приложение бесплатно, если оно важно для пользователей.
👍37👎15🤔14🎉5🔥1
#testing #coroutines
Google обновила руководство по тестированию Coroutine с учетом изменений в библиотеке Kotlinx Coroutines 1.6:
👉 как вызывать suspend функции в тестах
👉 новые TestDispatcher
👉 подмена Dispatcher-ов
👉 тестовые CoroutineScope
Google обновила руководство по тестированию Coroutine с учетом изменений в библиотеке Kotlinx Coroutines 1.6:
👉 как вызывать suspend функции в тестах
👉 новые TestDispatcher
👉 подмена Dispatcher-ов
👉 тестовые CoroutineScope
👍29👎15
#accessibility
Accessibility in a dual-screen application
Обеспечивать возможность использовать популярных и важных для приложений — это важная часть продукта. В блоге Microsoft делятся тем как обеспечивать доступность на больших экранах, складных смартфонах и устройствах с 2 экранами (здравствуй линейка Surface Duo). Вы найдете в статье лучшие практики и подходы к проверке приложения на доступность.
Из статьи узнал про автоматизацию тестирования доступности
Accessibility in a dual-screen application
Обеспечивать возможность использовать популярных и важных для приложений — это важная часть продукта. В блоге Microsoft делятся тем как обеспечивать доступность на больших экранах, складных смартфонах и устройствах с 2 экранами (здравствуй линейка Surface Duo). Вы найдете в статье лучшие практики и подходы к проверке приложения на доступность.
Из статьи узнал про автоматизацию тестирования доступности
👎13👍5
#interview
Женя Мацюк, автор Kaspresso, готовится к собеседованиям в западные компании и собрал подборку материалов для подготовки. Ловите его тред в Twitter по этой теме
Женя Мацюк, автор Kaspresso, готовится к собеседованиям в западные компании и собрал подборку материалов для подготовки. Ловите его тред в Twitter по этой теме
👍69👎25😢6
#architecture
Passive Views: keep your UI code simple and stupid (7 мин)
Почему и как сделать вашу View полностью пассивной. Это значит, что в ней не будет логики и все за неё решает кто-то другой, а она только отрисовывает UI
Passive Views: keep your UI code simple and stupid (7 мин)
Почему и как сделать вашу View полностью пассивной. Это значит, что в ней не будет логики и все за неё решает кто-то другой, а она только отрисовывает UI
👍39👎27
#dagger
Вышел Dagger 2.42
В новой версии нет фичей, а вся работа проводится под капотом. Например, теперь сгенерированный класс для Component не реализует интерфейс компонент. Это может сломать ваш код, но исправить будет не проблемой
Вышел Dagger 2.42
В новой версии нет фичей, а вся работа проводится под капотом. Например, теперь сгенерированный класс для Component не реализует интерфейс компонент. Это может сломать ваш код, но исправить будет не проблемой
👍41👎14🤔6🎉1
#tooling
Вышла Android Studio 2021.2.1 Chipmunk
В релизе авторы сконцентрировались на багфиксе, добавление самой свежей версии IDEA на момент старта разработки и добавили минимум новых фичей:
👉 Предпросмотр анимаций в Compose с красивым таймлайном
👉 В CPU Profiler на устройства Android 12+ можно будет находить вы можете увидеть Junky Frame - кадры в которы пропустили отрисовку
👉 Теперь Compose Preview можно задеплоить на устройство и из library модулей
👉 При проверке сборки будет показываться предложение отключить Jetifier
👉 Поддержка Android & Java test fixtures - специальный код для тестов в отдельном source set от тестов, но который подключается к ним, а также позволяет отдельно добавить зависимости
👉 IntelliJ 2021.2
👉 Android Gradle Plugin 7.2.0
Вышла Android Studio 2021.2.1 Chipmunk
В релизе авторы сконцентрировались на багфиксе, добавление самой свежей версии IDEA на момент старта разработки и добавили минимум новых фичей:
👉 Предпросмотр анимаций в Compose с красивым таймлайном
👉 В CPU Profiler на устройства Android 12+ можно будет находить вы можете увидеть Junky Frame - кадры в которы пропустили отрисовку
👉 Теперь Compose Preview можно задеплоить на устройство и из library модулей
👉 При проверке сборки будет показываться предложение отключить Jetifier
👉 Поддержка Android & Java test fixtures - специальный код для тестов в отдельном source set от тестов, но который подключается к ним, а также позволяет отдельно добавить зависимости
👉 IntelliJ 2021.2
👉 Android Gradle Plugin 7.2.0
👍56👎14🤔3🔥2
#compose #performance
Советы как сделать Compose быстрее от Google
Google опубликовала официальное руководство как сделать Jetpack Compose быстрее:
👉 Релизный билд с R8
👉 Создавайте baseline profile для сборки
👉 Разберитесь что виляет на композицию
👉 Следуйте лучшим практикам (есть в доке)
Советы как сделать Compose быстрее от Google
Google опубликовала официальное руководство как сделать Jetpack Compose быстрее:
👉 Релизный билд с R8
👉 Создавайте baseline profile для сборки
👉 Разберитесь что виляет на композицию
👉 Следуйте лучшим практикам (есть в доке)
👍34👎12🔥1
#library
Вышел Coil 2.0
Библиотека для загрузки картинок, построенная поверх Kotlin и Coroutines обзавелась новой мажорной версией.
Что нового:
👉 Поддержка Jetpack Compose через AsyncImage
👉 Публичное API для работы с дисковым кэшем
👉 Теперь поддерживается Android 5.0+ (API 21)
👉 Рефакторинг API для управления этапами загрузки картинок
👉 Отключена генерация проверок на non null, что уменьшило размер библиотеки
👉 Множество переделок, улучшений API и обновлений зависимостей
Вышел Coil 2.0
Библиотека для загрузки картинок, построенная поверх Kotlin и Coroutines обзавелась новой мажорной версией.
Что нового:
👉 Поддержка Jetpack Compose через AsyncImage
👉 Публичное API для работы с дисковым кэшем
👉 Теперь поддерживается Android 5.0+ (API 21)
👉 Рефакторинг API для управления этапами загрузки картинок
👉 Отключена генерация проверок на non null, что уменьшило размер библиотеки
👉 Множество переделок, улучшений API и обновлений зависимостей
👍77👎10🔥7