Зарплаты 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)
PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose
Статья по бóльшей части для начинающих, про KeyStore в контексте мобильной разработки: что это, для чего нужен и с примером реализации экрана с пинкодом для входа в приложение.
P.S. На код в статье, как на эталонный не стоит ориентироваться. Можно почитать для общего понимания принципа работы.
Читать (Ru)
Статья по бóльшей части для начинающих, про KeyStore в контексте мобильной разработки: что это, для чего нужен и с примером реализации экрана с пинкодом для входа в приложение.
P.S. На код в статье, как на эталонный не стоит ориентироваться. Можно почитать для общего понимания принципа работы.
Читать (Ru)
Как заглянуть под капот Composable функции
Довольно интересная и полезная статья от Абакара Магомедова (главный техлид в Альфа-Банке), в которой разбирается, как Composable-функции меняются при компиляции и как работает аннотация
Читать (Ru)
Довольно интересная и полезная статья от Абакара Магомедова (главный техлид в Альфа-Банке), в которой разбирается, как Composable-функции меняются при компиляции и как работает аннотация
@Composable
.Читать (Ru)
Gradle + GitLab: эффективный и бесплатный билд-кэш
Эта заметка является чем-то вроде гайда по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.
Читать (Ru)
Эта заметка является чем-то вроде гайда по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.
Читать (Ru)
Forwarded from Swift Tips
Отрицание, гнев, торг: как дизайну и разработке найти общий язык
Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.
В статье размышляет над его результатами и заодно делится полезными практиками, которые помогут наладить взаимодействие дизайна и разработки: чек-лист для подготовки макетов, поиск корнер-кейсов, спецификация, груминг, саппорт, дизайн-ревью и прочие заклинания.
Статья будет полезна не только дизайнерам, но и разработчикам, QA-инженерам, продактам и всем, кто заинтересован в качестве конечного решения на проде.
Читать (Ru)
Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.
В статье размышляет над его результатами и заодно делится полезными практиками, которые помогут наладить взаимодействие дизайна и разработки: чек-лист для подготовки макетов, поиск корнер-кейсов, спецификация, груминг, саппорт, дизайн-ревью и прочие заклинания.
Статья будет полезна не только дизайнерам, но и разработчикам, QA-инженерам, продактам и всем, кто заинтересован в качестве конечного решения на проде.
Читать (Ru)
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)