Forwarded from Swift Tips
Using Proxyman to Intercept and Simulate iPhone App Network Requests
Гайд по настройке и использованию Proxyman для перехвата трафика, тестирования API с помощью мок-данных и т.д.
🟢 Background and Requirements
🟢 Installing and Configuring Proxyman and Certificates
🟢 Capturing Network Requests
🟢 Data Simulation (Mock Data)
🟢 Summary and Reflections
Читать (En)
Гайд по настройке и использованию Proxyman для перехвата трафика, тестирования API с помощью мок-данных и т.д.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3
Создаём многомодульную библиотеку на Android: как же собрать fat-aar?
Автор статьи делится опытом и рассказывает как на базе общедоступных средств, сделать свой инструмент для создания многомодульной библиотеки. С автоматизированной сборкой модулей и публикацией артефакта.
Читать (Ru)
Автор статьи делится опытом и рассказывает как на базе общедоступных средств, сделать свой инструмент для создания многомодульной библиотеки. С автоматизированной сборкой модулей и публикацией артефакта.
Читать (Ru)
👍8🔥4❤3
Сценарии использования ServerSocket
Вторая часть про ServerSocket, в которой рассматривается организация общения между двумя приложениями на одном устройстве, ограничения на формат общения и ограничения по времени работы, из‑за политики OC управления фоновыми процессами.
Читать (Ru)
Вторая часть про ServerSocket, в которой рассматривается организация общения между двумя приложениями на одном устройстве, ограничения на формат общения и ограничения по времени работы, из‑за политики OC управления фоновыми процессами.
Читать (Ru)
👍5🔥5❤3
Forwarded from Swift Tips
Enhance Your Code Architecture With SOLID Principles
Ещё одна полезная статья про SOLID, с разбором распространенных ошибок, которые нарушает эти принципы. Каждый принцип рассматривается на простом для понимания примере, на Swift`е.
Читать (En)
Ещё одна полезная статья про SOLID, с разбором распространенных ошибок, которые нарушает эти принципы. Каждый принцип рассматривается на простом для понимания примере, на Swift`е.
Читать (En)
👍5🔥3❤2
Как мы следим за качеством unit-тестов
Статья от разработчика из СБЕРа про unit-тесты, в которой он рассказывает про лучшие практики, применяемые командой для написания тестов и рассматривает подходы для повышения их эффективности.
👉 Выбор библиотек и технологий
👉 Типичные проблемы
👉 Эффективная организация тестов
👉 Документация тестов
👉 Грамотное использование доступных инструментов
👉 Регулярный анализ производительности
Читать (Ru)
Статья от разработчика из СБЕРа про unit-тесты, в которой он рассказывает про лучшие практики, применяемые командой для написания тестов и рассматривает подходы для повышения их эффективности.
👉 Выбор библиотек и технологий
👉 Типичные проблемы
👉 Эффективная организация тестов
👉 Документация тестов
👉 Грамотное использование доступных инструментов
👉 Регулярный анализ производительности
Читать (Ru)
👍8🔥4❤3
Как работать с Custom Layout в Jetpack Compose
Довольно крутая и большая статья от разработчика из Авито, про кастомные Layout в Jetpack Compose.
🟢 Контекст. Зачем нам кастомные Layout
🟢 Как не стоит изменять Layout в Compose
🟢 Layout в Jetpack Compose. Фазы фрейма
🟢 Изменение layout отдельного компонента
🟢 Кастомный Layout
🟢 Кастомный Layout. MultiMeasureLayout
🟢 Кастомный Layout. Intrinsic Measurements
🟢 Отложенная композиция
🟢 Отложенная композиция в SubcomposeLayout
🟢 Кастомный LazyLayout
🟢 Кастомный LazyLayout. MeasurePolicy
🟢 Что стоит запомнить
Читать (Ru)
Довольно крутая и большая статья от разработчика из Авито, про кастомные Layout в Jetpack Compose.
В этой статье вспоминаем, как вообще работают лейауты в Compose, обсуждаем изменение лейаута отдельного компонента, смотрим, как создавать кастомные Layout и LazyLayout и учимся откладывать композицию. И всё это на примерах, в том числе из дизайн-системы Авито.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍6🔥3
Dagger 2 и жизненный цикл
Автор статьи рассказывает как делал свою реализацию по управлению жизненым циклом Dagger компонентов, а именно автоматическое создание и очищение компонентов.
Требования к реализации
👉 Простое создание DI‑компонентов
👉 Создание DI‑компонентов по мере необходимости
👉 Хранение DI‑компонента ровно до тех пор, пока в нём есть необходимость
👉 Доступность DI‑зависимостей в любом модуле проекта
👉 Связь между «родителями» и дочерними компонентами
👉 Исключить циклические зависимости
👉 Автоматизированный жизненный цикл DI‑компонентов
Исходный код проекта с примером на GitHub → SolarSystem
Читать (Ru)
Автор статьи рассказывает как делал свою реализацию по управлению жизненым циклом Dagger компонентов, а именно автоматическое создание и очищение компонентов.
Требования к реализации
👉 Простое создание DI‑компонентов
👉 Создание DI‑компонентов по мере необходимости
👉 Хранение DI‑компонента ровно до тех пор, пока в нём есть необходимость
👉 Доступность DI‑зависимостей в любом модуле проекта
👉 Связь между «родителями» и дочерними компонентами
👉 Исключить циклические зависимости
👉 Автоматизированный жизненный цикл DI‑компонентов
Исходный код проекта с примером на GitHub → SolarSystem
Читать (Ru)
👍14❤3🔥3🥴1
Автоматизация версионирования в Kotlin Multiplatform: Решение для Android и iOS
Автор статьи рассказывает и делится примером реализации, как автоматизировать версию приложения в Kotlin Multiplatformдля Android и iOS.
Пример кода на GitHub → VersionExample
Читать (Ru)
Автор статьи рассказывает и делится примером реализации, как автоматизировать версию приложения в Kotlin Multiplatformдля Android и iOS.
Пример кода на GitHub → VersionExample
Читать (Ru)
👍8❤4🔥4
Google массово блокирует устройства
Пользователи Pixel сообщают о блокировке девайсов. По некоторым источникам, за ночь было заблокированно около 3 500 000 Pixel-девайсов, без возможности восстановления.
Читать (En)
Пользователи Pixel сообщают о блокировке девайсов. По некоторым источникам, за ночь было заблокированно около 3 500 000 Pixel-девайсов, без возможности восстановления.
Читать (En)
🤣49😐9🤯7😱3🥴2✍1🤷♂1👌1
Forwarded from Swift Tips
Behind the scenes of async functions
Ещё одна относительно большая статья про Swift Concurrency.
🟢 Async functions
🟢 Async → await
🟢 Tasks
🟢 Jobs
🟢 Actors
🟢 Executors
🟢 Cooperative Thread Pool
🟢 Types of executors
🟢 Executors and Threads
🟢 Recap for Full Picture
Читать (En)
Ещё одна относительно большая статья про Swift Concurrency.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥4
Как мы ускоряли Android-сборку «селлера»
Разработчик из Ozon рассказывает как они ускоряли время сборки приложения Ozon Seller.
👉 Gradle Caches
👉 Ретроспектива api-модулей
👉 Переход с kapt на KSP
👉 Удаление неиспользуемых зависимостей
👉 Использование Non-Transitive R Classes
👉 Набор общих рекомендаций от команды Android
👉 Включение Gradle параметров в
Читать (Ru)
Разработчик из Ozon рассказывает как они ускоряли время сборки приложения Ozon Seller.
👉 Gradle Caches
👉 Ретроспектива api-модулей
👉 Переход с kapt на KSP
👉 Удаление неиспользуемых зависимостей
👉 Использование Non-Transitive R Classes
👉 Набор общих рекомендаций от команды Android
👉 Включение Gradle параметров в
gradle.propertiesЧитать (Ru)
🔥12👍5❤3
Finding unnecessary Component Dependencies with Dagger SPI
Полезная статья про механизм Dagger SPI: как он работает и как с помощью него искать неиспользуемые зависимости в Dagger/Hilt графе.
Пример кода из статьи → DaggerUnusedValidator
Читать (En)
Полезная статья про механизм Dagger SPI: как он работает и как с помощью него искать неиспользуемые зависимости в Dagger/Hilt графе.
Пример кода из статьи → DaggerUnusedValidator
Читать (En)
👍6❤3🔥3
Разбираем чистую архитектуру в Android: от а до я
+1 статья с разбором чистой архитектуры в Android. Принципиально ничего нового: слои, юзкейсы, репозитории, зависимости и т.д.
Читать (Ru)
+1 статья с разбором чистой архитектуры в Android. Принципиально ничего нового: слои, юзкейсы, репозитории, зависимости и т.д.
Читать (Ru)
🥱23🔥5👍4❤2
Как мы сделали дизайн-систему для мобильных устройств и TV
Большая и полезная статья от разработчика из RuStore про дизайн-систему, в которой разбираются две ключевые темы: токены и компоненты.
Читать (Ru)
Большая и полезная статья от разработчика из RuStore про дизайн-систему, в которой разбираются две ключевые темы: токены и компоненты.
Читать (Ru)
👍5❤4🔥3
ServerSocket на Android в пределах одной сети
Заключительная часть про ServerSocket, в которой разбираются примеры взаимодействия между устройствами в пределах одной Wi-Fi‑сети.
Читать (Ru)
Заключительная часть про ServerSocket, в которой разбираются примеры взаимодействия между устройствами в пределах одной Wi-Fi‑сети.
Читать (Ru)
👍6❤5🔥4
Реактивное профилирование Android-приложений
Кто занимается профилированием/анализом производительности приложений, знает, что с существующими инструментам это делать не всегда удобно.
Так вот, команда мобильной разработки Яндекса создала и выложила в опенсорс новую библиотеку для измерения производительности — Demeter. Библиотека достаточно просто интегрируется в проект, автоматически замеряет время выполнения методов, показывает время инициализации Dagger-зависимостей и даже умеет анализировать Composable-функции на частоту рекомпозиций – всё это работает из коробки, без лишних танцев с бубном.
Ещё один важный момент – Demeter умеет проверять сторонние библиотеки/SDK подключённые к проекту, что на мой взгляд является жирным плюсом. А если вам вдруг чего-то не хватает, можно написать собственный плагин – всё это легко подрубается через Kotlin Compiler Plugin.
Репозиторий тут → Demeter
Подробнее о том, как библиотека устроена под капотом и сравнение с другими инструментами читайте в статье.
Кто занимается профилированием/анализом производительности приложений, знает, что с существующими инструментам это делать не всегда удобно.
Так вот, команда мобильной разработки Яндекса создала и выложила в опенсорс новую библиотеку для измерения производительности — Demeter. Библиотека достаточно просто интегрируется в проект, автоматически замеряет время выполнения методов, показывает время инициализации Dagger-зависимостей и даже умеет анализировать Composable-функции на частоту рекомпозиций – всё это работает из коробки, без лишних танцев с бубном.
Ещё один важный момент – Demeter умеет проверять сторонние библиотеки/SDK подключённые к проекту, что на мой взгляд является жирным плюсом. А если вам вдруг чего-то не хватает, можно написать собственный плагин – всё это легко подрубается через Kotlin Compiler Plugin.
Репозиторий тут → Demeter
Подробнее о том, как библиотека устроена под капотом и сравнение с другими инструментами читайте в статье.
🔥9👍5❤4👏4
Understanding the Internals of Side-Effect Handlers in Jetpack Compose
Достаточно подробная статья по сайд эффектам в Jetpack Compose: что это такое, как с ними работать и как они устроены под капотом.
🟢 What is a Side-Effect?
🟢 LaunchedEffect
🟢 DisposableEffect
🟢 SideEffect
Читать (En)
Достаточно подробная статья по сайд эффектам в Jetpack Compose: что это такое, как с ними работать и как они устроены под капотом.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤3👌1
Debugging Coroutines in IntelliJ and Android Studio
Небольшая статья про то, как дебажить корутины в IDE (IntelliJ IDEA и Android Studio) разными способами.
👉 Logging
👉 Run/Debug Configurations
👉 GUI Debugging
👉 Experimental Coroutine Debugging in Test
Читать (En)
Небольшая статья про то, как дебажить корутины в IDE (IntelliJ IDEA и Android Studio) разными способами.
👉 Logging
👉 Run/Debug Configurations
👉 GUI Debugging
👉 Experimental Coroutine Debugging in Test
Читать (En)
👍7🔥4❤2
Android Architecture
Несколько новых статей про архитектуру из этого блога, про Data слой и реализацию безопасного получения/обновления данных(обработка ошибок, кеширование, маппинг, Retry).
• Data Layer
• Fetchers update
Несколько новых статей про архитектуру из этого блога, про Data слой и реализацию безопасного получения/обновления данных(обработка ошибок, кеширование, маппинг, Retry).
• Data Layer
• Fetchers update
👍8🔥4❤3
Как работает Robolectric и почему это важно знать
Подробная статья про то, как на самом деле работает магия Robolectric и почему эти знания могут пригодиться любому android-разработчику.
Читать (Ru)
Подробная статья про то, как на самом деле работает магия Robolectric и почему эти знания могут пригодиться любому android-разработчику.
Читать (Ru)
👍9🔥5❤4
Securing Android: Behind a few seconds of payment transaction
Большая статья на тему организации безопасности в Android-приложении.
👉 Protecting Your App from Reverse Engineering & Debugging
👉 Securing Execution Environment
👉 Preventing Data Leakage & Unauthorized Access
👉 Strengthening Authentication & Secure Communication
👉 Secure Cryptography & Key Management
👉 Enhancing System Security & Updates
👉 Advanced Security Techniques
Читать (En)
Большая статья на тему организации безопасности в Android-приложении.
👉 Protecting Your App from Reverse Engineering & Debugging
👉 Securing Execution Environment
👉 Preventing Data Leakage & Unauthorized Access
👉 Strengthening Authentication & Secure Communication
👉 Secure Cryptography & Key Management
👉 Enhancing System Security & Updates
👉 Advanced Security Techniques
Читать (En)
👍12🔥7❤3