Статья про equals/hashcode и как это используется в Hash* коллекциях. Базовый вопрос на интервью.
#java #kotlin #collections
https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
#java #kotlin #collections
https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
Medium
How to Answer Hashing Like a Java/Kotlin Expert
Understanding hashing and the relationship between equals() and hashCode() is essential not just for interviews but for writing…
👍19
Комментарии vs. самодокументируемый код: что выбрать?
#android #kotlin #bestpractice
https://habr.com/ru/articles/929600/
#android #kotlin #bestpractice
https://habr.com/ru/articles/929600/
Хабр
Комментарии vs. самодокументируемый код: что выбрать?
Если вы когда-либо сталкивались с чужим кодом (или даже со своим, написанным полгода назад), то знаете, как сложно бывает понять, что именно делает тот или иной фрагмент. В такие моменты особенно...
👍4❤2
Видео о проблеме забытых значений. Когда функция вызывается, но результат не используется. Самый распространенный пример - list.sorted().
#kotlin
https://www.youtube.com/watch?v=OyEfB6Q4Y0s
#kotlin
https://www.youtube.com/watch?v=OyEfB6Q4Y0s
YouTube
Don't forget your values! | Leonid Startsev
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
No one likes to be forgotten, and the results of most non-unit function calls are no exception here. 'Check return value' or 'ignored call result' may sound familiar —…
No one likes to be forgotten, and the results of most non-unit function calls are no exception here. 'Check return value' or 'ignored call result' may sound familiar —…
❤4👍2
Rich Errors в Kotlin 2.4: шаг вперёд или шаг в сторону?
#kotlin #exception #error
https://habr.com/ru/companies/spring_aio/articles/931148/
Вместо того чтобы выбрасывать исключения, теперь функции могут возвращать возможные ошибки как часть своей сигнатуры:
fun fetchUser(): User | NetworkError
Такой подход делает потенциальные сбои явными, упрощает тестирование и избавляет от try-catch для предсказуемых ошибок. Новинка уже доступна в Kotlin 2.4 и, по мнению авторов, особенно полезна в бизнес-логике.
#kotlin #exception #error
https://habr.com/ru/companies/spring_aio/articles/931148/
Хабр
Rich Errors в Kotlin 2.4: шаг вперёд или шаг в сторону?
Команда Spring АйО не могла остаться в стороне и не прокомментировать одну из самых обсуждаемых новинок Kotlin, анонсированную на KotlinConf 2025 — Rich Errors. Вместо того чтобы выбрасывать...
🤔11👍10👎6🖕1
Короткий пост о том, что в Kotlin для создания коллекций существуют удобные build* функции
#kotlin #collections
https://landomen.github.io/posts/kotlin-builder-functions/
#kotlin #collections
https://landomen.github.io/posts/kotlin-builder-functions/
Domen Lanisnik
Kotlin’s Builder Functions: A Better Way to Create Lists, Maps, Strings & Sets
Kotlin offers several convenience functions to create lists, maps, strings, and more without the usual boilerplate code.
👍14
RetainedEffect - Side Effect в Compose на базе новой функции retain
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
Medium
Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles
The Jetpack Compose ecosystem has grown exponentially in recent years, and it is now widely adopted for building production-level UIs in…
👍3
Приоритеты и общее направление развития проектов Kotlin Multiplatform и Compose Multiplatform на ближайшие шесть-двенадцать месяцев
#kotlin #kmp #multiplatform #compose
https://blog.jetbrains.com/kotlin/2025/08/kmp-roadmap-aug-2025/
#kotlin #kmp #multiplatform #compose
https://blog.jetbrains.com/kotlin/2025/08/kmp-roadmap-aug-2025/
The JetBrains Blog
What’s Next for Kotlin Multiplatform and Compose Multiplatform – August 2025 Update | The Kotlin Blog
Discover our priorities and the general direction for Kotlin Multiplatform and Compose Multiplatform over the next six to twelve months.
❤3👍2🥰1
Что нового в JUnit 6: ключевые изменения и улучшения
#junit #test #java #kotlin
https://habr.com/ru/companies/spring_aio/articles/954322/
JUnit 6 вышел спустя восемь лет после релиза JUnit 5. Это не просто очередное обновление — это значительный шаг вперёд в направлении модернизации.
Рассмотрим основные улучшения, и изменения, ломающие обратную совместимость.
#junit #test #java #kotlin
https://habr.com/ru/companies/spring_aio/articles/954322/
Хабр
Что нового в JUnit 6: ключевые изменения и улучшения
Спустя восемь лет после JUnit 5 выходит новая версия популярного фреймворка. JUnit 6 — это не просто обновление, а переход к современной экосистеме Java и Kotlin. В новом переводе от команды Spring...
👍5
Статья с примерами, рассказывающая про использование runCatching вместо try-catch
#android #kotlin
https://proandroiddev.com/kotlin-tips-and-tricks-you-may-not-know-7-goodbye-try-catch-hello-trycatching-7135cb382609
#android #kotlin
https://proandroiddev.com/kotlin-tips-and-tricks-you-may-not-know-7-goodbye-try-catch-hello-trycatching-7135cb382609
Medium
Kotlin Tips and Tricks You May Not Know: #7 — Goodbye try-catch, Hello runCatching!
A cleaner way to handle exceptions in Kotlin with runCatching.
👍7👎1🔥1
Что нового в Kotlin 2.2.21 (и 2.2.20!)
Overview of Kotlin 2.2.20 and 2.2.21
Dataflow-based exhaustiveness checks
Returns in expression bodies
Improved Kotlin contracts
More changes like reified types in catch clauses & invokedynamic-whens
Common atomics API updates
New array copy function
Kotlin/Wasm in Beta & Browser Debugging
Swift export available by default (experimental)
Smaller release binaries
Documentation updates
There’s more to this release!
#kotlin
https://www.youtube.com/watch?v=QWpp5-LlTqA
Overview of Kotlin 2.2.20 and 2.2.21
Dataflow-based exhaustiveness checks
Returns in expression bodies
Improved Kotlin contracts
More changes like reified types in catch clauses & invokedynamic-whens
Common atomics API updates
New array copy function
Kotlin/Wasm in Beta & Browser Debugging
Swift export available by default (experimental)
Smaller release binaries
Documentation updates
There’s more to this release!
#kotlin
https://www.youtube.com/watch?v=QWpp5-LlTqA
YouTube
What's new in Kotlin 2.2.21 (and 2.2.20!)
Kotlin 2.2.20 and its patch release 2.2.21 come with a lot of new features! On the language level, new dataflow checks allow more flexible when-expressions than before, and contracts are getting sweeping updates. Kotlin Multiplatform promotes Kotlin for WebAssembly…
👍6👎1
Исследуем SharedFlow: emit vs tryEmit, как использовать replay и bufferCapacity
#kotlin #coroutines #flow
https://habr.com/ru/companies/wildberries/articles/960676/
#kotlin #coroutines #flow
https://habr.com/ru/companies/wildberries/articles/960676/
Хабр
Исследуем SharedFlow: emit vs tryEmit, как использовать replay и bufferCapacity
Дисклеймер: данная статья — это попытка разобраться в сути вопроса, в том числе совместно с читателями. Если вы заметили неточность/ошибку в проводимых экспериментах или у вас есть чем поделиться по...
1🔥8👍6💩1
Сравнение Hilt и Koin
- The Philosophy: Runtime vs Compile-Time
- How Hilt Actually Works
- How Koin Works Under the Hood
- Performance and Startup Implications
- Developer Experience
- Scoping and Lifecycle Management
- Testability and Swapping Dependencies
- Under the Hood Comparison
- When to Use Which
- Best Practices
#kotlin #di #hilt #koin
https://proandroiddev.com/hilt-vs-koin-the-hidden-cost-of-runtime-injection-and-why-compile-time-di-wins-3d8c522a073b
- The Philosophy: Runtime vs Compile-Time
- How Hilt Actually Works
- How Koin Works Under the Hood
- Performance and Startup Implications
- Developer Experience
- Scoping and Lifecycle Management
- Testability and Swapping Dependencies
- Under the Hood Comparison
- When to Use Which
- Best Practices
#kotlin #di #hilt #koin
https://proandroiddev.com/hilt-vs-koin-the-hidden-cost-of-runtime-injection-and-why-compile-time-di-wins-3d8c522a073b
Medium
Hilt vs Koin: The Hidden Cost of Runtime Injection (and Why Compile-Time DI Wins)
A deep, code-level comparison between Hilt’s compile-time graph generation and Koin’s runtime DSL — performance, architecture and testing.
💩11👍6🔥2
Подборка новостей из мира Kotlin
- Kotlin 2.3.0-RC is out!
- A fresh look for Kotlin docs
- Join the Kotlin team for an AMA on Reddit
- Kotlin Multiplatform: Level up before 2026!
- How Android devs can advance their career with KMP – livestream (December 3)
- KotlinConf’26 Black Friday special
- The KotlinConf’26 Call for Speakers is closing soon
- Kotlin adoption guide
- Your Ktor experience counts – tell us about it
- Getting closer to Exposed 1.0.0!
- Google Summer of Code 2025: What our contributors built
- Quick poll for Android devs
#kotlin #kmp #android
https://blog.jetbrains.com/kotlin/2025/11/kodees-kotlin-roundup-november-edition
- Kotlin 2.3.0-RC is out!
- A fresh look for Kotlin docs
- Join the Kotlin team for an AMA on Reddit
- Kotlin Multiplatform: Level up before 2026!
- How Android devs can advance their career with KMP – livestream (December 3)
- KotlinConf’26 Black Friday special
- The KotlinConf’26 Call for Speakers is closing soon
- Kotlin adoption guide
- Your Ktor experience counts – tell us about it
- Getting closer to Exposed 1.0.0!
- Google Summer of Code 2025: What our contributors built
- Quick poll for Android devs
#kotlin #kmp #android
https://blog.jetbrains.com/kotlin/2025/11/kodees-kotlin-roundup-november-edition
👍3
Что нового в Kotlin 2.3.0
Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution.
Kotlin/JVM: support for Java 25.
Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta.
Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters.
Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more.
Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
Compose compiler: stack traces for minified Android applications.
Standard library: stable time tracking functionality and improved UUID generation and parsing.
#kotlin
https://kotlinlang.org/docs/whatsnew23.html
Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution.
Kotlin/JVM: support for Java 25.
Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta.
Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters.
Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more.
Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
Compose compiler: stack traces for minified Android applications.
Standard library: stable time tracking functionality and improved UUID generation and parsing.
#kotlin
https://kotlinlang.org/docs/whatsnew23.html
Kotlin Help
What's new in Kotlin 2.3.0 | Kotlin
Read the Kotlin 2.3.0 release notes covering new language features, updates to Kotlin Multiplatform, JVM, Native, JS, and Wasm, and build tool support for Gradle and Maven.
👍4❤2
Что нового в Kotlin 2.3.0
Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution.
Kotlin/JVM: support for Java 25.
Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta.
Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters.
Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more.
Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
Compose compiler: stack traces for minified Android applications.
Standard library: stable time tracking functionality and improved UUID generation and parsing.
#kotlin
https://kotlinlang.org/docs/whatsnew23.html
Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution.
Kotlin/JVM: support for Java 25.
Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta.
Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters.
Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more.
Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
Compose compiler: stack traces for minified Android applications.
Standard library: stable time tracking functionality and improved UUID generation and parsing.
#kotlin
https://kotlinlang.org/docs/whatsnew23.html
Kotlin Help
What's new in Kotlin 2.3.0 | Kotlin
Read the Kotlin 2.3.0 release notes covering new language features, updates to Kotlin Multiplatform, JVM, Native, JS, and Wasm, and build tool support for Gradle and Maven.
👍3
Переводим проекты на Android Gradle Plugin 9.0
#kotlin #android #gradle
https://blog.jetbrains.com/kotlin/2026/01/update-your-projects-for-agp9/
#kotlin #android #gradle
https://blog.jetbrains.com/kotlin/2026/01/update-your-projects-for-agp9/
👍3
Статья про внутренние механизмы плагина компилятора kotlinx.serialization, от стратегии генерации промежуточного представления в два прохода до оптимизации с помощью золотой маски для проверки обязательных полей.
#kotlin #serialization
https://www.revenuecat.com/blog/engineering/kotlinx-serialization/
#kotlin #serialization
https://www.revenuecat.com/blog/engineering/kotlinx-serialization/
Revenuecat
How kotlinx.serialization generates code: a compiler plugin deep dive
In this article, you'll dive deep into the internal mechanisms of the kotlinx.serialization compiler plugin.
👍7🔥4❤1
Вышел Kotlin 2.3.20
- Gradle: Compatibility with Gradle 9.3.0 and Kotlin/JVM compilation uses the Build tools API by default.
- Maven: Simplified setup for Kotlin projects.
- Kotlin compiler plugins: Lombok is Alpha and improved JPA support in the kotlin.plugin.jpa plugin.
- Language: Support for name-based destructuring declarations.
- Standard library: New API for creating immutable copies of Map.Entry.
- Kotlin/Native: New interoperability mode for C and Objective-C libraries.
#kotlin
https://kotlinlang.org/docs/whatsnew2320.html
- Gradle: Compatibility with Gradle 9.3.0 and Kotlin/JVM compilation uses the Build tools API by default.
- Maven: Simplified setup for Kotlin projects.
- Kotlin compiler plugins: Lombok is Alpha and improved JPA support in the kotlin.plugin.jpa plugin.
- Language: Support for name-based destructuring declarations.
- Standard library: New API for creating immutable copies of Map.Entry.
- Kotlin/Native: New interoperability mode for C and Objective-C libraries.
#kotlin
https://kotlinlang.org/docs/whatsnew2320.html
Kotlin Help
What's new in Kotlin 2.3.20 | Kotlin
Read the Kotlin 2.3.20 release notes covering new language features, updates to Kotlin Multiplatform, JVM, Native, JS, and Wasm, and build tool support for Gradle and Maven.
👍4
Статья рассказывает, как превращать любые колбэк‑ориентированные Android‑API (включая Google Play Billing, локации, Bluetooth и т.п.) в suspend‑функции с помощью suspendCoroutine
#kotlin #coroutines
https://www.revenuecat.com/blog/engineering/kotlin-coroutine-bridge/
#kotlin #coroutines
https://www.revenuecat.com/blog/engineering/kotlin-coroutine-bridge/
Revenuecat
Kotlin Coroutine bridges: converting any callback-based Android API to suspend functions
This article explores the suspendCoroutine bridge pattern, showing how to convert callback APIs into clean suspend functions, handle diverse callback shapes, design proper error propagation, and how SDKs like RevenueCat apply it at scale.
👍14😢3