Погружение в мир Lint'a в Android-проекте (часть 2)
Читать...
Читать...
Хабр
Погружение в мир Lint'a в Android-проекте (часть 2)
Продолжим рассматривать различные нюансы статического анализа с помощью Lint. Опираться будем на предыдущую статью . С момента её публикации прошло много времени, за которое вышло несколько значимых...
Серия вебинаров по серверной разработке на Kotlin. Продолжение
Статья рассказывает о новой версии популярной среды разработки от JetBrains — IntelliJ IDEA. В ней описываются нововведения, которые призваны сделать работу программистов более удобной и эффективной.
Читать...
Статья рассказывает о новой версии популярной среды разработки от JetBrains — IntelliJ IDEA. В ней описываются нововведения, которые призваны сделать работу программистов более удобной и эффективной.
Читать...
Хабр
Серия вебинаров по серверной разработке на Kotlin. Продолжение
Мы продолжаем серию вебинаров о разработке серверных приложений на Kotlin (на английском языке). С 18 февраля по 18 марта пройдут четыре вебинара, на которых мы вместе с вами рассмотрим прикладную...
Forwarded from Kotlin Multiplatform Broadcast
Есть ли функции на Server Driven UI (SDUI, он же BDUI) в вашем приложении?
Anonymous Poll
34%
Да
51%
Нет
7%
Не знаю
1%
Не занимаюсь разработкой
8%
Не участвую в опросе
A/B-тестирование в Android-разработке: гайд для middle+ разрабов
Читать...
Читать...
Хабр
A/B-тестирование в Android-разработке: гайд для middle+ разрабов
A/B-тестирование — это не только инструмент для продуктовых команд. Это суперспособность и для Android-разработчиков. В этой статье рассказываю, как опытные инженеры могут проектировать, реализовывать...
Forwarded from Kotlin Multiplatform 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
👩💻 Ktorm — минималистичный ORM для Kotlin-разработчиков. Этот фреймворк предлагает принципиально иной подход к работе с базами данных: вместо сложных конфигураций и магии аннотаций здесь чистый Kotlin-код с типизированным SQL DSL.
При этом фреймворк не абстрагируется от SQL, а аккуратно его дополняет: вы всегда видите, какой запрос будет выполнен, но пишете его на понятном Kotlin. Встроенная поддержка пагинации, агрегаций и транзакций делает Ktorm готовым к использованию в production.
@KotlinSenior #kotlin
При этом фреймворк не абстрагируется от SQL, а аккуратно его дополняет: вы всегда видите, какой запрос будет выполнен, но пишете его на понятном Kotlin. Встроенная поддержка пагинации, агрегаций и транзакций делает Ktorm готовым к использованию в production.
@KotlinSenior #kotlin
👩💻 kotlin-math — набор API в Kotlin, предназначенных для упрощения выполнения математических операций, связанных с графикой!
🌟 Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
🔐 Лицензия: Apache-2.0
🌟 Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
🔐 Лицензия: Apache-2.0
Допускали ли вы баги (креши, некорректное поведение и прочее) по причине игнорирования возвращаемого значения в функции?
Anonymous Poll
36%
Да
39%
Нет
12%
Затрудняюсь ответить
13%
Не участвую в опросе
Мощное завершение лета — конференция JVM Day 30 августа.
Приглашают опытных разработчиков — прокачать навыки и завести полезные знакомства. Часть стоимости билетов пойдет на поддержку региональных вузов.
Основная программа состоит из трех секций: Java, Scala и Backend. Днем участников ждут доклады спикеров из Т-Банка, Яндекса, 2ГИС, Squad, 01. tech, а вечером — афтепати.
Купить билеты до 25 июля по старой цене можно тут.
До встречи в штаб-квартире Т-Банка.
Приглашают опытных разработчиков — прокачать навыки и завести полезные знакомства. Часть стоимости билетов пойдет на поддержку региональных вузов.
Основная программа состоит из трех секций: Java, Scala и Backend. Днем участников ждут доклады спикеров из Т-Банка, Яндекса, 2ГИС, Squad, 01. tech, а вечером — афтепати.
Купить билеты до 25 июля по старой цене можно тут.
До встречи в штаб-квартире Т-Банка.
💻 Vico — создание диаграмм и графиков на Kotlin
Vico — это легкая расширяемая библиотека Kotlin для создания диаграмм.
Библиотека совместима как с Jetpack Compose, так и с системой представлений, при этом 2 её основных модуля — compose и views, — являются независимыми.
🖥 GitHub
🟡 Wiki
@KotlinSenior #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 #kotlin
Что такое мульти-декларации (destructuring declarations)?
Мульти-декларации (destructuring declarations или деструктуризирующее присваивание) — это способ извлечения значений из объекта и присвоения их сразу нескольким переменным. В Kotlin этот механизм поддерживается с помощью оператора распаковки (destructuring operator) — componentN(), где N — номер компонента.
При создании data класса Kotlin автоматически создает функции componentN() для каждого свойства класса, где N — номер позиции переменной в конструкторе. Функции componentN() возвращают значения свойств в порядке их объявления в конструкторе. Это позволяет использовать мульти-декларации для распаковки значений свойств и присваивания их отдельным переменным.
Например, если у нас есть data класс Person с двумя свойствами name и age, мы можем использовать мульти-декларации, чтобы извлечь эти свойства и присвоить их двум переменным:
Мульти-декларации также могут быть использованы с массивами и другими коллекциями:
Мульти-декларации (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
гиф-дринк-ап-НН.gif
33.8 MB
Есть вариант на 27 августа — DrinkUp от Авито для backend-разработчиков в Нижнем Новгороде ☄️
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
➡️ как правильно структурировать проекты;
➡️ кому и как проще вкатиться в Go и почему он такой странный;
➡️ как LLM помогает разработчикам.
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
➡️ как правильно структурировать проекты;
➡️ кому и как проще вкатиться в Go и почему он такой странный;
➡️ как LLM помогает разработчикам.
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.