Настраиваем CI/CD для тестовой инфраструктуры Android
Гайд по настройке CI/CD для тестовой инфраструктуры и интеграции между Kaspresso, Allure TestOps и Gitlab CI.
👉 Загрузка результатов тестов из Gitlab
👉 Аутентификация Gitlab сборки
👉 Настройка GitLab проекта для загрузки тестовых данных
👉 Создание скрипта сборки
Читать (Ru)
Гайд по настройке CI/CD для тестовой инфраструктуры и интеграции между Kaspresso, Allure TestOps и Gitlab CI.
👉 Загрузка результатов тестов из Gitlab
👉 Аутентификация Gitlab сборки
👉 Настройка GitLab проекта для загрузки тестовых данных
👉 Создание скрипта сборки
Читать (Ru)
👍12❤1🔥1🤔1
Eliminating coroutine races
Статья с примерами races condition в корутинах и вариантами решения.
Читать (En)
Статья с примерами races condition в корутинах и вариантами решения.
Читать (En)
👍8🔥2❤1
Forwarded from Swift Tips
Awesome iOS Dev Tools
Забирайте большущий список Awesome iOS Dev Tools.
• Analytics
• App Store Optimization
• Backends
• Code
• Debugging
• Deployment
• Design
• Documentation
• Graphics & Animation
• Localization
• Machine Learning
• Mapping & Location
• Messaging
• Monetisation & Payments
• Networking
• Productivity
• Support
• Testing
Читать (En)
Забирайте большущий список Awesome iOS Dev Tools.
• Analytics
• App Store Optimization
• Backends
• Code
• Debugging
• Deployment
• Design
• Documentation
• Graphics & Animation
• Localization
• Machine Learning
• Mapping & Location
• Messaging
• Monetisation & Payments
• Networking
• Productivity
• Support
• Testing
Читать (En)
🔥3❤2👍1
A flexible, modern Android app architecture: complete step-by-step
Продолжение к статье с примером реализации гибкой, современной архитектуры в Android, которая соответствует различным принциам(SOLID, Dependency Inversion, etc).
Принципиально ничего нового, всё те же слои, вьюмодели, юзкейсы и т.д., но всё же.
Предыдущая статья от автора – How to architect Android apps: a deep dive into principles, not rules
Читать (En)
Продолжение к статье с примером реализации гибкой, современной архитектуры в Android, которая соответствует различным принциам(SOLID, Dependency Inversion, etc).
Принципиально ничего нового, всё те же слои, вьюмодели, юзкейсы и т.д., но всё же.
Предыдущая статья от автора – How to architect Android apps: a deep dive into principles, not rules
Читать (En)
👍13🔥3❤2
Jetpack compose — How to implement Custom Pager Indicators
Еще одна статья с примером реализации кастомных Pager ииндикаторов на Jetpack Compose с различными эффектами анимации.
Читать (En)
Еще одна статья с примером реализации кастомных Pager ииндикаторов на Jetpack Compose с различными эффектами анимации.
Читать (En)
👍9❤3🔥1
Leveraging Kotlin Operator Overloading In Android Clean Architecture Use Case Classes
В статье найдете простой пример применения Kotlin оператора invoke для юзкейсов, что позволит сделать ваш код более лаконичным.
А если поиграться с неймингом, могут получиться весьма красивые вызовы. Что-нибудь типа 👇
и затем вызываем –
Читать (En)
В статье найдете простой пример применения Kotlin оператора invoke для юзкейсов, что позволит сделать ваш код более лаконичным.
А если поиграться с неймингом, могут получиться весьма красивые вызовы. Что-нибудь типа 👇
val getUserProfile: GetUserProfileUseCase…и затем вызываем –
getUserProfile()Читать (En)
❤5👍3👎1🔥1👏1
Kotlin 1.9.0 Released
Там это, Kotlin 1.9.0 зарелизился.
• New Kotlin K2 compiler updates
• Stable replacement of the enum class values
function
• Stable ..< operator for open-ended ranges
• New common function to get regex capture group
by name
• New path utility to create parent directories
• Preview of Gradle configuration cache in
Kotlin Multiplatform
• Changes for Android target support in
Kotlin Multiplatform
• Preview of custom memory allocator in
Kotlin/Native
• Library linkage in Kotlin/Native
• Size-related optimizations in Kotlin/Wasm
Читать (En)
Там это, Kotlin 1.9.0 зарелизился.
• New Kotlin K2 compiler updates
• Stable replacement of the enum class values
function
• Stable ..< operator for open-ended ranges
• New common function to get regex capture group
by name
• New path utility to create parent directories
• Preview of Gradle configuration cache in
Kotlin Multiplatform
• Changes for Android target support in
Kotlin Multiplatform
• Preview of custom memory allocator in
Kotlin/Native
• Library linkage in Kotlin/Native
• Size-related optimizations in Kotlin/Wasm
Читать (En)
👍9❤3🔥3👏1🤔1🤮1
Kotlin Enums — Replace values() with entries
В Kotlin 1.9.0 на замену
В чём отличия можно почитать в статье.
Читать (En)
В Kotlin 1.9.0 на замену
values() в Enum пришло property entries.В чём отличия можно почитать в статье.
Читать (En)
👍14🔥4🤔2
Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах
Объяснения и правила которые помогут проще разобраться как работает механизм обработки ошибок в корутинах.
Читать (Ru)
Объяснения и правила которые помогут проще разобраться как работает механизм обработки ошибок в корутинах.
Читать (Ru)
🔥17👍3👏1
Делаем эмулятор Android через Terminal
Пошаговый гайд как работать с эмулятором через терминал.
👉 Установка инструментов
👉 Создание шаблона
👉 Создание эмулятора
👉 Конфигурация
👉 Запуск
Читать (Ru)
Пошаговый гайд как работать с эмулятором через терминал.
👉 Установка инструментов
👉 Создание шаблона
👉 Создание эмулятора
👉 Конфигурация
👉 Запуск
Читать (Ru)
👍13🔥2🤔1
10 Questions and Answers about ViewModels in Android
10 часто задаваемых вопросов на собесах про ViewModel.
👉 What is a ViewModel?
👉 How does a ViewModel differ from an Activity or Fragment?
👉 How do I create a ViewModel?
👉 What is the purpose of a ViewModelFactory?
👉 How do ViewModels communicate with Activities or Fragments?
👉 Can ViewModels hold references to the Context?
👉 How do ViewModels handle configuration changes?
👉 Can I share data between multiple Fragments using a ViewModel?
👉 Can I test ViewModels?
👉 Can ViewModels replace the need for saving data in onSaveInstanceState()?
Читать (En)
10 часто задаваемых вопросов на собесах про ViewModel.
👉 What is a ViewModel?
👉 How does a ViewModel differ from an Activity or Fragment?
👉 How do I create a ViewModel?
👉 What is the purpose of a ViewModelFactory?
👉 How do ViewModels communicate with Activities or Fragments?
👉 Can ViewModels hold references to the Context?
👉 How do ViewModels handle configuration changes?
👉 Can I share data between multiple Fragments using a ViewModel?
👉 Can I test ViewModels?
👉 Can ViewModels replace the need for saving data in onSaveInstanceState()?
Читать (En)
🔥10👍4❤1
Храним краску с умом: как организовать ресурсы в многомодульном проекте
Разбор нескольких способов организации хранения ресурсов в многомодульных проектах.
Тулза для автоэкспорта ресурсов из Figma → FigmaExport
Пример кода → Brandbook-sample
Читать (Ru)
Разбор нескольких способов организации хранения ресурсов в многомодульных проектах.
Тулза для автоэкспорта ресурсов из Figma → FigmaExport
Пример кода → Brandbook-sample
Читать (Ru)
👍10❤1👎1🔥1🤔1
От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin. Часть 1.
Разбор изменений реализации примитивов синхронизации из стандартной библиотеки Java и пакета
Какие реализации примитивов синхронизации потоков актуальны в контексте корутин, а какие надо использовать с осторожностью и готовность текущих решений к использованию в Kotlin Multiplatform.
В статье рассматриваются
👉 Критические секции
👉 Атомарные переменные
👉 Реактивные переменные
👉 Барьерная синхронизация
Читать (Ru)
Разбор изменений реализации примитивов синхронизации из стандартной библиотеки Java и пакета
java.util.concurrent для Kotlin Coroutines и для языка Kotlin в целом.Какие реализации примитивов синхронизации потоков актуальны в контексте корутин, а какие надо использовать с осторожностью и готовность текущих решений к использованию в Kotlin Multiplatform.
В статье рассматриваются
👉 Критические секции
👉 Атомарные переменные
👉 Реактивные переменные
👉 Барьерная синхронизация
Читать (Ru)
👍21🔥9👎2❤1🥴1
Как мы запускали демоприложения
Статья от ребят из Тинькофф, в которой рассказывается как они ускорили синхронизацию и сборку проекта, состоящего из ~1000 модулей, решили проблему лагающей Android Studio с помощью демоприложений, уменьшили простой и улучшили продуктивность разработчиков.
Статья будет интересна тем, кто работает над многомодульным проектом, где количество модулей перевалило за сотню, время синхронизации измеряется в минутах, а время сборки — в десятках минут.
Читать (Ru)
Статья от ребят из Тинькофф, в которой рассказывается как они ускорили синхронизацию и сборку проекта, состоящего из ~1000 модулей, решили проблему лагающей Android Studio с помощью демоприложений, уменьшили простой и улучшили продуктивность разработчиков.
Статья будет интересна тем, кто работает над многомодульным проектом, где количество модулей перевалило за сотню, время синхронизации измеряется в минутах, а время сборки — в десятках минут.
Читать (Ru)
👍14🤔3❤2💩2❤🔥1👎1🔥1
Работа с асинхронными операциями с помощью Kotlin Coroutines
Еще один большой материал с примерами по корутинам 🔥
👉 Знакомство с Kotlin Coroutines
👉 Области видимости (CoroutineScope)
👉 Диспетчеры (Dispatchers)
👉 Корутин-билдеры (Coroutine Builders)
👉 Задачи (Jobs)
👉 Функции приостановки (Suspend)
👉 Continuation
👉 CoroutineExceptionHandler
👉 SupervisorJob
👉 Заключение
Читать (Ru)
Еще один большой материал с примерами по корутинам 🔥
👉 Знакомство с Kotlin Coroutines
👉 Области видимости (CoroutineScope)
👉 Диспетчеры (Dispatchers)
👉 Корутин-билдеры (Coroutine Builders)
👉 Задачи (Jobs)
👉 Функции приостановки (Suspend)
👉 Continuation
👉 CoroutineExceptionHandler
👉 SupervisorJob
👉 Заключение
Читать (Ru)
👍17🔥5❤1👎1👏1
Injection Points
Обзор нескольких полезных Android API фабрик, с помощью которых мы можем влиять на создание основных компонентов.
👉 AppComponentFactory
👉 LayoutInflater.Factory and Views
👉 FragmentFactory
👉 ViewModelProvider.Factory
👉 WorkManager and WorkerFactory
Читать (En)
Обзор нескольких полезных Android API фабрик, с помощью которых мы можем влиять на создание основных компонентов.
👉 AppComponentFactory
👉 LayoutInflater.Factory and Views
👉 FragmentFactory
👉 ViewModelProvider.Factory
👉 WorkManager and WorkerFactory
Читать (En)
👍10❤3🤔2🔥1
5 Kotlin Tips for a Cleaner Codebase
Несколько советов для написания более понятного, поддерживаемого и читаемого Kotlin кода.
👉 Pay attention to the visibility of classes
👉 Keep the number of top-level declarations to a minimum
👉 Prefer readability over saving a few lines of code
👉 Prefer creating a dedicated data class to using a Pair or Triple
👉 Prefer exhaustive when statements
Читать (En)
Несколько советов для написания более понятного, поддерживаемого и читаемого Kotlin кода.
👉 Pay attention to the visibility of classes
👉 Keep the number of top-level declarations to a minimum
👉 Prefer readability over saving a few lines of code
👉 Prefer creating a dedicated data class to using a Pair or Triple
👉 Prefer exhaustive when statements
Читать (En)
👍7🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Material Design Components for Android 1.9.0
Каким-то образом пропустил новость. В Material Design Components for Android 1.9.0 появился новый компонент – Carousel, который работает на основе RecyclerView, со своим CarouselLayoutManager🔥
Читать (En)
Каким-то образом пропустил новость. В Material Design Components for Android 1.9.0 появился новый компонент – Carousel, который работает на основе RecyclerView, со своим CarouselLayoutManager🔥
Читать (En)
👍28🔥7❤2
Learn Kotlin Flow by real examples for Android
Проект с примерами для изучения Kotlin Flow.
• How to use Kotlin Flow in Android Project?
• Doing simple task in background using Kotlin Flow.
• Doing tasks in series using Kotlin Flow.
• Doing tasks in parallel using Kotlin Flow. Blog
• Making two network calls in parallel using Kotlin Flow.
• Using operators like filter, map, reduce, flatMapConcat, zip, and etc.
• Exception handling in Kotlin Flow
• How to use onCompletion in Flow?
• Retry Task using retry operator in Flow.
• Retry Task with Exponential Backoff in Flow.
• Using Kotlin Flow with Retrofit. Blog
• Using Kotlin Flow with Room Database. Blog
• Using Kotlin Flow with various 3rd party libraries.
• Making two network calls in parallel using Kotlin Flow.
• Doing task in series using Kotlin Flow.
• Writing Unit-Test for ViewModel which uses Kotlin Flow
• Flow and StateFlow
GitHub → Learn-Kotlin-Flow
Проект с примерами для изучения Kotlin Flow.
• How to use Kotlin Flow in Android Project?
• Doing simple task in background using Kotlin Flow.
• Doing tasks in series using Kotlin Flow.
• Doing tasks in parallel using Kotlin Flow. Blog
• Making two network calls in parallel using Kotlin Flow.
• Using operators like filter, map, reduce, flatMapConcat, zip, and etc.
• Exception handling in Kotlin Flow
• How to use onCompletion in Flow?
• Retry Task using retry operator in Flow.
• Retry Task with Exponential Backoff in Flow.
• Using Kotlin Flow with Retrofit. Blog
• Using Kotlin Flow with Room Database. Blog
• Using Kotlin Flow with various 3rd party libraries.
• Making two network calls in parallel using Kotlin Flow.
• Doing task in series using Kotlin Flow.
• Writing Unit-Test for ViewModel which uses Kotlin Flow
• Flow and StateFlow
GitHub → Learn-Kotlin-Flow
🔥16👍3❤1
Android Developer Roadmap 2023
Еще один, очередной роадмап по Android на 2023 год.
К слову, роадмап несколько не стандартный, потому что состоит из списка упражнений для практики. Выполняя каждое упражнение(читай проект/фича), получаешь опыт.
Для тех, кто не может придумать себе проект для практики, самое то.
Читать (En)
Еще один, очередной роадмап по Android на 2023 год.
К слову, роадмап несколько не стандартный, потому что состоит из списка упражнений для практики. Выполняя каждое упражнение(читай проект/фича), получаешь опыт.
Для тех, кто не может придумать себе проект для практики, самое то.
Читать (En)
👍23🔥4❤3
Forwarded from Swift Tips
Полезные iOS-инструменты для дебаггинга
Большая статья с разбором популярных инструментов для дебаггинга(Code, View, Memory, Network, etc).
• print(...)
• LLDB
• Debug View Hierarchy
• Slow Animations
• Color Blended Layers
• Reveal
• Memory Graph Debugger
• Debug Navigator
• Charles
• Postman
• Network Link Conditioner
• Time Profiler
• Animation Hitches
Читать (Ru)
Большая статья с разбором популярных инструментов для дебаггинга(Code, View, Memory, Network, etc).
• print(...)
• LLDB
• Debug View Hierarchy
• Slow Animations
• Color Blended Layers
• Reveal
• Memory Graph Debugger
• Debug Navigator
• Charles
• Postman
• Network Link Conditioner
• Time Profiler
• Animation Hitches
Читать (Ru)
🔥6👍2❤1