Розыгрыш книги "Коtlin в действии" 2-е издание с автографом одного из авторов - Романа Елизарова 🤯 Совместно с Yandex For Mobile делаем для вас розыгрыш 2 книг по Kotlin от создателей языка и его экосистемы!
Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile
Итоги подведем 12 июня в @kotlin_broadcast
#розыгрыш
Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile
Итоги подведем 12 июня в @kotlin_broadcast
#розыгрыш
Media is too big
VIEW IN TELEGRAM
0:00 Вступление
0:30 Positional Destructing (есть)
1:09 Named-based destructing (новая)
1:51 Nullability: Safety and ergonomics
3:00 Error class/object (новая)
4:07 Must-use Return Values (новая)
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Vitaliy Zarubin | @keygenqt
#fyi Кто хотел попробовать Kotlin Multiplatform на ОС Аврора? Теперь это можно сделать. В GitLab выложены проекты, упрощающие использование KMP для ОС Аврора. Это только начало, еще многое предстоит сделать, но собрать приложение с базовым функционалом можно уже сейчас, это демонстрирует пример StudentBox.
Forwarded from AvitoTech
Как внедрить в свою работу OKR подход к целеполаганию? Посмотреть наш новый мини-курс 🚀
За 25 минут вы узнаете:
➡️ Что такое OKR и что отличает его от других подходов к целеполаганию;
➡️ Как правильно сформулировать objective и key results;
➡️ Как оценить выполнение в процентах;
➡️ Из каких этапов состоит сам процесс.
Все 5 коротких, но максимально объёмных по наполнению лекций уже лежат по ссылке:
📺 YouTube
🔵 ВК Видео
🎧 RuTube
#tl
За 25 минут вы узнаете:
Все 5 коротких, но максимально объёмных по наполнению лекций уже лежат по ссылке:
#tl
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нового:
👉 Упростили конфигурацию
👉 Улучшили работу со Scope. Дообавили архитипы для Scope
👉 ViewModel Scope интегрировали с механизмом ViewModel auto closable
👉 Появилась возможность проверки конфигурации через через тесты
👉 Поддержка Compose 1.8 и Lifecycle 2.9
👉 Поддеркжа Ktor 3.2
🔗 Альтернативная ссылка
#kotlin #di
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin Multiplatform Broadcast
Розыгрыш книги "Коtlin в действии" 2-е издание с автографом одного из авторов - Романа Елизарова 🤯 Совместно с Yandex For Mobile делаем для вас розыгрыш 2 книг по Kotlin от создателей языка и его экосистемы! Условия розыгрыша просты 1. Подписать на @kotlin_broadcast…
1. Виктор (@CorobkeCletke)
2. Dmitry (@DmitryBogomazov)
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Аркадий Иванов, автор библиотеки, рассказал историю ее создания и основные принципы и решения, которые выделяют Decompose: максимальная гибкость для соответствия практически любому проекту, отличная масштабируемость на средних и больших проектах, типобезопасность, настолько надежная, что если ваш код компилируется, то, скорее всего, он работает, и, конечно же, тестируемость.
Также из доклада вы узнаете об основных API библиотеки, и поймете, как и почему так просто создавать свои собственные модели навигации. Вы узнаете не только «как», но и «почему».
Независимо от того, работаете ли вы над приложениями для миллионов пользователей или только начинаете с нуля, этот доклад бросит вызов тому, как вы думаете об архитектуре.
#kmp #архитектура #kotlin #mobius
Please open Telegram to view this post
VIEW IN TELEGRAM
Все сессии можно найти в расписании. Пока только на сайте, но там встроен YouTube плеер, так что позже выпустят плейлист. В @kotlin_broadcast буду выкладывать доклады и рассказывать самое интересное
#kotlin #kotlinconf
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нового в свежей версии:
👉 типизированная конфигурация
@Serializable
data class DatabaseConfig(
val jdbcUrl: String,
val username: String,
val password: String,
)
fun Application.module() {
property<DatabaseConfig>("database")
}
👉 Cобственный DI
fun Application.database(@Property("database") config: DatabaseConfig) {
dependencies {
provide("optional-name") { HikariDataSource(...) }
provide {
Database.connect(resolve<HikariDataSource>("optional-name"))
} cleanup { database: Database ->
TransactionManager.closeAndUnregister(database)
}
}
}
// suspend DI
suspend fun Application.module() {
val database: Database = dependencies.resolve()
...
}
👉 CIO клиент с поддержкой домен сокетов
val server = embeddedServer(CIO, configure = {
unixConnector("/tmp/test-unix-socket-client.sock")
}) {
routing {
get("/") {
call.respondText("Hello, Unix socket world!")
}
}
}
👉 Более тесная интеграция с HTMX (библиотека JavaScript, которая позволяет создавать динамические веб-интерфейсы без написания JavaScript-кода)
fun Application.routing() {
hx.get("/status") { /* Return HTML content */ }
get("/status") {
call.respondHtml {
head { script { src = "https://unpkg.com/[email protected]" } }
body {
div {
attributes.hx {
get = "/status"
trigger = "load"
}
}
}
}
}
}
👉 Ktor Version Catalog
// settings.gradle.kts
dependencyResolutionManagement {
versionCatalogs {
create("ktorLibs") {
from("io.ktor:ktor-version-catalog:3.2.0")
}
}
}
#ktor #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
На днях выложу видео где расскажу простым языком все изменения и расскажу как поменяет язык!
#kotlin #kotlinconf25
Please open Telegram to view this post
VIEW IN TELEGRAM
Если коротко - теперь появляется в синтаксисе error class и он будет указывать как атрибутом типа (обычно для возвращаемого, но можно и для типов переменных, так и для generic). Фактически теперь не надо писать свои Result типы, а они будут из коробки в языке с удобным синтаксимом обработки.
#kotlin
#kotlin
Media is too big
VIEW IN TELEGRAM
Одна из новых экспериментальных фичей - режим работ компилятора, когда необходимо обработать возвращаемые значения функций. Зачем? Иногда допускаются ошибки из-за пропуска этого момента.
Уже доступно в Kotlin 2.2.0-Beta1. Нужно включить экспериментальные флаги
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xreturn-value-checker=check|full")
}
}
#kotlin #kotlinconf25
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нового в релизе языка:
👉 Превью context parametr
👉 Non-local break и continue теперь stable
👉 Kotlin/JVM: изменения в генерации метода по умолчанию
👉 Kotlin/Native: улучшения в управлением памятью
👉 Kotlin/Wasm: wasmJs таргет отделили от js таргета
👉 Base64 стало Stable
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Допускали ли вы баги (креши, некорректное поведение и прочее) по причине игнорирования возвращаемого значения в функции?
Anonymous Poll
20%
Да
46%
Нет
27%
Затрудняюсь ответить
7%
Не участвую в опросе
🔥 Летняя распродажа до –20% от Ergostol🔥
Лето – время обновлений и приятных сюрпризов! 🌞 До 30 июня включительно скидки до 20% на лучшие модели регулируемых столов, эргономичных рам и аксессуаров.
В акции участвуют:
✔️ Письменные столы с регулировкой высоты
✔️ Прочные и стильные рамы для сборки
✔️ Дополнительные опции для комфортной работы
Удобство, качество и выгодная цена – идеальное сочетание для вашего домашнего или офисного пространства.
👉 Подробный список товаров по ссылке
🎁 По промокоду
Меняйте рабочую атмосферу с комфортом! 💻✨
Реклама. ООО «СОФТЭФФЕКТ», ИНН 7735575262
Лето – время обновлений и приятных сюрпризов! 🌞 До 30 июня включительно скидки до 20% на лучшие модели регулируемых столов, эргономичных рам и аксессуаров.
В акции участвуют:
✔️ Письменные столы с регулировкой высоты
✔️ Прочные и стильные рамы для сборки
✔️ Дополнительные опции для комфортной работы
Удобство, качество и выгодная цена – идеальное сочетание для вашего домашнего или офисного пространства.
👉 Подробный список товаров по ссылке
🎁 По промокоду
ANDROID10
— дополнительно 10% скидки (на столы и аксессуары). Меняйте рабочую атмосферу с комфортом! 💻
Реклама. ООО «СОФТЭФФЕКТ», ИНН 7735575262
Please open Telegram to view this post
VIEW IN TELEGRAM