Kotlin developer
رفتن به کانال در Telegram
Канал Kotlin посвящён изучению и применению языка программирования Kotlin в различных областях По всем вопросам пишите @itru1
نمایش بیشتر5 968
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-117 روز
-1830 روز
آرشیو پست ها
5 968
Мобильная разработка — это когда твой код живёт на миллионах устройств и должен работать без права на ошибку.
В Mobile VK Hub команда VK делится опытом, который помогает держать этот уровень: оптимизация, память, производительность, подходы к нативу и кросс-платформе.
А ещё ребята делятся новостями индустрии и актуальными вакансиями.
Подписывайтесь — будет полезно.
Реклама. ООО "ВК" ИНН 7743001840
5 968
💻 github-workflows-kt — инструмент на Kotlin для создания рабочих процессов GitHub Actions
github-workflows-kt поможет писать типобезопасный код на Kotlin для организации надежных рабочих процессов, планирования GitHub Actions и т.д.
🖥 GitHub
🟡 Доки
@KotlinSenior #kotlin
5 968
+1
👩💻 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!
🌟 Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
🔐 Лицензия: Apache-2.0
🖥 Github
@KotlinSenior #kotlin
5 968
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 #cli5 968
Есть вариант на 27 августа — DrinkUp от Авито для backend-разработчиков в Нижнем Новгороде ☄️
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
➡️ как правильно структурировать проекты;
➡️ кому и как проще вкатиться в Go и почему он такой странный;
➡️ как LLM помогает разработчикам.
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
5 968
Что такое мульти-декларации (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) // orange5 968
+2
💻 Vico — создание диаграмм и графиков на Kotlin
dependencies {
implementation(libs.vico.compose)
implementation(libs.vico.compose.m2)
implementation(libs.vico.compose.m3)
implementation(libs.vico.core)
implementation(libs.vico.views)
}
Vico — это легкая расширяемая библиотека Kotlin для создания диаграмм.
Библиотека совместима как с Jetpack Compose, так и с системой представлений, при этом 2 её основных модуля — compose и views, — являются независимыми.
🖥 GitHub
🟡 Wiki
@KotlinSenior #kotlin5 968
Мощное завершение лета — конференция JVM Day 30 августа.
Приглашают опытных разработчиков — прокачать навыки и завести полезные знакомства. Часть стоимости билетов пойдет на поддержку региональных вузов.
Основная программа состоит из трех секций: Java, Scala и Backend. Днем участников ждут доклады спикеров из Т-Банка, Яндекса, 2ГИС, Squad, 01. tech, а вечером — афтепати.
Купить билеты до 25 июля по старой цене можно тут.
До встречи в штаб-квартире Т-Банка.
5 968
Допускали ли вы баги (креши, некорректное поведение и прочее) по причине игнорирования возвращаемого значения в функции?
5 968
👩💻 kotlin-math — набор API в Kotlin, предназначенных для упрощения выполнения математических операций, связанных с графикой!
🌟 Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
🔐 Лицензия: Apache-2.0
5 968
👩💻 Ktorm — минималистичный ORM для Kotlin-разработчиков. Этот фреймворк предлагает принципиально иной подход к работе с базами данных: вместо сложных конфигураций и магии аннотаций здесь чистый Kotlin-код с типизированным SQL DSL.
При этом фреймворк не абстрагируется от SQL, а аккуратно его дополняет: вы всегда видите, какой запрос будет выполнен, но пишете его на понятном Kotlin. Встроенная поддержка пагинации, агрегаций и транзакций делает Ktorm готовым к использованию в production.
@KotlinSenior #kotlin
5 968
Repost from Kotlin Multiplatform Broadcast
📹 Отрывок Kotlin Conf Keynote с рассказом про будущие фичи в Kotlin. Что-то увидем осенью 2025, а что-то ждать больше года 🤯
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
5 968
Repost from Kotlin Multiplatform Broadcast
Есть ли функции на Server Driven UI (SDUI, он же BDUI) в вашем приложении?
5 968
Серия вебинаров по серверной разработке на Kotlin. Продолжение
Статья рассказывает о новой версии популярной среды разработки от JetBrains — IntelliJ IDEA. В ней описываются нововведения, которые призваны сделать работу программистов более удобной и эффективной.
Читать...
