Kotlin
2.15K subscribers
299 photos
140 videos
18 files
436 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Маленький экран — серьёзный вызов!

В VK мобильные разработчики создают опыт, который помещается в карман, но работает на миллионах устройств. Узнайте об их подходах к сложным задачам и ключевых результатах. По ссылке — ролики и даже вакансии!
Debounce vs Sample в Kotlin Flow

Ну что ж, пора снова погрузиться в мир Flow! Сегодня мы выносим на первый план два недооценённых инструмента: debounce и sample.

Про debounce многие из вас уже слышали, а вот про sample — гораздо реже. И, если быть честными, некоторые вообще используют debounce неправильно. Так что сейчас мы разложим всё по полочкам и сделаем эти концепции предельно понятными. Погнали! 🔥

https://proandroiddev.com/debounce-vs-sample-in-kotlin-flow-a89b4a94c893

✍️ @kotlin_lib
👍2
Kotlin: val != Immutable? 🤔

Многие новички (и не только) живут с убеждением, что ключевое слово val гарантирует неизменяемость данных. Но так ли это на самом деле?

В недавней статье на ProAndroidDev разбирают популярное заблуждение: val - это read-only (доступ только для чтения), но никак не immutable (неизменяемость).

Вот два кейса, когда ваш «неизменяемый» val может измениться:

1️⃣ Изменяемость самого объекта
val гарантирует только то, что ссылка на объект останется той же. Но если объект внутри изменяемый - его состояние можно менять без проблем.


val list = mutableListOf(1, 2, 3)
list.add(4) // Ссылка та же, содержимое изменилось


2️⃣ Кастомные геттеры
Это самый коварный момент. Свойство val может возвращать разные значения при каждом обращении, если у него переопределен get().


val random: Int
get() = Random.nextInt()


В статье также приводят интересную статистику: в опросе 41% разработчиков ответили, что считают val именно immutable, что технически неверно.

По-настоящему неизменяемым объект становится только тогда, когда он состоит из примитивов или других неизменяемых объектов (например, Data Class, где все поля val и нет ссылок на мутабельные типы).

https://proandroiddev.com/the-val-property-immutable-in-kotlin-2e4cf49207d0

✍️ @kotlin_lib
🤡3👍2🫡1
SourceCraft обновился — теперь всё ещё проще, быстрее и безопаснее

🤖 ИИ-обновления помогают тестировать код: улучшенный поиск уязвимостей и генерация описаний к изменениям теперь встроены в платформу.
🔧 Для команд: поддержка Gitlab CI/CD YAML, обновлённая система релизов, web-интерфейс для решения конфликтов в PR и управление командами в одном окне.
🔒 Для безопасности: новый дэшборд уязвимостей по всей организации, страница Code Scanning с результатами SAST, rescan и список уязвимых библиотек в SCA. Платформа прошла оценку соответствия ФЗ-152, PCI DSS и ГОСТ 57580.

А еще, обновлён UI для CI/CD и добавлены Telegram-уведомления.

Расскажем в подробностях и ответим на вопросы в канале
👍1