Advanced Kotlin Coroutine Cheat sheet (for Android Engineer)
Большая статья (шпаргалка-справочник) по использованию корутин в более продвинутых сценариях.
Читать (En)
Большая статья (шпаргалка-справочник) по использованию корутин в более продвинутых сценариях.
Читать (En)
Command Your User Inputs with Jetpack Compose — Text Field Features Hidden in Plain Sight
Большая статья, с обзором доступных функций Text Field в Jetpack Compose, с помощью которых можно улучшить визуальную часть Text Field и сделать их более интерактивными.
👉 The Basics
👉 Gradient Text Field
👉 Decoration Box
👉 Let’s Go Funky
👉 Masked Text Field for Credit Card Input
👉 Handling User Interactions
👉 Real Time User Tagging
👉 Keyboard Actions
👉 Providing Haptic Feedback
👉 Supporting Rich Media Content
Читать (En)
Большая статья, с обзором доступных функций Text Field в Jetpack Compose, с помощью которых можно улучшить визуальную часть Text Field и сделать их более интерактивными.
👉 The Basics
👉 Gradient Text Field
👉 Decoration Box
👉 Let’s Go Funky
👉 Masked Text Field for Credit Card Input
👉 Handling User Interactions
👉 Real Time User Tagging
👉 Keyboard Actions
👉 Providing Haptic Feedback
👉 Supporting Rich Media Content
Читать (En)
Don’t Lock the Screen Orientation! Handling Orientation in Compose
Статья про то, почему не стоит отключать горизонтальную ориентацию в приложении, почему пользовтелям может быть не удобна портретная ориентация и какие есть способы обработки и получения текущей ориентации в Jetpack Compose.
Читать (En)
Статья про то, почему не стоит отключать горизонтальную ориентацию в приложении, почему пользовтелям может быть не удобна портретная ориентация и какие есть способы обработки и получения текущей ориентации в Jetpack Compose.
Читать (En)
Алгоритмы — самый провальный этап собеседований
Довольно интересная статья про алгоритмическую секцию на собеседовании и знание/умение в алгоритмы, которая близко пересекается с моими мыслями на этот счет.
Читать (Ru)
Довольно интересная статья про алгоритмическую секцию на собеседовании и знание/умение в алгоритмы, которая близко пересекается с моими мыслями на этот счет.
Читать (Ru)
Что стоит знать о Jetpack Compose: руководство для начинающих
Туториал для начинающих с разбором ключевых аспектов Compose, который сэкономит время на погружение.
👉 State и Composition
👉 Примеры стабильных и нестабильных типов
👉 Как Jetpack Compose управляет рекомпозицией
👉 Как разработчики могут оптимизировать производительность приложений
Читать (Ru)
Туториал для начинающих с разбором ключевых аспектов Compose, который сэкономит время на погружение.
👉 State и Composition
👉 Примеры стабильных и нестабильных типов
👉 Как Jetpack Compose управляет рекомпозицией
👉 Как разработчики могут оптимизировать производительность приложений
Читать (Ru)
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать
В статье разбираются некторые механизмы многопоточки из Java, как они работают и как использовать.
👉 Volatile
👉 Lock-free
👉 Immutable
👉 Блокировки
👉 Atomic
Уверен, многие с приходом Kotlin`а напрямую их неиспользуют, но их знания и то, как они работают точно лишними не будут.
Читать (Ru)
В статье разбираются некторые механизмы многопоточки из Java, как они работают и как использовать.
👉 Volatile
👉 Lock-free
👉 Immutable
👉 Блокировки
👉 Atomic
Уверен, многие с приходом Kotlin`а напрямую их неиспользуют, но их знания и то, как они работают точно лишними не будут.
Читать (Ru)
Forwarded from Swift Tips
Async await in Swift: The Full Toolkit
Большая статья с примерами кода по доступным инструментам Swift Concurrency.
🟢 async / await
🟢 async let
🟢 Task
🟢 Task group
🟢 Actors
🟢 MainActor
🟢 Sendable
🟢 Continuations (theory)
🟢 Continuations (practice)
🟢 AsyncSequence
🟢 AsyncStream
🟢 Async Algorithms
Читать (En)
Большая статья с примерами кода по доступным инструментам Swift Concurrency.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
Selenoid для запуска UI-тестов на Android
В первой статье рассказывается про опыт настройки Selenoid, с какими сложностями можно столкнуться и как их решать. Вторая про развёртывание инфраструктуры для запуска тестов на реальных Android-устройствах на Linux и Mac + примеры кастомных скриптов для генерации конфигурационных файлов для подключенных устройств.
Selenoid – мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах. Как утверждают производители Selenoid, их решение потребляет намного меньше ресурсов, чем, например тот же Selenium.
👉 Настройка Selenoid для запуска UI-тестов на Android
👉 Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве
В первой статье рассказывается про опыт настройки Selenoid, с какими сложностями можно столкнуться и как их решать. Вторая про развёртывание инфраструктуры для запуска тестов на реальных Android-устройствах на Linux и Mac + примеры кастомных скриптов для генерации конфигурационных файлов для подключенных устройств.
Selenoid – мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах. Как утверждают производители Selenoid, их решение потребляет намного меньше ресурсов, чем, например тот же Selenium.
👉 Настройка Selenoid для запуска UI-тестов на Android
👉 Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве
Вредные советы, как приходить с вопросами к техлиду
Абакар Магомедов собрал свой топ-4 вредных советов о том, как не надо приходить с вопросами к лиду.
Особенно полезно может быть джунам.
Читать (Ru)
Абакар Магомедов собрал свой топ-4 вредных советов о том, как не надо приходить с вопросами к лиду.
Особенно полезно может быть джунам.
Читать (Ru)
The best way to load data in ViewModels
Статья с примером реализации своего компонента со стейтами, для более удобной загрузки данных во
Пример кода на GitHub → DataLoadingExample
Читать (En)
Статья с примером реализации своего компонента со стейтами, для более удобной загрузки данных во
ViewModel
и последующей обработкой на UI.Пример кода на GitHub → DataLoadingExample
Читать (En)
Android-приложение без Firebase — миф или реальность?
Автор статьи на основе опыта работы с Firebase рассказывает о плюсах, минусах и альтернативах использования этой платформы. Текст будет полезен тем, кто разрабатывает или планирует разрабатывать мобильные приложения.
👉 Что такое Firebase?
👉 Альтернативы Firebase: почему они важны?
👉 Чем можно заменить FCM?
👉 Remote Config: какие есть аналоги?
👉 Анализ ошибок: Firebase vs Tracer
👉 Аналитика от Firebase: альтернативы есть
👉 Архитектурная гибкость
Читать (Ru)
Автор статьи на основе опыта работы с Firebase рассказывает о плюсах, минусах и альтернативах использования этой платформы. Текст будет полезен тем, кто разрабатывает или планирует разрабатывать мобильные приложения.
👉 Что такое Firebase?
👉 Альтернативы Firebase: почему они важны?
👉 Чем можно заменить FCM?
👉 Remote Config: какие есть аналоги?
👉 Анализ ошибок: Firebase vs Tracer
👉 Аналитика от Firebase: альтернативы есть
👉 Архитектурная гибкость
Читать (Ru)
MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose
В статье рассматриваются и сравниваются функциональные возможности MutableState и MutableStateFlow для управления стейтом в Jetpack Compose.
👉 What is MutableState?
👉 Using MutableState with Backing Properties in ViewModel
👉 Introduction to Flows in Jetpack Compose
👉 Using Flow in ViewModel for Heavy Computations
👉 Comparison of MutableState and MutableStateFlow
Читать (En)
В статье рассматриваются и сравниваются функциональные возможности MutableState и MutableStateFlow для управления стейтом в Jetpack Compose.
👉 What is MutableState?
👉 Using MutableState with Backing Properties in ViewModel
👉 Introduction to Flows in Jetpack Compose
👉 Using Flow in ViewModel for Heavy Computations
👉 Comparison of MutableState and MutableStateFlow
Читать (En)
Обновление AppMetrica: Инсайты
Новый инструмент Инсайты анализирует изменения основных метрик приложения и сообщает о самых заметных колебаниях всплывающими уведомлениями владельцу приложения, а также пользователям с ролями чтение и редактирование
Вот, что можно отслеживать с помощью Инсайтов:
👉 Изменение TimeSpent в новых версиях приложения;
👉 Изменение доли пользователей, совершающих платежи;
👉 Sticky Factor за неделю;
👉 ARPPU для онлайн-магазинов;
👉 ARPWAU от рекламы;
👉 ARPPU в приложении.
P.S. Если уведомления не показываются, скорее всего, метрики незначительно изменились или со временем выровнялись.
Читать (Ru)
Новый инструмент Инсайты анализирует изменения основных метрик приложения и сообщает о самых заметных колебаниях всплывающими уведомлениями владельцу приложения, а также пользователям с ролями чтение и редактирование
Вот, что можно отслеживать с помощью Инсайтов:
👉 Изменение TimeSpent в новых версиях приложения;
👉 Изменение доли пользователей, совершающих платежи;
👉 Sticky Factor за неделю;
👉 ARPPU для онлайн-магазинов;
👉 ARPWAU от рекламы;
👉 ARPPU в приложении.
P.S. Если уведомления не показываются, скорее всего, метрики незначительно изменились или со временем выровнялись.
Читать (Ru)
Creating Scalable Composables in Jetpack Compose
Гайд-расшифровка гугловского видео про то, как писать масштабируемый Jetpack Compose код.
👉 Planning and Design
👉 Layering Components
👉 Justification for New API
👉 Naming Conventions
👉 Parameters
👉 Modifier Handling
👉 State Management
👉 Accessibility and Semantics
Читать (En)
Гайд-расшифровка гугловского видео про то, как писать масштабируемый Jetpack Compose код.
👉 Planning and Design
👉 Layering Components
👉 Justification for New API
👉 Naming Conventions
👉 Parameters
👉 Modifier Handling
👉 State Management
👉 Accessibility and Semantics
Читать (En)
Почему мы решили перейти с JUnit4 на JUnit5
Статья поможет разобраться в причинах выбора JUnit5 в качестве целевого решения для написания unit‑тестов.
В статье рассматриваются ключевые вопросы: что делает JUnit5 предпочтительным выбором для современных проектов, и какие конкретные улучшения и нововведения он предлагает?
Читать (Ru)
Статья поможет разобраться в причинах выбора JUnit5 в качестве целевого решения для написания unit‑тестов.
В статье рассматриваются ключевые вопросы: что делает JUnit5 предпочтительным выбором для современных проектов, и какие конкретные улучшения и нововведения он предлагает?
Читать (Ru)
Forwarded from Swift Tips
Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+
Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.
👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение
Читать (Ru)
Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.
👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение
Читать (Ru)
Выносите ViewModel из Compose функций
Короткая статья для начинающих про то, почему не стоит передавать ViewModel в качестве параметров в Composable функции.
Читать (Ru)
Короткая статья для начинающих про то, почему не стоит передавать ViewModel в качестве параметров в Composable функции.
Читать (Ru)
Forwarded from Swift Tips
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime
В статье рассматриваются основные подходы к поиску утечек памяти в SwiftUI, имеющиеся инструменты и возможный способ застраховаться от утечек в будущем развитии проекта.
Читать (Ru)
В статье рассматриваются основные подходы к поиску утечек памяти в SwiftUI, имеющиеся инструменты и возможный способ застраховаться от утечек в будущем развитии проекта.
Читать (Ru)
Kotlin Coroutines. От А до Я
Ещё одна большая статья-шпаргалка для начинающих по корутинам.
🟢 Шпаргалка по корутинам
🟢 Зачем нужны корутины?
🟢 Suspend в Котлин
🟢 Библиотека kotlinx.corourines
🟢 Три способа войти в корутинный мир
🟢 Область видимости корутины. CoroutineScope и GlobalScope
🟢 CoroutineContext или как настроить свою корутину
🟢 Работа не Job, или все таки Job? Разбираемся в Job и Deferred
🟢 Запуск корутины с помощью Coroutine Builders. launch и async
🟢 Dispatchers. Основные виды диспетчеров в корутинах и область их применения
🟢 Способы обработок ошибок в корутинах
🟢 Отмена корутин
🟢 Создание своего пользовательского CoroutineScope
Читать (Ru)
Ещё одна большая статья-шпаргалка для начинающих по корутинам.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM