Kotlin Meta
👨💻 Разбор исходников: kotlinx.serialization Последние пару видосов можно было смотреть со смузи – пришло время хардкора. Наша новая рубрика: разбор исходников. В данной рубрике мы будем лазить туда, куда доходят не только лишь все. И первой библиотекой для…
🔴️️ Мы в прямом эфире
Присоединяйтесь на любую площадку, удобную вам, и приготовьтесь к разбору подкапотной работы kotlinx.serialization. Стрим может занянуться больше, чем на 2 часа, но постараемся покрыть всё за отведённое время. Будем делать свой формат для сериализации!
Telegram | YouTube | Twitch
Присоединяйтесь на любую площадку, удобную вам, и приготовьтесь к разбору подкапотной работы kotlinx.serialization. Стрим может занянуться больше, чем на 2 часа, но постараемся покрыть всё за отведённое время. Будем делать свой формат для сериализации!
Telegram | YouTube | Twitch
Kotlin Meta
🔴️️ Мы в прямом эфире Присоединяйтесь на любую площадку, удобную вам, и приготовьтесь к разбору подкапотной работы kotlinx.serialization. Стрим может занянуться больше, чем на 2 часа, но постараемся покрыть всё за отведённое время. Будем делать свой формат…
Meta.from(FeedbackSerializer, feedback)
Anonymous Poll
9%
Стрим интересный, удалось посмотреть
0%
Тема стрима интересна, не удалось раскрыть
63%
Тема стрима интересна, жду записи в среду
16%
Тема стрима мне не интересна
13%
Я и сам своего рода стример
Интринсики: функции, которых нет
Иногда, когда вы смотрите код из стандартной библиотеки, вы можете встретить вместо кода простой выброс исключения
Intrinsic означает то, что реализация является внутренней и её созданием занимается именно компилятор. Эту реализацию не получилось бы сделать на уровне рантайма языка. Реализацией intrinsic функции может быть нативный двоичный код.
Примеры кода с intrinsic реализацией можно найти в стандартной библиотеке котлина – например, здесь можно посмотреть на целый пакет с instrinsic реализациями для built-in части корутин в языке.
Иногда, когда вы смотрите код из стандартной библиотеки, вы можете встретить вместо кода простой выброс исключения
Intrinsic означает то, что реализация является внутренней и её созданием занимается именно компилятор. Эту реализацию не получилось бы сделать на уровне рантайма языка. Реализацией intrinsic функции может быть нативный двоичный код.
Примеры кода с intrinsic реализацией можно найти в стандартной библиотеке котлина – например, здесь можно посмотреть на целый пакет с instrinsic реализациями для built-in части корутин в языке.
10 7 1
На последнем стриме посмотрели исходники kotlinx.serialization, и написали свой формат, который позволяет конвертировать любой класс в sealed-структуру и обратно.
Интересное применение для этого – автоматическое написание мапперов для классов с одинаковой структурой, которое не использует рефлексии.
Конечно, это не продакшн-решение, но отличный кейс для изучения внутрянки библиотеки и ответа на вопрос – а как же так выходит, что, написав один сериализатор, его можно использовать для любого формата – хоть Json, хоть XML или Yaml.
YouTube | GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
61 9⚡6👍3🍌2💊1
👨💻 Контекстные параметры: почему контекстных ресиверов не будет
Мы напишем пару примеров с использованием контекстных параметров, подумаем над контекстно-ориентированным программированием и поразмышляем – насколько вообще языку нужна эта фича, можно ли злоупотреблять ими и как это изменит подход к проектированию кода в будущем. Глянем на KEEP, почитаем рассуждения и посмотрим как к этому пришли.
Будьте в контексте новых фич и заходите к нам на стрим в эту субботу, в 17:00 – поднимем одну из самых холиварных тем в комьюнити.
Telegram | YouTube | Twitch
Мы напишем пару примеров с использованием контекстных параметров, подумаем над контекстно-ориентированным программированием и поразмышляем – насколько вообще языку нужна эта фича, можно ли злоупотреблять ими и как это изменит подход к проектированию кода в будущем. Глянем на KEEP, почитаем рассуждения и посмотрим как к этому пришли.
Будьте в контексте новых фич и заходите к нам на стрим в эту субботу, в 17:00 – поднимем одну из самых холиварных тем в комьюнити.
Telegram | YouTube | Twitch
Kotlin Meta
👨💻 Контекстные параметры: почему контекстных ресиверов не будет Мы напишем пару примеров с использованием контекстных параметров, подумаем над контекстно-ориентированным программированием и поразмышляем – насколько вообще языку нужна эта фича, можно ли злоупотреблять…
🔴️️ Мы в прямом эфире
Заходите на любую площадку и присоединяйтесь к дискуссии про контекстно-ориентированное программирование в Kotlin. Глянем на кейсы использования, почитаем KEEPы и подумаем над всем этим с разных перспектив.
Telegram | YouTube | Twitch
Заходите на любую площадку и присоединяйтесь к дискуссии про контекстно-ориентированное программирование в Kotlin. Глянем на кейсы использования, почитаем KEEPы и подумаем над всем этим с разных перспектив.
Telegram | YouTube | Twitch
👨💻4 1
Kotlin Meta
🔴️️ Мы в прямом эфире Заходите на любую площадку и присоединяйтесь к дискуссии про контекстно-ориентированное программирование в Kotlin. Глянем на кейсы использования, почитаем KEEPы и подумаем над всем этим с разных перспектив. Telegram | YouTube | Twitch
KEEP-0439: Named Only Parameters
30 минут назад вышел новый KEEP. Довольно простой, но интересный. Можно будет потребовать, чтобы определённые параметры передавались только по имени.
Что-то мне это напоминает. Закину в комментарии.
KEEP | Discussion
30 минут назад вышел новый KEEP. Довольно простой, но интересный. Можно будет потребовать, чтобы определённые параметры передавались только по имени.
Что-то мне это напоминает. Закину в комментарии.
KEEP | Discussion
Kotlin Meta
А всё потому что доехал до мейна PR, который я создавал для генерации любых Serializable-объектов. Чтож, эмоции прикольные, надеюсь это не последний мой контрибут в Kotlin-экосистему.
Кстати, получилось сделать такой генератор благодаря пониманию того, что сериализация в Kotlin не привязана к формату и позволяет узнать структуру любого класса без необходимости рефлексии. Именно про это один из наших последних видосов на YouTube.
YT: kotlinx.serialization | YT: kotlinx.fuzz | GH: Pull Request
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19💘6 4👍2😎1
Присоединяйтесь в это воскресенье в 17:00 обсудить всё, что связано с разработкой Kotlin. Вы узнаете:
• Чем разработка компиляторов отличается от обычной разработки?
• Какой процесс проходит фича перед внедрением в язык? Как написать свой KEEP?
• Структура компилятора, зависимость от Intellij Idea: почему так сложилось и что с этим делать?
Обсудим это и многое другое. Также у нас будет доступен чат на Twitch в котором можно будет задать любые вопросы нашему гостю – Евгению Желенскому. Присоединяйтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
53🔥18 9🤩3
👨💻 Контекстные параметры: почему контекстных ресиверов не будет
Написали пару примеров с использованием контекстных параметров, сравнили их с контекстными ресиверами, почитали KEEPы и порассуждали над тем, как фича в будущем может быть негативно использована. Посмотрите, чтобы быть в контексте новых фич.
YouTube
Написали пару примеров с использованием контекстных параметров, сравнили их с контекстными ресиверами, почитали KEEPы и порассуждали над тем, как фича в будущем может быть негативно использована. Посмотрите, чтобы быть в контексте новых фич.
YouTube
❤6😁1
Ktor Library Improvement Process (KLIP)
Начиная с версии библиотеки 3.0.0 все существенные изменения в Ktor будут проходить процесс, который подобен KEEP (Kotlin Enchancement and Evolution Process), о котором у нас уже был пост. Это означает стабилизацию API и возможность сообщества влиять на изменение API библиотеки.
В прошлом API менялся очень резко и переписывать проекты с ktor 1.0 до 2.0 было не самым приятным процессом. Теперь движение будет медленнее, и больше внимания будет уделяться деталям. Видно, что библиотека взрослеет.
У нас пока не было стримов с командой разработки Ktor, но мы всё равно внимательно следим за этой библиотекой, ведь она отображает видение команды Kotlin о том, как должно выглядить правильное client-server взаимодействие.
Там, кстати, уже есть первый KLIP, который построен вокруг интеграции Open API в Ktor.
GH: Open API KLIP | GH: KLIP | GH: KEEP
Начиная с версии библиотеки 3.0.0 все существенные изменения в Ktor будут проходить процесс, который подобен KEEP (Kotlin Enchancement and Evolution Process), о котором у нас уже был пост. Это означает стабилизацию API и возможность сообщества влиять на изменение API библиотеки.
В прошлом API менялся очень резко и переписывать проекты с ktor 1.0 до 2.0 было не самым приятным процессом. Теперь движение будет медленнее, и больше внимания будет уделяться деталям. Видно, что библиотека взрослеет.
У нас пока не было стримов с командой разработки Ktor, но мы всё равно внимательно следим за этой библиотекой, ведь она отображает видение команды Kotlin о том, как должно выглядить правильное client-server взаимодействие.
Там, кстати, уже есть первый KLIP, который построен вокруг интеграции Open API в Ktor.
GH: Open API KLIP | GH: KLIP | GH: KEEP
10👍9 5 3
Kotlin Meta
🔴️️ Мы в прямом эфире
Присоединяйтесь на любую площадку с помощью ссылок внизу и участвуйте в дискуссии о внутрянке разработки компилятора Kotlin. Поговорим с разработчиком компилятора Kotlin – Женей Желенским!
Telegram | YouTube | Twitch
Присоединяйтесь на любую площадку с помощью ссылок внизу и участвуйте в дискуссии о внутрянке разработки компилятора Kotlin. Поговорим с разработчиком компилятора Kotlin – Женей Желенским!
Telegram | YouTube | Twitch
❤5 4
Kotlin Meta
🔴️️ Мы в прямом эфире Присоединяйтесь на любую площадку с помощью ссылок внизу и участвуйте в дискуссии о внутрянке разработки компилятора Kotlin. Поговорим с разработчиком компилятора Kotlin – Женей Желенским! Telegram | YouTube | Twitch
Kotlin исполняется 14 лет
В этот день, 22.07.2011, вышла первая версия Kotlin. За 14 лет он превратился из внутреннего проекта JetBrains в основной язык разработки под Android, завоевал прочные позиции в серверной разработке, потеснив Java, и вышел на стабильный уровень в мультиплатформенной разработке.
В честь этого дня Amplicode сделали небольшую серию докладов про ConneKt и Spring + Kotlin. Также можно посмотреть на официальном канале Kotlin by JetBrains видео, выпущенное к 10-летию языка, в котором рассказывается его история.
В этот день, 22.07.2011, вышла первая версия Kotlin. За 14 лет он превратился из внутреннего проекта JetBrains в основной язык разработки под Android, завоевал прочные позиции в серверной разработке, потеснив Java, и вышел на стабильный уровень в мультиплатформенной разработке.
В честь этого дня Amplicode сделали небольшую серию докладов про ConneKt и Spring + Kotlin. Также можно посмотреть на официальном канале Kotlin by JetBrains видео, выпущенное к 10-летию языка, в котором рассказывается его история.
1🎉19❤7🥰4 4 2