⌨️ DSL в Kotlin: от теории к практике
Приглашаем на открытый урок.
🗓 20 ноября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
Программа вебинара:
✔️ Что такое DSL и зачем он нужен в современной разработке
✔️ Основные элементы Kotlin для создания DSL: лямбды, infix-функции, расширения
✔️ Практические примеры использования DSL в Gradle, Ktor и TeamCity
Вебинар будет полезен:
Бэкенд-разработчикам на Kotlin, тимлидам и всем, кто хочет писать более чистый и поддерживаемый код.
В результате вебинара:
Научитесь создавать собственные DSL и применять их при разработке
🔗 Ссылка на регистрацию: https://vk.cc/cRbOTY
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Приглашаем на открытый урок.
🗓 20 ноября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
Программа вебинара:
Вебинар будет полезен:
Бэкенд-разработчикам на Kotlin, тимлидам и всем, кто хочет писать более чистый и поддерживаемый код.
В результате вебинара:
Научитесь создавать собственные DSL и применять их при разработке
🔗 Ссылка на регистрацию: https://vk.cc/cRbOTY
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Media is too big
VIEW IN TELEGRAM
Проектирование Kotlin за пределами выводимого типа | Росс Тейт
Программисты на Kotlin регулярно опускают неинформативные типы в своих программах. Это делает разработку быстрее, код — легче для чтения, а сопровождение — менее трудоёмким. Но это также означает, что язык Kotlin должен быть спроектирован так, чтобы компиляторы могли надёжно принимать программы без этих типовых подсказок. Мы называем это выводом типов, но по определению вывод типов означает, что компилятор должен определить пропущенные типы так, чтобы программа успешно прошла проверку типов.
Но что, если мы можем определить, что программа безопасна, не определяя эти отсутствующие типы? Что, если мы можем сделать это даже тогда, когда таких типов в принципе не существует? И что, если мы можем сделать это эффективнее любого алгоритма вывода типов? Исследуя алгоритмы типизации следующего поколения для Kotlin, мы обнаружили, что можем эффективно выйти за пределы возможностей вывода и проверки типов. Мы разработали алгоритм «type-outference» (внешнего вывода типов), который эффективно определяет «согласованность типов» — свойство, которому удовлетворяют все программы, выводимые и проверяемые по типам (но не наоборот).
Хотя вывод типов остаётся важным для обратной связи и этапа компиляции, согласованность типов — куда более гибкое свойство, а type-outference задаёт ясные принципы для проектирования возможностей языка, которые можно эффективно проверять. В этом докладе, представив ключевые идеи, мы покажем, как они направляют создание ожидаемых и гипотетических возможностей Kotlin: объединённые типы для ошибок, условное наследование для типобезопасного сравнения значимых типов и неявную полиморфность для невыплывающих ссылок.
источник
✍️ @kotlin_lib
Программисты на Kotlin регулярно опускают неинформативные типы в своих программах. Это делает разработку быстрее, код — легче для чтения, а сопровождение — менее трудоёмким. Но это также означает, что язык Kotlin должен быть спроектирован так, чтобы компиляторы могли надёжно принимать программы без этих типовых подсказок. Мы называем это выводом типов, но по определению вывод типов означает, что компилятор должен определить пропущенные типы так, чтобы программа успешно прошла проверку типов.
Но что, если мы можем определить, что программа безопасна, не определяя эти отсутствующие типы? Что, если мы можем сделать это даже тогда, когда таких типов в принципе не существует? И что, если мы можем сделать это эффективнее любого алгоритма вывода типов? Исследуя алгоритмы типизации следующего поколения для Kotlin, мы обнаружили, что можем эффективно выйти за пределы возможностей вывода и проверки типов. Мы разработали алгоритм «type-outference» (внешнего вывода типов), который эффективно определяет «согласованность типов» — свойство, которому удовлетворяют все программы, выводимые и проверяемые по типам (но не наоборот).
Хотя вывод типов остаётся важным для обратной связи и этапа компиляции, согласованность типов — куда более гибкое свойство, а type-outference задаёт ясные принципы для проектирования возможностей языка, которые можно эффективно проверять. В этом докладе, представив ключевые идеи, мы покажем, как они направляют создание ожидаемых и гипотетических возможностей Kotlin: объединённые типы для ошибок, условное наследование для типобезопасного сравнения значимых типов и неявную полиморфность для невыплывающих ссылок.
источник
✍️ @kotlin_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Android-приложение на чистой архитектуре: разберём шаг за шагом
Чистая архитектура — это фундамент для масштабируемых Android-приложений. 26 ноября в 20:00 на открытом уроке вы создадите клиент-серверное приложение с нуля и поймёте, как строить код, который не рушится при первом изменении требований.
❗️ Разберём API для скачивания фото и описания, подключим интернет, разделим приложение на слои с использованием MVVM и реализуем логику отображения данных. Если вы уже работаете Android-разработчиком уровня junior и хотите перейти к продвинутым архитектурным решениям — этот вебинар станет отличным стартом.
👉 Вебинар проходит в преддверии старта курса «Android Developer. Professional». Регистрация открыта: https://vk.cc/cRrnFl
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Чистая архитектура — это фундамент для масштабируемых Android-приложений. 26 ноября в 20:00 на открытом уроке вы создадите клиент-серверное приложение с нуля и поймёте, как строить код, который не рушится при первом изменении требований.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
ktorgen - Kotlin + KSP + Ktor Client Code Generator
Легкий процессор Kotlin KSP для генерации клиентского кода Ktor с аннотациями
https://github.com/kingg22/ktorgen
✍️ @kotlin_lib
Легкий процессор Kotlin KSP для генерации клиентского кода Ktor с аннотациями
https://github.com/kingg22/ktorgen
✍️ @kotlin_lib
🔥1
Deploying Kotlin Multiplatform at Google Workspace | Jason Parachoniak and Johan Bay
I like to talk you through some of the bugs we found and optimizations as we launched Kotlin Multiplatform to some users with Google Workspace. We'll talk through some bugs, performance issues and fixes with comparisons to ObjectiveC. As well as a Q/A with the developers of worked on this.
https://www.youtube.com/watch?v=5lkZj4v4-ks
✍️ @kotlin_lib
I like to talk you through some of the bugs we found and optimizations as we launched Kotlin Multiplatform to some users with Google Workspace. We'll talk through some bugs, performance issues and fixes with comparisons to ObjectiveC. As well as a Q/A with the developers of worked on this.
https://www.youtube.com/watch?v=5lkZj4v4-ks
✍️ @kotlin_lib
YouTube
Deploying Kotlin Multiplatform at Google Workspace | Jason Parachoniak and Johan Bay
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
I like to talk you through some of the bugs we found and optimizations as we launched Kotlin Multiplatform to some users with Google Workspace. We'll talk through some bugs…
I like to talk you through some of the bugs we found and optimizations as we launched Kotlin Multiplatform to some users with Google Workspace. We'll talk through some bugs…
🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и приходи учиться на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!
На курсе:
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Джедайские техники Kotlin: inline-функции и reified-типы
Kotlin радует лаконичным синтаксисом и мощными фичами, но некоторые из них остаются недооценёнными. Сегодня поговорим про две джедайские техники Kotlin, о которых многие слышали, но не все используют в полной мере: это inline-функции и reified-типы.
https://habr.com/ru/companies/otus/articles/970264/
✍️ @kotlin_lib
Kotlin радует лаконичным синтаксисом и мощными фичами, но некоторые из них остаются недооценёнными. Сегодня поговорим про две джедайские техники Kotlin, о которых многие слышали, но не все используют в полной мере: это inline-функции и reified-типы.
https://habr.com/ru/companies/otus/articles/970264/
✍️ @kotlin_lib
👍4
Building Responsive Applications with RxKotlin with Sarp Remzi Aksu
Этот доклад посвящён принципам реактивного программирования и показывает, как RxKotlin можно использовать для управления асинхронными операциями, обработки потоков данных и построения реактивной архитектуры. Также мы рассмотрим стратегии интеграции RxKotlin с другими возможностями и библиотеками Kotlin, обеспечивая чистый и поддерживаемый код. По итогам сессии участники получат прочное понимание реактивного программирования с RxKotlin и смогут создавать высокоотзывчивые и надёжные приложения.
https://www.youtube.com/watch?v=Og2vqfPkvm4
✍️ @kotlin_lib
Этот доклад посвящён принципам реактивного программирования и показывает, как RxKotlin можно использовать для управления асинхронными операциями, обработки потоков данных и построения реактивной архитектуры. Также мы рассмотрим стратегии интеграции RxKotlin с другими возможностями и библиотеками Kotlin, обеспечивая чистый и поддерживаемый код. По итогам сессии участники получат прочное понимание реактивного программирования с RxKotlin и смогут создавать высокоотзывчивые и надёжные приложения.
https://www.youtube.com/watch?v=Og2vqfPkvm4
✍️ @kotlin_lib
YouTube
Building Responsive Applications with RxKotlin with Sarp Remzi Aksu
This talk delves into the principles of reactive programming and demonstrates how RxKotlin can be leveraged to manage asynchronous operations, handle data streams, and implement reactive architectures. Additionally, we will explore strategies for integrating…
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Как сделать свой оператор Flow и не сломать логику приложения
Когда стандартных операторов Flow становится мало — значит, вы вышли на следующий уровень. На открытом уроке вы узнаете, как писать свои операторы для сложных сценариев, управлять потоками данных и правильно обрабатывать события в Kotlin. Мы покажем, как реализовать собственный оператор, работать с несколькими потоками в рамках одного и не потерять производительность.
❗️ Разберём подходы, которые помогают писать читаемый и поддерживаемый асинхронный код. Урок будет полезен Android-разработчикам уровня junior+, которые уже знакомы с Flow и хотят разобраться, как расширять его под реальные задачи.
🗓 8 декабря, 20:00 МСК. Открытый урок проходит в преддверии старта курса «Android Developer. Professional». Регистрация открыта: https://vk.cc/cS2KQn
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Когда стандартных операторов Flow становится мало — значит, вы вышли на следующий уровень. На открытом уроке вы узнаете, как писать свои операторы для сложных сценариев, управлять потоками данных и правильно обрабатывать события в Kotlin. Мы покажем, как реализовать собственный оператор, работать с несколькими потоками в рамках одного и не потерять производительность.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Ktor Server Fundemantals. Часть 1
Освойте разработку бэкенда на Ktor с использованием Kotlin! Эта серия материалов охватывает основы Ktor, маршрутизацию, обработку запросов, аутентификацию и другие ключевые концепции, которые помогут вам эффективно создавать надежные серверные приложения.
источник
✍️ @kotlin_lib
Освойте разработку бэкенда на Ktor с использованием Kotlin! Эта серия материалов охватывает основы Ktor, маршрутизацию, обработку запросов, аутентификацию и другие ключевые концепции, которые помогут вам эффективно создавать надежные серверные приложения.
источник
✍️ @kotlin_lib
👍3🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Debounce vs Sample в Kotlin Flow
Ну что ж, пора снова погрузиться в мир Flow! Сегодня мы выносим на первый план два недооценённых инструмента: debounce и sample.
Про debounce многие из вас уже слышали, а вот про sample — гораздо реже. И, если быть честными, некоторые вообще используют debounce неправильно. Так что сейчас мы разложим всё по полочкам и сделаем эти концепции предельно понятными. Погнали! 🔥
https://proandroiddev.com/debounce-vs-sample-in-kotlin-flow-a89b4a94c893
✍️ @kotlin_lib
Ну что ж, пора снова погрузиться в мир Flow! Сегодня мы выносим на первый план два недооценённых инструмента: debounce и sample.
Про debounce многие из вас уже слышали, а вот про sample — гораздо реже. И, если быть честными, некоторые вообще используют debounce неправильно. Так что сейчас мы разложим всё по полочкам и сделаем эти концепции предельно понятными. Погнали! 🔥
https://proandroiddev.com/debounce-vs-sample-in-kotlin-flow-a89b4a94c893
✍️ @kotlin_lib
👍2