Kotlin Developer
6.36K subscribers
179 photos
7 videos
254 links
Самый топовый канал по Kotlin

По вопросам сотрудничества и рекламы: @NadikaKir

Мы на бирже: https://telega.in/c/KotlinSenior
Download Telegram
Что такое Kotlin и каковы его ключевые особенности?

Kotlin - это современный статически типизированный язык программирования, работающий на JVM. Его ключевые особенности включают нулевую безопасность, поддержку функционального программирования и совместимость с Java.

Выше на картинке
“Hello, world!” в Kotlin

Kotlin предлагает несколько преимуществ по сравнению с Java, включая большую гибкость, читаемость и более лаконичный синтаксис. Кроме того, Kotlin поддерживает современные парадигмы программирования, такие как функциональное программирование, которые Java поддерживает не полностью.
Настраиваем память JVM-приложения в Kubernetes

Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.

Читать статью
Что такое data класс и можно ли наследоваться от него?

– Класс, помеченный ключевым словом data обязательно должен иметь основной конструктор, содержащий хотя бы один аргумент;
– Класс помеченный словом data автоматически переопределяет реализации методов toString(), equals(), hashCode(), copy() для параметров переданных в конструкторе;
– От data class нельзя наследоваться т.к. он является final классом, но может наследоваться от других классов;
– Класс данных не может быть абстрактными, open, sealed или inner.
Все библиотеки имеют фатальные недостатки, или Как мы изобретали Retrofit-подобный велосипед для JSON-RPC протокола

Привет! Меня зовут Юра Кучанов, работаю Android разработчиком в Garage Eight и сегодня хочу рассказать о том, как мы делали Retrofit-подобную библиотеку для JSON-RPC протокола. Началось всё с того, что нам потребовалось для общения сервера и Android приложения использовать протокол JSON-RPC. Что значит “потребовалось”? Если кратко – бэкендеры предложили, а сильных аргументов против, в сущности, не нашлось =) В итоге я пошёл искать библиотеки в сети и… И обнаружил, что готовые решения не подходят (так как там, конечно же, есть хотя бы один фатальный недостаток). В итоге сделал свою библиотеку в стиле Retrofit. Ниже расскажу, почему не подошли готовые решения, как реализовал своё через рефлексию и как копался в исходниках Retrofit и OkHttp для реализации нужного нам функционала.

Читать статью
Что такое sealed класс?

Это abstract класс, который имеет ограниченную иерархию наследования. Не объявляется с ключевым словом inner. В качестве наследников могут быть:
– Object который не имеет конструктора;
– Class который может иметь конструктор с параметрами.

Преимущества перед Enum:
– Может иметь несколько экземпляров классов, enum работает подобно Singleton
– Классы наследники могут иметь разные конструкторы с различным количеством аргументов;
– При использовании when, все подклассы, которые не были проверены в конструкции, будут подсвечены IDE.
Что за тип такой — Unit? Зачем нужен?

Тип Юнит это аналог джавовского Void, создан в основном для использования в дженериках для обозначения типа, который не возвращает значения.
Как компилируются object declarations и companion objects?

Объявление object компилируется в статический класс со статическим полем, имя которого INSTANCE. с компаньонами тоже самое, но если имя не указано, оно будет Companion
Что выведет следующий код?
Что выведет следующий код?
Anonymous Quiz
56%
[1, 2, 3, 4]
15%
True
8%
Unit
21%
Ничего, тут ошибка компиляции
Какая польза от typealias? Во что он компилируется?

Польза в более лаконичном названии уже существующих классов и переменных. Компилируется в public final class
Магия размерностей и магия Котлина. Часть первая: Введение в KotUniL

Амперы нельзя складывать с вольтами. Сантиметры можно складывать с дюймами, но очень внимательно. Иначе получится как с космическим аппаратом стоимостью 125 миллионов долларов Mars Climate Orbiter, который успешно долетел до Марса, но бездарно разбился о его поверхность.

Он разбился, поскольку разработчики его программного обеспечения не учли разницу используемых в разных частях системы физических единиц. По этой же самой причине до и после этой дорогой аварии взрывались и падали космические и летательные аппараты, тонули корабли и умирали люди.

Читать статью
В чем разница между a и b?
Магия размерностей и магия Котлина. Часть вторая: Продвинутые возможности KotUniL

Это вторая статья из серии статей про магии размерностий и Котлина на примере библиотеки KotUniL.

В
первой статье мы рассмотрели, как с помощью этой библиотеки не разбивать космические аппараты :-).

В этой статье мы рассмотрим менее очевидные, но не менее интересные фичи библиотеки.

Читать статью
Зачем нужен тип Nothing, какие выражения имеют такой тип?

Если возвращаемый тип Nothing - значит return из данного метода выкинет нас полностью из приложения, либо там бесконечный цикл. Выражения ошибок(error) часто имеют такой тип. Компилируется такая функция в воид-функцию, возвращающая throw
👩‍💻 Магия размерностей и магия Котлина. Часть третья: Смешение магий

Это третья, заключительная статья серии, посвящённой библиотеке по манипулировали физическими величинами системы СИ, а также другими величинами, в Котлин. В ней мы рассмотрим, как фундаментальные математические структуры, которые природа “заложила” в систему СИ, предопределяют дизайн библиотеки и как возможности и ограничения Котлина были использованы при разработке библиотеки KotUniL.

➡️ Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM