Unit-тесты в Android для начинающего разработчика
Неплохая, вводная статья с практическими примерами, про Unit-тесты в Android.
👉 Преимущества Unit-тестирования
👉 Инструменты для Unit-тестирования в Android
👉 Теория Unit-тестирования
👉 Практические примеры
Читать (Ru)
Неплохая, вводная статья с практическими примерами, про Unit-тесты в Android.
👉 Преимущества Unit-тестирования
👉 Инструменты для Unit-тестирования в Android
👉 Теория Unit-тестирования
👉 Практические примеры
Читать (Ru)
Forwarded from Swift Tips
iOS 18 and iPadOS 18 UI kit for Figma
Apple выкатила UI kit iOS 18 в Figma.
New for iOS 18 and iPadOS 18:
🟢 Color variables for all system colors with light, dark and dark elevated values
🟢 Mode for switching between light, dark, and tinted app icons
🟢 Updated app icon artwork
🟢 Examples page for most system components and experiences
🟢 New iPadOS floating tab bar
🟢 Improved organization of instance properties for faster customization
🟢 New Control Center and Lock Screen components with customizable controls
🟢 See Change Log for full details.
Смотреть🌐
Apple выкатила UI kit iOS 18 в Figma.
New for iOS 18 and iPadOS 18:
Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
Получение D-U-N-S номера для мобильных разработчиков
Как получить DUNS и что для это требуется, читайте в статье.
В прошлом году Google Play стал требовать DUNS номер для регистрации новых аккаунтов, если он создан для организации, а также для подтверждения уже существующих аккаунтов.
Номер DUNS - это уникальный девятизначный идентификатор, присваиваемый одним из крупнейших кредитных бюро для бизнеса. Номера DUNS выдаются компаниям по всему миру и используются ими. Он привязан к вашему кредитному профилю и используется кредиторами, продавцами и снабженцами для проверки вашего кредитного рейтинга и оценки финансового состояния вашей компании.
Читать (Ru)
Как получить DUNS и что для это требуется, читайте в статье.
В прошлом году Google Play стал требовать DUNS номер для регистрации новых аккаунтов, если он создан для организации, а также для подтверждения уже существующих аккаунтов.
Номер DUNS - это уникальный девятизначный идентификатор, присваиваемый одним из крупнейших кредитных бюро для бизнеса. Номера DUNS выдаются компаниям по всему миру и используются ими. Он привязан к вашему кредитному профилю и используется кредиторами, продавцами и снабженцами для проверки вашего кредитного рейтинга и оценки финансового состояния вашей компании.
Читать (Ru)
Forwarded from Swift Tips
Принципы SOLID на примере iOS-разработки
Давненько не было материалов по SOLID, вот держите. Детальный туториал с примерами под iOS, что это такое и зачем нужны.
SOLID — это акроним из первых букв пяти основных принципов проектирования в объектно-ориентированном программировании.
🟢 Single Responsibility (SRP) — принцип единственной ответственности
🟢 Open-Closed (OCP) — принцип открытости-закрытости
🟢 Liskov Substitution (LSP) — принцип подстановки Барбары Лисков
🟢 Interface Segregation (ISP) — принцип разделения интерфейсов
🟢 Dependency Inversion (DIP) — принцип инверсии зависимостей
Читать (Ru)
Давненько не было материалов по SOLID, вот держите. Детальный туториал с примерами под iOS, что это такое и зачем нужны.
SOLID — это акроним из первых букв пяти основных принципов проектирования в объектно-ориентированном программировании.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Swift Tips
Макросы — напишут код за вас, но есть нюанс…
Большая статья, которая поможет узнать, что такое макросы и как они работают, а также понять, стоит ли добавлять их в свой проект.
👉 Коротко про макросы
👉 Отличие макросов от property wrapper
👉 Как работают макросы
👉 Роли макросов
👉 Зачем нужны макросы
👉 Где используются макросы
👉 SwiftSyntax
👉 Как SwiftSyntax связан с макросами?
👉 Где еще используется SwiftSyntax?
👉 Библиотеки
👉 ActorMacro
👉 Полное синтаксическое дерево SmallTestClass
👉 Тестирование
👉 Скорость билда проекта с макросами
Читать (Ru)
Большая статья, которая поможет узнать, что такое макросы и как они работают, а также понять, стоит ли добавлять их в свой проект.
👉 Коротко про макросы
👉 Отличие макросов от property wrapper
👉 Как работают макросы
👉 Роли макросов
👉 Зачем нужны макросы
👉 Где используются макросы
👉 SwiftSyntax
👉 Как SwiftSyntax связан с макросами?
👉 Где еще используется SwiftSyntax?
👉 Библиотеки
👉 ActorMacro
👉 Полное синтаксическое дерево SmallTestClass
👉 Тестирование
👉 Скорость билда проекта с макросами
Читать (Ru)
Как я перестал волноваться и полюбил ошибки в корутинах: поймай меня если сможешь
Небольшая статья с разбором того, как работает обработка ошибок в корутинах.
Читать (Ru)
Небольшая статья с разбором того, как работает обработка ошибок в корутинах.
Читать (Ru)
Coroutine Essentials
Ещё одна большая и детальная статья с разбором корутин(многопоточность, concurrency и вот это вот всё) с иллюстрациями и примерами.
👉 Single-Threaded, Blocking Code
👉 Coroutines and Concurrency
👉 Introduction to Coroutines
👉 Modeling the Construction Site
👉 Multithreaded Concurrency
👉 Cancellations
Читать (En)
Ещё одна большая и детальная статья с разбором корутин(многопоточность, concurrency и вот это вот всё) с иллюстрациями и примерами.
👉 Single-Threaded, Blocking Code
👉 Coroutines and Concurrency
👉 Introduction to Coroutines
👉 Modeling the Construction Site
👉 Multithreaded Concurrency
👉 Cancellations
Читать (En)
Kotlin Coroutines под капотом
Завершаем рабочую неделю корутинами и в догонку ко вчерашнему посту, ещё одна, свежая и большая статья про то, как корутины устроены под капотом.
👉 Знакомство с крутыми перцами: CoroutineContext и CoroutineScope
👉 Continuation интерфейс и реализация suspend блока
👉 Что же такое корутина?
👉 А если в корутине цепочка из suspend функций?
👉 Переключение потоков, delay() и CoroutineDispatcher
👉 Дочерние корутины, EventLoop и runBlocking
👉 Заключение
P.S. Статьи действительно толковые, забирайте, чтоб не потерять.
Читать (Ru)
Завершаем рабочую неделю корутинами и в догонку ко вчерашнему посту, ещё одна, свежая и большая статья про то, как корутины устроены под капотом.
👉 Знакомство с крутыми перцами: CoroutineContext и CoroutineScope
👉 Continuation интерфейс и реализация suspend блока
👉 Что же такое корутина?
👉 А если в корутине цепочка из suspend функций?
👉 Переключение потоков, delay() и CoroutineDispatcher
👉 Дочерние корутины, EventLoop и runBlocking
👉 Заключение
P.S. Статьи действительно толковые, забирайте, чтоб не потерять.
Читать (Ru)
Dependency Management - Best Practices for Naming Gradle Version Catalog Entries
Gradle опубликовали лучшие практики по неймингу в Version Catalog.
Читать (En)
Gradle опубликовали лучшие практики по неймингу в Version Catalog.
Читать (En)
Зарплаты IT-специалистов в первой половине 2024: +8% по всей России
Хабр выкатили динамику зарплат за первую половину 2024 года. Если коротко, то всё хорошо, зп растёт практически во всех языках программирования.
Самый ощутимый рост был у разработчиков в Kotlin (+16%), до 290 000 ₽, C (+14%) до 180 000 ₽, также на 11% выросли зарплаты в Swift и Elixir.
Зарплаты снизились только у программистов Objective-С — на 10%, до 342 000 ₽ и Ruby — на 11%, до 250 000 ₽.
Сравнить статистику можно с прошлым периодом, за второе полугодие 2023 года.
Читать (Ru)
Хабр выкатили динамику зарплат за первую половину 2024 года. Если коротко, то всё хорошо, зп растёт практически во всех языках программирования.
Самый ощутимый рост был у разработчиков в Kotlin (+16%), до 290 000 ₽, C (+14%) до 180 000 ₽, также на 11% выросли зарплаты в Swift и Elixir.
Зарплаты снизились только у программистов Objective-С — на 10%, до 342 000 ₽ и Ruby — на 11%, до 250 000 ₽.
Сравнить статистику можно с прошлым периодом, за второе полугодие 2023 года.
Читать (Ru)
Видео с прозрачностью на Jetpack Compose – запросто
Статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android-разработкой в целом.
Читать (Ru)
Статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android-разработкой в целом.
Читать (Ru)
This media is not supported in your browser
VIEW IN TELEGRAM
Improving video playback with ExoPlayer
Ещё одна статья про работу с видео, а именно про то, как улучшить проигрывание видео и более эффективно использовать ExoPlayer в вашем приложении.
Читать (En)
Ещё одна статья про работу с видео, а именно про то, как улучшить проигрывание видео и более эффективно использовать ExoPlayer в вашем приложении.
Читать (En)
Stack vs. Heap in Kotlin: Understanding Memory
Короткая статья про то, как в Kotlin устроено распределение сущностей в памяти.
👉 What is Stack Memory?
👉 What is Heap Memory?
👉 Breaking it Down: Stack vs. Heap
👉 Why Does It Matter?
Читать (En)
Короткая статья про то, как в Kotlin устроено распределение сущностей в памяти.
👉 What is Stack Memory?
👉 What is Heap Memory?
👉 Breaking it Down: Stack vs. Heap
👉 Why Does It Matter?
Читать (En)
Как устроены аннотации в Kotlin. Часть 2
Перевод второй части из этого цикла, в которой рассматривается кодовая база Moshi в качестве примера того, как реальная библиотека использует процессинг аннотаций, рефлексию и lint.
Читать (Ru)
Перевод второй части из этого цикла, в которой рассматривается кодовая база Moshi в качестве примера того, как реальная библиотека использует процессинг аннотаций, рефлексию и lint.
Читать (Ru)
The Complexities of Clean Architecture Use Cases
В статье рассматриваются некоторые проблемы, которые могут возникнуть при строгом соблюдении всех правил чистой архитектуры, в частности c Use Case`ами и Single Responsibility Principle.
Не сказать, что там прям что-то новое, но в целом почитать можно. Ну и не забывайте посматривать в комменты 😉
Читать (En)
В статье рассматриваются некоторые проблемы, которые могут возникнуть при строгом соблюдении всех правил чистой архитектуры, в частности c Use Case`ами и Single Responsibility Principle.
Не сказать, что там прям что-то новое, но в целом почитать можно. Ну и не забывайте посматривать в комменты 😉
Читать (En)
Forwarded from Swift Tips
Виды логирования в Swift
Статья для начинающих, в которой разбираются виды принтов с примером реализации своего небольшого логгера, который можно внедрить сразу, параллельно чтению.
👉 Print
👉 DebugPrint
👉 Dump
👉 OSLog
👉 Logger
Цель статьи – сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет.
Читать (Ru)
Статья для начинающих, в которой разбираются виды принтов с примером реализации своего небольшого логгера, который можно внедрить сразу, параллельно чтению.
👉 DebugPrint
👉 Dump
👉 OSLog
👉 Logger
Цель статьи – сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет.
Читать (Ru)
Как публиковать библиотеку в Maven Central Portal в 2024 году
Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.
Не пошаговая инструкция, а руководство к действию, как опубликовать библиотеку в Maven Central Portal в 2024 году.
Читать (Ru)
Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.
Не пошаговая инструкция, а руководство к действию, как опубликовать библиотеку в Maven Central Portal в 2024 году.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?
Достаточно подробная и полезная статья от команды Стингрей Технолоджиз, про уязвимость в Jetpack Navigation, которую недавно обнаружили специалисты из компании Positive Technologies.
👉 О пользовательском интерфейсе Android
👉 О Jetpack Navigation
👉 Описание уязвимости
👉 Эксплуатация уязвимости
👉 Практика
👉 Навигация к целевому Фрагменту
👉 Атака на WebViewFragment
👉 Как защитить приложение?
👉 Защита в логике
👉 Исследование
👉 Выводы
Читать (Ru)
Достаточно подробная и полезная статья от команды Стингрей Технолоджиз, про уязвимость в Jetpack Navigation, которую недавно обнаружили специалисты из компании Positive Technologies.
👉 О пользовательском интерфейсе Android
👉 О Jetpack Navigation
👉 Описание уязвимости
👉 Эксплуатация уязвимости
👉 Практика
👉 Навигация к целевому Фрагменту
👉 Атака на WebViewFragment
👉 Как защитить приложение?
👉 Защита в логике
👉 Исследование
👉 Выводы
Читать (Ru)