Kotlin Meta
244 subscribers
57 photos
2 videos
1 file
55 links
Всякое разное интересное про язык программирования Kotlin и около него.

Чатик: @kotlinmetachat.
Мы на YouTube: https://youtube.com/@KotlinMeta.
Мы на Twitch: https://twitch.tv/kotlinmeta.
Download Telegram
🚀 Pull Request в kotlinx.fuzz

На одном из стримов мы разбирали kotlinx.fuzz (вот он), и одним из недостатков этой библиотеки было то, что можно было генерировать только примитивные типы и далее ручками собирать их в объекты. Недавно мне в голову пришла идея подружить kotlinx.fuzz и kotlinx.serialization, чтобы можно было генерировать объекты любой сложности. Это я сделал, и создал Pull Request в kotlinx.fuzz.

Теперь можно генерировать любые объекты и они автоматически будут заполняться случайными данными, как показано на скриншоте в посте. А вы что думаете, полезное изменение? Глянуть как я это сделал можно тут: ссылка.

Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
1010👨‍💻54
⚡️ Meta присоединяется в Kotlin Foundation

Крутой прецендент, что Google становится всё менее монополистом в этом плане. Сейчас де-факто Kotlin это симбиоз Google и JetBrains, и тенденция на вступление большего количества игроков в консорциум Kotlin Foundation добавляет влияния JetBrains в своём же продукте. Также это хорошая новость из-за того, что на наш любимый язык будет всё больше ресурсов и фичи будут катиться быстрее.

Meta стала золотым участником Kotlin Foundation и берёт на себя дополнительные проекты такие как программа грантов для Kotlin-разработчиков и образовательные программы Kotlin Multiplatform.

(Новость перебивает предыдущий пост, потому что важная)

Kotlin Foundation | Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
😨108👍3👎2
⚡️ Новый KEEP: деструктуризация по имени

Не люблю я использовать деструктуризацию, потому что бывает запутаешься в порядке, а там ещё и типы одинаковые – и бага допускается.

Ну и в команде Kotlin, наконец, что-то решили с этим сделать. Фичу обещали года 3 назад на KotlinConf и после выхода K2 смогли ей заняться. Вышел KEEP. Я точно жду эту фичу, а позиционная деструктуризация останется, наверное, только в лямбдах.

KEEP | Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
1621
📹 Kotlin ❤️ AI: поддержка разработки AI-приложений от JetBrains

В этом видео вы узнаете про то, как можно интегрировать AI-агентов в приложения при помощи новых библиотек от JetBrains. Мы разобрали что такое Model Context Protocol, AI агенты и какое у них будущее. Применили библиотеки kotlin-mcp-sdk и koog в тестовых проектах и посмотрели как их можно использовать. А также подумали над тем, какое будущее ждёт этот инструментарий.

YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
10731🎅11
👨‍💻 Разбор исходников: kotlinx.serialization

Последние пару видосов можно было смотреть со смузи – пришло время хардкора. Наша новая рубрика: разбор исходников. В данной рубрике мы будем лазить туда, куда доходят не только лишь все. И первой библиотекой для такого разбора стала библиотека kotlinx.serialization.

Практической задачей станет разработка своего формата для kotlinx-serialization, который будет уметь перегонять любые структуры в деревья и обратно. Присоединяйтесь в эту субботу в 17:00, будет интересно!

Telegram | YouTube | Twitch
4211👍7💘22
Live stream scheduled for
Live stream started
Kotlin Meta
👨‍💻 Разбор исходников: kotlinx.serialization Последние пару видосов можно было смотреть со смузи – пришло время хардкора. Наша новая рубрика: разбор исходников. В данной рубрике мы будем лазить туда, куда доходят не только лишь все. И первой библиотекой для…
🔴️Мы в прямом эфире

Присоединяйтесь на любую площадку, удобную вам, и приготовьтесь к разбору подкапотной работы kotlinx.serialization. Стрим может занянуться больше, чем на 2 часа, но постараемся покрыть всё за отведённое время. Будем делать свой формат для сериализации!

Telegram | YouTube | Twitch
Live stream finished (2 hours)
Интринсики: функции, которых нет

Иногда, когда вы смотрите код из стандартной библиотеки, вы можете встретить вместо кода простой выброс исключения

Intrinsic означает то, что реализация является внутренней и её созданием занимается именно компилятор. Эту реализацию не получилось бы сделать на уровне рантайма языка. Реализацией intrinsic функции может быть нативный двоичный код.

Примеры кода с intrinsic реализацией можно найти в стандартной библиотеке котлина – например, здесь можно посмотреть на целый пакет с instrinsic реализациями для built-in части корутин в языке.
1171
📹 Разбор kotlinx.serialization: пишем свой формат с нуля

На последнем стриме посмотрели исходники kotlinx.serialization, и написали свой формат, который позволяет конвертировать любой класс в sealed-структуру и обратно.

Интересное применение для этого – автоматическое написание мапперов для классов с одинаковой структурой, которое не использует рефлексии.

Конечно, это не продакшн-решение, но отличный кейс для изучения внутрянки библиотеки и ответа на вопрос – а как же так выходит, что, написав один сериализатор, его можно использовать для любого формата – хоть Json, хоть XML или Yaml.

YouTube | GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
6196👍3🍌2💊1
👨‍💻 Контекстные параметры: почему контекстных ресиверов не будет

Мы напишем пару примеров с использованием контекстных параметров, подумаем над контекстно-ориентированным программированием и поразмышляем – насколько вообще языку нужна эта фича, можно ли злоупотреблять ими и как это изменит подход к проектированию кода в будущем. Глянем на KEEP, почитаем рассуждения и посмотрим как к этому пришли.

Будьте в контексте новых фич и заходите к нам на стрим в эту субботу, в 17:00 – поднимем одну из самых холиварных тем в комьюнити.

Telegram | YouTube | Twitch
1232
Kotlin Meta
👨‍💻 Контекстные параметры: почему контекстных ресиверов не будет Мы напишем пару примеров с использованием контекстных параметров, подумаем над контекстно-ориентированным программированием и поразмышляем – насколько вообще языку нужна эта фича, можно ли злоупотреблять…
🔴️Мы в прямом эфире

Заходите на любую площадку и присоединяйтесь к дискуссии про контекстно-ориентированное программирование в Kotlin. Глянем на кейсы использования, почитаем KEEPы и подумаем над всем этим с разных перспектив.

Telegram | YouTube | Twitch
👨‍💻41
Live stream started
Live stream finished (1 hour)
KEEP-0439: Named Only Parameters

30 минут назад вышел новый KEEP. Довольно простой, но интересный. Можно будет потребовать, чтобы определённые параметры передавались только по имени.

Что-то мне это напоминает. Закину в комментарии.

KEEP | Discussion
4👎1🔥11