K
Kotlin developer
08.06.2026 09:56 · 👁 1.3K
🚀 Фишка Kotlin: Безопасный каст с помощью оператора as?
В Java при неверном приведении типов можно легко поймать ClassCastException. В Kotlin эту проблему элегантно решает оператор безопасного каста as?.
Если объект нельзя привести к нужному типу, он не ломает приложение, а просто возвращает null. В сочетании с оператором Элвиса (?:) это позволяет писать чистый и безопасный код:
```kotlin
// Вместо краша получаем null и дефолтное значение
val message: Any = "Hello Kotlin"
val textLength = (message as? Int) ?: 0
println(textLength) // Выведет: 0
K
Kotlin developer
21.05.2026 10:18 · 👁 2.3K
Рейтинг технологий для мобильной разработки для банков в 2026 году
Читать...
K
Kotlin developer
20.05.2026 14:59 · 👁 2K
Google AI Studio теперь создает нативные Android-приложения без SDK, среды и знания Kotlin.
Читать...
K
Kotlin developer
18.05.2026 09:32 · 👁 2.5K
Kotlin переходит к деструктурированию по именам
Читать...
K
Kotlin developer
13.05.2026 09:37 · 👁 3.7K
Subject Matter Expert. Чёрная Метка Для Разработчика
Это не совсем привычная для меня статья, но я давно хотел поделиться одним своим наблюдением. В ней не будет никаких вещей, связанных непосредственно с разработкой на Java или Kotlin, не будет кода. Я просто решил поделиться опытом. Я надеюсь, читать эту статью Вы будете вечером, в спокойный, выходной день.
Читать...
K
Kotlin developer
04.05.2026 15:29 · 👁 2.3K
Весь AI-стек Google в одной подписке — Google AI Pro целиком. У Google $200/год, у нас 3 999 ₽ за год.
🧠 Gemini 3.1 Pro — контекст 1 млн токенов
🎬 Veo 3.1 — генерация видео из текста, до 3 в день + 50 через Flow
🎨 Nano Banana Pro — картинки 4K с корректным русским текстом, до 100 в день
🔬 Deep Research — глубокий анализ по сотням источников, 20 отчётов в день
📓 NotebookLM — личная база знаний на 300 источников на проект
💻 Для разработчиков: Google Antigravity (агентная IDE), Jules (до 100 задач/день), Gemini Code Assist + CLI
☁️ 5 ТБ Google Drive — место для всех ваших проектов
Полноценный аккаунт Google с уже активированной подпиской — через легальную промоакцию Google.
🏷 12 мес — 3 999 ₽ (333 ₽/мес, экономия ~12 000 ₽)
🏷 6 мес — 2 499 ₽ (416 ₽/мес)
🏷 3 мес — 1 699 ₽
👉 Оформить и задать вопросы → @threevia_bot
K
Kotlin developer
28.10.2025 10:24 · 👁 4.5K
💻 github-workflows-kt — инструмент на Kotlin для создания рабочих процессов GitHub Actions
github-workflows-kt поможет писать типобезопасный код на Kotlin для организации надежных рабочих процессов, планирования GitHub Actions и т.д.
🖥 GitHub
🟡 Доки
K
Kotlin developer
25.09.2025 08:35 · 👁 3.7K
👩💻 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!
🌟 Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
🔐 Лицензия: Apache-2.0
🖥 Github
K
Kotlin developer
09.09.2025 07:46 · 👁 2.8K
readline4k - Kotlin/Native библиотека для разработки консольных интерактивных приложений для Desktop
val history = "history.txt" // Filesystem path to the history file.
// Configure the LineEditor.
val config = LineEditorConfig(
maxHistorySize = 100,
completionType = CompletionType.LIST,
// See the documentation for more options.
)
// Create a new LineEditor instance.
val editor = SimpleLineEditor(
linePrefix = "> ",
config = config,
).also { editor ->
// Set up the completer and highlighter.
editor
// Provides file completion (optional).
.withCompleter(SimpleFileCompleter())
// Provides color highlighting (optional).
.withHighlighter(SimpleHighlighter())
// Load the history from the disk (throws LineEditorError if it fails).
editor.loadHistory(history).getOrThrow()
}
println("Welcome to the LineEditor example!")
println("Press Ctrl+C to exit")
while (true) {
// Read a line from the user.
editor.readLine()
.onFailure { err ->
// err is a LineEditorError
println(err.message)
break
}
.onSuccess { line ->
// We can also add the line to the history
// automatically by setting autoAddHistory = true in the config.
editor.addHistoryEntry(line)
println(line)
}
}
// Save the history to disk.
editor.saveHistory(history)
#kotlin #native #cli
K
Kotlin developer
04.08.2025 13:16 · 👁 3.2K
Что такое мульти-декларации (destructuring declarations)?
Мульти-декларации (destructuring declarations или деструктуризирующее присваивание) — это способ извлечения значений из объекта и присвоения их сразу нескольким переменным. В Kotlin этот механизм поддерживается с помощью оператора распаковки (destructuring operator) — componentN(), где N — номер компонента.
При создании data класса Kotlin автоматически создает функции componentN() для каждого свойства класса, где N — номер позиции переменной в конструкторе. Функции componentN() возвращают значения свойств в порядке их объявления в конструкторе. Это позволяет использовать мульти-декларации для распаковки значений свойств и присваивания их отдельным переменным.
Например, если у нас есть data класс Person с двумя свойствами name и age, мы можем использовать мульти-декларации, чтобы извлечь эти свойства и присвоить их двум переменным:
data class Person(val name: String, val age: Int)
val person = Person("Alice", 29)
val (name, age) = person
println(name) // Alice
println(age) // 29
Также можно использовать мульти-декларации в циклах, чтобы итерироваться по спискам объектов и распаковывать значения свойств:
val people = listOf(Person("Alice", 30), Person("Bob", 40))
for ((name, age) in people) {
println("$name is $age years old")
}
// Alice is 30 years old
// Bob is 40 years old
Мульти-декларации также могут быть использованы с массивами и другими коллекциями:
val list = listOf("apple", "banana", "orange")
val (first, second, third) = list
println(first) // apple
println(second) // banana
println(third) // orange