Богатые ошибки в Kotlin | Михаил Зареченский
Модель null-безопасности в Kotlin — одна из её ключевых особенностей. В этом докладе мы рассмотрим, как эту модель можно обобщить до ограниченных объединённых типов, специально предназначенных для обработки ошибок.
Кроме того, мы обсудим, как ошибки могут быть представлены в Kotlin сегодня, включая такие подходы, как nullable-типы, исключения, иерархии sealed-классов и классы, подобные Result.
https://www.youtube.com/watch?v=IUrA3mDSWZQ
✍️ @kotlin_lib
Модель null-безопасности в Kotlin — одна из её ключевых особенностей. В этом докладе мы рассмотрим, как эту модель можно обобщить до ограниченных объединённых типов, специально предназначенных для обработки ошибок.
Кроме того, мы обсудим, как ошибки могут быть представлены в Kotlin сегодня, включая такие подходы, как nullable-типы, исключения, иерархии sealed-классов и классы, подобные Result.
https://www.youtube.com/watch?v=IUrA3mDSWZQ
✍️ @kotlin_lib
YouTube
Rich Errors in Kotlin | Michail Zarečenskij
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Kotlin's nullability model is one of its core features. In this talk, we’ll explore how this model can be generalized to restricted union types specifically designed for…
Kotlin's nullability model is one of its core features. In this talk, we’ll explore how this model can be generalized to restricted union types specifically designed for…
❤2👍1
Fuzz‑тестирование для Kotlin с помощью kotlinx.fuzz
Определение крайних (edge) случаев для тестирования — непростая задача, часто оставляющая скрытые баги и уязвимости незамеченными.
Fuzz‑тестирование (fuzzing) решает эту проблему, автоматически генерируя тесты со случайными или некорректными входными данными, что позволяет разработчикам выявлять неожиданные исключения и сценарии сбоев. Благодаря своей эффективности в обнаружении критических ошибок ПО, fuzzing получил широкое распространение во многих языках программирования.
Однако в Kotlin он остаётся сравнительно малоиспользуемым.
Именно поэтому наша Лаборатория языков программирования и анализа программ JetBrains Research посвятила усилия разработке kotlinx.fuzz — fuzzer’а для библиотек на Kotlin. Поскольку Kotlin компилируется в байткод JVM, системы fuzz‑тестирования для Kotlin можно строить, используя существующие Java‑fuzzer’ы.
Эта концепция и стала основой нашего текущего прототипа.
https://blog.jetbrains.com/research/2025/04/kotlinxfuzz-kotlin-fuzzing/
✍️ @kotlin_lib
Определение крайних (edge) случаев для тестирования — непростая задача, часто оставляющая скрытые баги и уязвимости незамеченными.
Fuzz‑тестирование (fuzzing) решает эту проблему, автоматически генерируя тесты со случайными или некорректными входными данными, что позволяет разработчикам выявлять неожиданные исключения и сценарии сбоев. Благодаря своей эффективности в обнаружении критических ошибок ПО, fuzzing получил широкое распространение во многих языках программирования.
Однако в Kotlin он остаётся сравнительно малоиспользуемым.
Именно поэтому наша Лаборатория языков программирования и анализа программ JetBrains Research посвятила усилия разработке kotlinx.fuzz — fuzzer’а для библиотек на Kotlin. Поскольку Kotlin компилируется в байткод JVM, системы fuzz‑тестирования для Kotlin можно строить, используя существующие Java‑fuzzer’ы.
Эта концепция и стала основой нашего текущего прототипа.
@KFuzzTest
fun testDuration(f: KFuzzer) {
val isoString = f.asciiString(10)
val duration = Duration.parseIsoStringOrNull(isoString)
println("$isoString -> $duration")
}
https://blog.jetbrains.com/research/2025/04/kotlinxfuzz-kotlin-fuzzing/
✍️ @kotlin_lib
👍1
Приглашаем на открытый урок который поможет решить эти вопросы.
🗓 12 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
На открытом уроке «Почему все переходят на Kotlin? Секреты успешной миграции с Java» мы покажем, как сократить время разработки на 30% и минимизировать риски NullPointerException.
Вы узнаете ключевые отличия Kotlin, пошаговый план миграции без переписывания проекта и лучшие практики корутин для асинхронности.
🦾 Представьте, что каждый новый модуль пишется быстрее, ошибок становится в три раза меньше, а вы получаете бесценный навык для современных бэкенд-проектов.
🔗 Ссылка на регистрацию: https://vk.cc/cOhiMA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM