https://blog.jetbrains.com/kotlin/2025/02/ktor-3-1-0-release/#ktor-cli-a-new-tool-to-create-ktor-projects
✍️ @kotlin_lib
Добро пожаловать в Telegram-канал под названием "Kotlin"! Этот канал собирает в себе полезный материал по языку программирования Kotlin, который становится все более популярным среди разработчиков. Если вы интересуетесь Kotlin и хотите углубить свои знания, то это место для вас. Здесь вы найдете подборки материалов, которые помогут вам освоить новые концепции, улучшить навыки программирования на Kotlin и быть в курсе последних трендов в этой сфере. Канал под названием "kotlin_lib" создан для того, чтобы облегчить доступ к полезной информации и помочь разработчикам достичь новых высот в области программирования на Kotlin. Если у вас возникли вопросы или вы хотите поделиться своим опытом, обращайтесь к администратору канала по имени @evgenycarter. Присоединяйтесь к нам и станьте частью активного сообщества разработчиков, узнавайте новое, делитесь опытом и двигайтесь вперед вместе с нами!
16 Feb, 18:08
12 Feb, 13:33
12 Feb, 11:00
11 Feb, 18:52
05 Feb, 12:03
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
05 Feb, 10:45
01 Feb, 09:02
build.gradle.kts
вашего модуля:
dependencies {
implementation("com.arjunjadeja:texty-android:1.0.0-alpha")
}
mavenCentral()
включен в список репозиториев.
import com.arjunjadeja.texty.Texty
import com.arjunjadeja.texty.DisplayStyle
@Composable
fun TextyExample() {
Texty(
text = "Привет, Texty!",
displayStyle = DisplayStyle.Typing()
)
}
31 Jan, 15:04
31 Jan, 14:27
29 Jan, 11:19
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
29 Jan, 10:27
println()
в нужных местах может помочь отследить значения переменных перед их оптимизацией.
// Kotlin Multiplatform
kotlin {
compilerOptions {
if (System.getProperty("idea.active") == "true") {
println("Enable coroutine debugging")
freeCompilerArgs = listOf("-Xdebug")
}
}
}
// Kotlin Jvm
kotlin {
compilerOptions {
if (System.getProperty("idea.active") == "true") {
println("Enable coroutine debugging")
freeCompilerArgs.add("-Xdebug")
}
}
}
29 Jan, 08:00
suspend
, изучая корутины. На первый взгляд, это может показаться просто очередным ключевым словом в Kotlin, но на самом деле оно очень полезно при работе с задачами, которые занимают время, например при загрузке данных из интернета.22 Jan, 08:32
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
21 Jan, 21:24
18 Jan, 14:15
17 Jan, 10:04
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
17 Jan, 09:00
12 Jan, 20:28
06 Jan, 08:31
NoSuchMethodException
, из-за отсутствия методов, ожидаемых в зависимости. В статье рассматривается использование инструмента Binary Compatibility Validator (BCV) для предотвращения подобных проблем, а также обсуждаются сложности, связанные с транзитивными зависимостями и разрешением зависимостей в Gradle. 31 Dec, 07:01
30 Dec, 09:48
27 Dec, 08:30
26 Dec, 07:48
25 Dec, 08:01
25 Dec, 05:33
21 Dec, 12:51
14 Dec, 12:20
08 Dec, 05:59
07 Dec, 09:01
02 Dec, 19:28
when
с объектом, нелокальные break
и continue
, а также многодолларовая интерполяция строк.kapt
.27 Nov, 13:04
25 Nov, 07:59
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
23 Nov, 12:38
18 Nov, 20:27
12 Nov, 17:27
12 Nov, 14:01
12 Nov, 08:50
09 Nov, 07:23
Flow
и ViewModel в Kotlin. Она затрагивает проблему "утечки" коллекторов, которая возникает, если коллекты управляются неправильно, что может привести к утечкам памяти и неэффективному использованию ресурсов. Автор предлагает рекомендации по предотвращению этой проблемы через правильное управление коллекторами flow в жизненном цикле ViewModel.06 Nov, 16:15
06 Nov, 09:00
@JvmStatic
, @JvmField
, @JvmOverloads
06 Nov, 07:01
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
05 Nov, 21:07
01 Nov, 10:00
28 Oct, 08:01
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
28 Oct, 05:26
25 Oct, 07:26
20 Oct, 21:05
13 Oct, 21:05
06 Oct, 19:31
01 Oct, 10:42
25 Sep, 07:02
19 Sep, 18:15
17 Sep, 10:01
17 Sep, 09:02
17 Sep, 07:50
12 Sep, 08:00
11 Sep, 05:02
10 Sep, 15:01
if
или let
?
class IfOrLet {
private var string1: String? = "some string 1"
init {
if(string1 != null) {
makeString1Null()
println(string1) // prints null
}
}
private fun makeString1Null() {
string1 = null
}
}
08 Sep, 09:38
03 Sep, 06:42
29 Aug, 16:30
19 Aug, 07:17
17 Aug, 09:26
05 Aug, 11:51
28 Jul, 12:25
23 Jul, 20:52
19 Jul, 11:16