Best practices for error handling in Kotlin
Статья с обзором различных способов обработки ошибок в Kotlin.
👉 Exceptions in Coroutines
👉 Uses of Sealed Classes for Error Handling
👉 Functional Error Handling
👉 Uncaught Exception Handlers
👉 Handling Network Errors with Retrofit
👉 Graceful Error Handling with Coroutines
👉 Error Handling with RXJava
Читать (En)
Статья с обзором различных способов обработки ошибок в Kotlin.
👉 Exceptions in Coroutines
👉 Uses of Sealed Classes for Error Handling
👉 Functional Error Handling
👉 Uncaught Exception Handlers
👉 Handling Network Errors with Retrofit
👉 Graceful Error Handling with Coroutines
👉 Error Handling with RXJava
Читать (En)
❤12👍2👎2🔥2
Что посмотреть на выходных.
Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.
Android
• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень
iOS
• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.
Android
• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень
iOS
• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
🔥8👍4❤1
Kotlin’s Supercharged Flow API — Combining and Merging Flows for Reactive Programming
Статья с разбором и примерами работы функций сombine, merge, zip для работы с несколькими flow.
Читать (En)
Статья с разбором и примерами работы функций сombine, merge, zip для работы с несколькими flow.
Читать (En)
👍8🔥4❤1
The Art of Small Animations in Android with Jetpack Compose
Статья с примерами простых анимаций на Jetpack Compose, которые могу придать интерактива и освеживать ваш UI.
Читать (En)
Статья с примерами простых анимаций на Jetpack Compose, которые могу придать интерактива и освеживать ваш UI.
Читать (En)
👍9🔥3❤1
Основы алгоритмов
Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.
С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.
👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы
Читать (Ru)
Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.
С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.
👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы
Читать (Ru)
👍24🔥5💩5❤1😁1
Фундаментальное руководство по пакетам в Java
Подробная, базовая статья по пакетам в Java. Может быть полезно начинающим.
👉 Что такое пакет
👉 Примеры пакетов
👉 Назначение пакетов
👉 Правила создания пакетов
👉 Импорт классов
👉 Компиляция и запуск
👉 Возможные ошибки и их решение
Читать (Ru)
Подробная, базовая статья по пакетам в Java. Может быть полезно начинающим.
👉 Что такое пакет
👉 Примеры пакетов
👉 Назначение пакетов
👉 Правила создания пакетов
👉 Импорт классов
👉 Компиляция и запуск
👉 Возможные ошибки и их решение
Читать (Ru)
🤔5🤮3👍2🔥2
Solving the mystery of recompositions in Compose’s LazyList
Еще одна статья про множественные рекомпозиции в Compose, связанные с модификатором
Читать (En)
Еще одна статья про множественные рекомпозиции в Compose, связанные с модификатором
Modifier.clickable, а именно в способе добавления/передачи модификатора в Composable.Читать (En)
🔥8👍3🤔2
Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics
А вот это уже интересно. Ребята из OK.Tech запилили Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях. Полноценный аналог Crashlytics.
Решение собирает данные о крешах и зависаниях приложений, помогает находить утечки памяти в приложении и на диске. Более того, Tracer умеет профилировать приложения в продакшене для поиска критических мест в производительности.
Модули Трейсера
👉 Crash и ANR
👉 Memory Leaks aka Heap Dumps
👉 Disk Usage
👉 Systrace Profiler
👉 Sampling Profiler
Документация тут.
Выглядит интересно, нужно будет затестить.
Читать (Ru)
А вот это уже интересно. Ребята из OK.Tech запилили Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях. Полноценный аналог Crashlytics.
Решение собирает данные о крешах и зависаниях приложений, помогает находить утечки памяти в приложении и на диске. Более того, Tracer умеет профилировать приложения в продакшене для поиска критических мест в производительности.
Модули Трейсера
👉 Crash и ANR
👉 Memory Leaks aka Heap Dumps
👉 Disk Usage
👉 Systrace Profiler
👉 Sampling Profiler
Документация тут.
Выглядит интересно, нужно будет затестить.
Читать (Ru)
🔥7👍2👏1
Screen Transition Animations with Jetpack Navigation
Простой пример добавления транзишн аниимации в Jetpack Compose / Navigation.
Читать (En)
Простой пример добавления транзишн аниимации в Jetpack Compose / Navigation.
Читать (En)
👍5🔥3❤1👎1
Animated Circular Progress Indicator using Jetpack Compose
Еще одна статья с примером реализации анимированного, кругового прогресса на Jetpack Compose.
Читать (En)
Еще одна статья с примером реализации анимированного, кругового прогресса на Jetpack Compose.
Читать (En)
🔥6👍3🤔2
Используем UI-тесты для поиска утечек
Статья от Циан про организацию поиска утечек памяти в приложении с помощью UI-тестов.
Читать (Ru)
Статья от Циан про организацию поиска утечек памяти в приложении с помощью UI-тестов.
Читать (Ru)
👍9🔥5🤔1
А/Б эксперименты в AppMetrica
В AppMetrica новая фича – А/Б эксперименты, с помощью которых можно проводить тестирование гипотез и определять влияние на показатели продукта (ARPU, Retention, Time Spent) 👍
👉 Тестирование гипотез
👉 Внедрение изменений сразу из интерфейса
👉 Конфигурация флагов
👉 Сложные тесты
Читать (Ru)
В AppMetrica новая фича – А/Б эксперименты, с помощью которых можно проводить тестирование гипотез и определять влияние на показатели продукта (ARPU, Retention, Time Spent) 👍
👉 Тестирование гипотез
👉 Внедрение изменений сразу из интерфейса
👉 Конфигурация флагов
👉 Сложные тесты
Читать (Ru)
👏6🤡4👍2🔥1🤯1
Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
Команда Иви делится опытом использования Compose для ТВ, некоторыми особенностями и трудностями, с которыми столкнулись.
👉 Развитие Android TV и общая архитектура
👉 Создание UI для TV: выбор между Leanback и Jetpack Compose
👉 Недостатки Jetpack Compose для Android TV и несоответствие ожиданиям
👉 Мощь фреймворка Jetpack Compose
👉 Производительность и оптимизации
Читать (Ru)
Команда Иви делится опытом использования Compose для ТВ, некоторыми особенностями и трудностями, с которыми столкнулись.
👉 Развитие Android TV и общая архитектура
👉 Создание UI для TV: выбор между Leanback и Jetpack Compose
👉 Недостатки Jetpack Compose для Android TV и несоответствие ожиданиям
👉 Мощь фреймворка Jetpack Compose
👉 Производительность и оптимизации
Читать (Ru)
🔥11👍5🤮3❤1👎1👏1💩1
Forwarded from Swift Tips
Расширенное управление памятью с помощью Unsafe Swift
В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.
• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение
Читать (Ru)
В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.
• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение
Читать (Ru)
👍3🔥2👏1
Ускоряем поиск по коду в Android Studio
В статье рассматриваются некоторые возможности Android Studio, позволяющие быстрее ориентироваться в коде: находить нужные фрагменты и выявлять связи между ними.
👉 Хлебные крошки для блоков кода
👉 Открыть текущий файл в древе
👉 Умный поиск
👉 Не умный поиск
👉 Find Usages
👉 Поиск (по файлу, в папках, View через LayoutManager, человека)
Читать (Ru)
В статье рассматриваются некоторые возможности Android Studio, позволяющие быстрее ориентироваться в коде: находить нужные фрагменты и выявлять связи между ними.
👉 Хлебные крошки для блоков кода
👉 Открыть текущий файл в древе
👉 Умный поиск
👉 Не умный поиск
👉 Find Usages
👉 Поиск (по файлу, в папках, View через LayoutManager, человека)
Читать (Ru)
🔥8👍3🤔1
Collapsing Toolbar in Jetpack Compose LazyColumn — Three Approaches
Три способа реализовать Collapsing Toolbar на Jetpack Compose.
👉 Using Scaffold
👉 Using Box
👉 Using Scaffold with Material 3’s LargeTopAppBar
Читать (En)
Три способа реализовать Collapsing Toolbar на Jetpack Compose.
👉 Using Scaffold
👉 Using Box
👉 Using Scaffold with Material 3’s LargeTopAppBar
Читать (En)
🔥12👍4🤔3👎1
Exploring Canvas in Jetpack Compose — Crafting Graphics, Animations, and Game Experiences
Неплохая статья с примерами про работу с Canvas в Jetpack Compose.
👉 Getting Started with Canvas
👉 Drawing Shapes and Paths
👉 Custom Data Visualizations
👉 Animating with Canvas
👉 Advanced Techniques — Particles and Effects
👉 Performance Considerations
👉 Near to Real World Example
Читать (En)
Неплохая статья с примерами про работу с Canvas в Jetpack Compose.
👉 Getting Started with Canvas
👉 Drawing Shapes and Paths
👉 Custom Data Visualizations
👉 Animating with Canvas
👉 Advanced Techniques — Particles and Effects
👉 Performance Considerations
👉 Near to Real World Example
Читать (En)
🔥12❤3👍1
Forwarded from Swift Tips
10 quick tips to increase your iOS code quality
Несколько небольших советов, которые помогут улучшить качество кода.
• Use the extension pattern to group chunks of code
• Define a maximum number of lines per file
• Create variables and functions with denoscriptive names
• Take advantage of typealias
• Take care of the “no-happy path”
• Review force unwrap & indexes
• How do you handle sensitive information?
• Avoid code duplication
• Avoid hard-coding messages directly in the code
• Take advantage of pre-built-in features
Читать (En)
Несколько небольших советов, которые помогут улучшить качество кода.
• Use the extension pattern to group chunks of code
• Define a maximum number of lines per file
• Create variables and functions with denoscriptive names
• Take advantage of typealias
• Take care of the “no-happy path”
• Review force unwrap & indexes
• How do you handle sensitive information?
• Avoid code duplication
• Avoid hard-coding messages directly in the code
• Take advantage of pre-built-in features
Читать (En)
👍5🤡4🤔3🔥2
Writing Swift-friendly Kotlin Multiplatform APIs
Серия статей про то, как писать Swift-friendly KMM код.
👉 Part 1. Intro
👉 Part 2. Clashing
👉 Part 3. Disappearing Types
👉 Part 4. Convenience
👉 Part 5. Exceptions
👉 Part 6. Enum and Sealed Classes
👉 Part 7. Coroutines
👉 Extra: Obj-C to Swift
Серия статей про то, как писать Swift-friendly KMM код.
👉 Part 1. Intro
👉 Part 2. Clashing
👉 Part 3. Disappearing Types
👉 Part 4. Convenience
👉 Part 5. Exceptions
👉 Part 6. Enum and Sealed Classes
👉 Part 7. Coroutines
👉 Extra: Obj-C to Swift
🔥12👍2❤1
Forwarded from Swift Tips
Server-Driven UI using SwiftUI
Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.
👉 Window
👉 Container
👉 Layout
👉 Content View
Читать (En)
Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.
👉 Window
👉 Container
👉 Layout
👉 Content View
Читать (En)
👍6🔥2❤1