home.social

#kotlin — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #kotlin, aggregated by home.social.

  1. Объектно-ориентированное программирование: разбор парадигмы, её силы и ограничений

    ​Объектно-ориентированное программирование (ООП) уже более трёх десятилетий остаётся основой для построения сложных программных систем. Несмотря на рост функционального подхода и отказ от чистого ООП в ряде ниш, именно объекты и классы лежат в фундаменте...

    #DST #DSTGlobal #ДСТ #ДСТГлобал #программирование #парадигма #ООП #код #SemanticDB #LOGOSk #LLM #Kotlin #Python #CICD

    Источник: dstglobal.ru/club/1248-obektno

  2. Объектно-ориентированное программирование: разбор парадигмы, её силы и ограничений

    ​Объектно-ориентированное программирование (ООП) уже более трёх десятилетий остаётся основой для построения сложных программных систем. Несмотря на рост функционального подхода и отказ от чистого ООП в ряде ниш, именно объекты и классы лежат в фундаменте...

    #DST #DSTGlobal #ДСТ #ДСТГлобал #программирование #парадигма #ООП #код #SemanticDB #LOGOSk #LLM #Kotlin #Python #CICD

    Источник: dstglobal.ru/club/1248-obektno

  3. Logpoints and a bundled debugger skill to make #debugging easier, dependency completion for #Gradle and #Maven, support for #Java 27, #Kotlin 2.4, new features for #Spring security, #Docker and more...
    #IntelliJIDEA 2026.2 is here: youtu.be/1wzW-gM9OZE?is=yz-0VO

  4. Logpoints and a bundled debugger skill to make #debugging easier, dependency completion for #Gradle and #Maven, support for #Java 27, #Kotlin 2.4, new features for #Spring security, #Docker and more...
    #IntelliJIDEA 2026.2 is here: youtu.be/1wzW-gM9OZE?is=yz-0VO

  5. Лучшие токены – те, которые вы не потратили: анатомия жадного LLM-бота

    При анализе кода с помощью LLM всегда есть соблазн закинуть в модель всё сразу — и пусть сама разбирается. Но на больших объёмах кода стоимость и время такого «пусть разбирается» быстро приводят нас в чувства и заставляют искать пути более экономной траты токенов. Привет, меня зовут Андрей, я занимаюсь автоматизацией тестирования в hh. В этой статье расскажу, как мы оптимизировали запросы нашего бота, который анализирует тестовое покрытие с помощью LLM, чтобы получить максимум пользы при минимальных затратах. Антоним токенмаксинга – токенпожарскинг токенминнинг?

    habr.com/ru/companies/hh/artic

    #sonarqube #llm #java #python #kotlin #покрытие_кода #покрытие_тестами #qa_automation #qa #qa_testing

  6. Лучшие токены – те, которые вы не потратили: анатомия жадного LLM-бота

    При анализе кода с помощью LLM всегда есть соблазн закинуть в модель всё сразу — и пусть сама разбирается. Но на больших объёмах кода стоимость и время такого «пусть разбирается» быстро приводят нас в чувства и заставляют искать пути более экономной траты токенов. Привет, меня зовут Андрей, я занимаюсь автоматизацией тестирования в hh. В этой статье расскажу, как мы оптимизировали запросы нашего бота, который анализирует тестовое покрытие с помощью LLM, чтобы получить максимум пользы при минимальных затратах. Антоним токенмаксинга – токенпожарскинг токенминнинг?

    habr.com/ru/companies/hh/artic

    #sonarqube #llm #java #python #kotlin #покрытие_кода #покрытие_тестами #qa_automation #qa #qa_testing

  7. Лучшие токены – те, которые вы не потратили: анатомия жадного LLM-бота

    При анализе кода с помощью LLM всегда есть соблазн закинуть в модель всё сразу — и пусть сама разбирается. Но на больших объёмах кода стоимость и время такого «пусть разбирается» быстро приводят нас в чувства и заставляют искать пути более экономной траты токенов. Привет, меня зовут Андрей, я занимаюсь автоматизацией тестирования в hh. В этой статье расскажу, как мы оптимизировали запросы нашего бота, который анализирует тестовое покрытие с помощью LLM, чтобы получить максимум пользы при минимальных затратах. Антоним токенмаксинга – токенпожарскинг токенминнинг?

    habr.com/ru/companies/hh/artic

    #sonarqube #llm #java #python #kotlin #покрытие_кода #покрытие_тестами #qa_automation #qa #qa_testing

  8. [Перевод] Тестовые фикстуры: управление зависимостями в Gradle

    В многомодульных Gradle-проектах рано или поздно появляются вспомогательные классы для тестов: фабрики тестовых данных, билдеры, хелперы. Такие классы не относятся ни к продакшн-коду, ни к обычным тестам. Логично было бы переиспользовать их сразу в нескольких модулях, но классическая модель Gradle этого не позволяет: тестовые артефакты одного проекта нельзя просто так подключить как зависимость в другом. На самом деле Gradle умеет решать эту задачу из коробки без вспомогательных проектов и хитрых конфигураций. Начиная с версии 5.6, тестовые фикстуры стали в Gradle полноценной сущностью первого класса, и весь этот пласт боли можно убрать буквально несколькими строчками в build.gradle. Плагин java-test-fixtures заводит в модуле отдельный SourceSet, а другие модули подключают эти классы через лаконичный DSL. При публикации Gradle даже собирает отдельный *-test-fixtures.jar для независимых проектов. В статье на примерах показано, как расшарить тестовые хелперы между модулями, избавиться от дублирования и при этом сохранить чистые архитектурные границы. Если вы устали таскать тестовый код из модуля в модуль, то Вам точно пригодится.

    habr.com/ru/companies/spring_a

    #gradle #dependencies #java #kotlin

  9. Аннотации в Kotlin: от @Deprecated до своего KSP-процессора

    Аннотации в Kotlin — это не только @Deprecated и @Suppress . Разбираемся, где живут SOURCE, BINARY и RUNTIME, чем KSP отличается от kapt, как compiler plugins меняют код и какие практические задачи можно закрыть генерацией: debug menu, удаление экспериментов и каталог performance-метрик.

    habr.com/ru/companies/uzum/art

    #kotlin #android #annotations #ksp #kapt #code_generation #metaprogramming

  10. Gradle под капотом: как перестать мучиться и заставить свой компьютер работать на полную мощность?

    Привет, Хабр. На связи Илья Новиков , технический директор команды разработчиков «Исходный код». Сегодня я хочу разобрать инструмент, который мы все используем десятки раз в день, но часто по-прежнему воспринимаем как « черный ящик ». Без этого мы бы до сих пор собирали проекты вручную, писали бы скрипты Bash для каждой команды и каждой машины, и боролись бы со старой проблемой, когда проект собирается у одного разработчика, но не собирается у другого. Gradle предоставляет нам единый источник достоверной информации, возможность воспроизводимых сборок и способ масштабирования одного и того же подхода к сборке от небольшого проекта до крупного многомодульного монорепозитория. Давайте заглянем под капот, чтобы настройка сборки перестала быть проблемой.

    habr.com/ru/articles/1058260/

    #gradle_40 #android #оптимизация_сборки #kotlin #ksp #build_cache

  11. My talk about the "Moments When Things Go Wrong" is up! It is a tale about debugging various Gradle related issues including race conditions in Kotlin Gradle Plugin.

    youtu.be/bavxLLEGX4w?si=8ds66V

    speakerdeck.com/aurimas/moment

    #gradle #kotlin #debugging

  12. My talk about the "Moments When Things Go Wrong" is up! It is a tale about debugging various Gradle related issues including race conditions in Kotlin Gradle Plugin.

    youtu.be/bavxLLEGX4w?si=8ds66V

    speakerdeck.com/aurimas/moment

    #gradle #kotlin #debugging

  13. 🚀 Android Studio Quail 3 Canary 4 is here!

    Highlights: ✅ Improved Gradle DSL configuration flexibility ✅ Fixed Running Devices crash with Ctrl + scroll wheel on physical devices

    Read more: androidstudio.googleblog.com/2

    #AndroidDev #AndroidStudio #Gradle #Kotlin

  14. Concurrency has always been one of the places where understanding is rewarded over syntax.

    Sam Cooper's Kotlin Coroutine Confidence helps you build that intuition.

    As AI handles more of the typing, books like this become more valuable, not less.

    pragprog.com/titles/sckotlin/
    #Kotlin #Coroutines

  15. Concurrency has always been one of the places where understanding is rewarded over syntax.

    Sam Cooper's Kotlin Coroutine Confidence helps you build that intuition.

    As AI handles more of the typing, books like this become more valuable, not less.

    pragprog.com/titles/sckotlin/

  16. 🚀 Google KSP 2.3.10 is here!

    Highlights:
    • OOM fix for coroutine dispatcher threads
    • Kotlin 2.4.0 compatibility
    • Better incremental compilation
    • AGP 9 R-class fix
    • Improved build & remote cache reliability

    github.com/google/ksp/releases

    #Kotlin #AndroidDev #KSP #Gradle

  17. We recorded the What's New in #IntelliJIDEA 2026.2 video today. New features for #AI, #Java, #Kotlin, Debugger, #Spring, #Gradle, #Maven and #Docker coming soon to an IDE near you! @sivalabs @antonarhipov Marco Behler

  18. We recorded the What's New in #IntelliJIDEA 2026.2 video today. New features for #AI, #Java, #Kotlin, Debugger, #Spring, #Gradle, #Maven and #Docker coming soon to an IDE near you! @sivalabs @antonarhipov Marco Behler

  19. Словари MDict в закрытом приложении, или зачем я писал RIPEMD-128 вручную

    Добавлял в свою читалку офлайн-словари и упёрся в MDX, формат словарей MDict. Проприетарный, официальной спеки от создателей нет. Готовые Java-парсеры под GPL, а у меня закрытое приложение, тащить нельзя. Значит, пишу свой, с нуля и без зависимостей. Рассказываю, как формат устроен внутри, где я споткнулся, и почему пришлось руками писать RIPEMD-128, чтобы прочитать даже оглавление словаря.

    habr.com/ru/articles/1055436/

    #MDX #MDict #словари #парсинг_форматов #Kotlin #reverse_engineering #RIPEMD128 #Android #шифрование

  20. Словари MDict в закрытом приложении, или зачем я писал RIPEMD-128 вручную

    Добавлял в свою читалку офлайн-словари и упёрся в MDX, формат словарей MDict. Проприетарный, официальной спеки от создателей нет. Готовые Java-парсеры под GPL, а у меня закрытое приложение, тащить нельзя. Значит, пишу свой, с нуля и без зависимостей. Рассказываю, как формат устроен внутри, где я споткнулся, и почему пришлось руками писать RIPEMD-128, чтобы прочитать даже оглавление словаря.

    habr.com/ru/articles/1055436/

    #MDX #MDict #словари #парсинг_форматов #Kotlin #reverse_engineering #RIPEMD128 #Android #шифрование

  21. Словари MDict в закрытом приложении, или зачем я писал RIPEMD-128 вручную

    Добавлял в свою читалку офлайн-словари и упёрся в MDX, формат словарей MDict. Проприетарный, официальной спеки от создателей нет. Готовые Java-парсеры под GPL, а у меня закрытое приложение, тащить нельзя. Значит, пишу свой, с нуля и без зависимостей. Рассказываю, как формат устроен внутри, где я споткнулся, и почему пришлось руками писать RIPEMD-128, чтобы прочитать даже оглавление словаря.

    habr.com/ru/articles/1055436/

    #MDX #MDict #словари #парсинг_форматов #Kotlin #reverse_engineering #RIPEMD128 #Android #шифрование

  22. Асинхронность NIO и Kotlin — а есть ли связь?

    Асинхронность NIO и асинхронность Kotlin: попробуем разобраться какие идеи заложены и как совместно использовать то и другое. А есть ли связь?

    habr.com/ru/articles/1053868/

    #nio #kotlin #async #coroutines #java #linux #epoll

  23. Девять лет, 514 коммитов и один посёлок: как я делал приложение с расписанием автобусов

    Уже девять лет я делаю приложение с расписанием автобусов для посёлка Иртышский в Омской области. И почти всё это время сам там не живу — уехал через полгода после запуска, а приложение осталось, им до сих пор пользуются. И сразу скажу: я не программист. Работаю в IT системным аналитиком, а код пишу для себя, как хобби. Захотел бы научиться программировать всерьёз — пошёл бы на курсы и научился. Но мне это никогда не было нужно. Нужно было получить желаемую утилиту, а программирование тут просто инструмент. Это — моё творчество. А вспомнил я про эти девять лет сегодня вечером. Сегодня 18 июня 2026 года, и ровно семь лет назад, день в день, я научил приложение скачивать расписание из интернета — до этого оно лежало прямо в сборке. Сегодня этот способ убрал, расписание теперь приходит по‑другому. Провозился полвечера, а потом посчитал — приложению‑то уже девять лет .

    habr.com/ru/articles/1049576/

    #расписание_автобусов #Android #Kotlin #petпроект #индиразработка #хоббипроект #Google_Play #монетизация_приложения #9_лет_разработки

  24. От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)

    В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.

    habr.com/ru/companies/garage8/

    #kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors

  25. [Перевод] Новые возможности Hibernate 7.4

    Hibernate 7.4 исправляет старую проблему с пагинацией и fetch join. Раньше запрос на первые 10 Order вместе с OrderItem не мог безопасно ограничиться на уровне SQL. Из-за join один заказ превращался в несколько строк, и limit мог обрезать коллекцию. Поэтому Hibernate загружал все подходящие строки, а страницу выбирал уже в памяти. На больших данных это било по памяти и могло закончиться OutOfMemoryException . Теперь Hibernate сначала выбирает нужные id родительских сущностей во вложенном запросе, а затем загружает для них полные дочерние коллекции. Пагинация остается в БД, данные не режутся. Еще в 7.4 появились history и audit tables. @Temporal хранит версии строк и позволяет читать сущность на конкретный момент времени. @Audited пишет изменения ADD / MOD / DEL в audit-таблицу без Envers.

    habr.com/ru/companies/spring_a

    #hibernate #hibernate_orm #orm #java #jpa #kotlin

  26. 🚀 Just published v1.8 of my Private Facebook Wrapper for Android! 🛡️

    This isn't just another WebView wrapper; it's a "Digital Faraday Cage". In this build, I’ve implemented what I call the "Double-Lock", physically ejecting any external links out of the app’s memory container and into your default system browser.

    Highlights:
    ✅ External Link Isolation: Third-party sites never touch your Facebook cookies.
    ✅ X-Requested-With Stripping: Facebook doesn't know you're on an app.
    ✅ Hardened JS Injection: Muffled Canvas, WebGL, and WebRTC fingerprints.
    ✅ Zero Permissions: No contacts, no location, no background sync.

    Built for privacy power users who want the feed without the tracking payload.

    Check out the code on GitHub: https://github.com/theipw/Private_Facebook

    #AndroidDev #Privacy #FOSSDev #CyberSecurity #Facebook #FaradayCage #OpenSource #Kotlin #AndroidPrivacy
  27. 🚀 Just published v1.8 of my Private Facebook Wrapper for Android! 🛡️

    This isn't just another WebView wrapper; it's a "Digital Faraday Cage". In this build, I’ve implemented what I call the "Double-Lock", physically ejecting any external links out of the app’s memory container and into your default system browser.

    Highlights:
    ✅ External Link Isolation: Third-party sites never touch your Facebook cookies.
    ✅ X-Requested-With Stripping: Facebook doesn't know you're on an app.
    ✅ Hardened JS Injection: Muffled Canvas, WebGL, and WebRTC fingerprints.
    ✅ Zero Permissions: No contacts, no location, no background sync.

    Built for privacy power users who want the feed without the tracking payload.

    Check out the code on GitHub: https://github.com/theipw/Private_Facebook

    #AndroidDev #Privacy #FOSSDev #CyberSecurity #Facebook #FaradayCage #OpenSource #Kotlin #AndroidPrivacy
  28. Я устал от бесконечных списков чатов и написал свой приватный мессенджер на гексагональных сотах (Kotlin + Go)

    Привет, Хабр! Меня, честно говоря, просто утомили современные интерфейсы общения и навигации. Куда ни посмотри — в Telegram, Slack, WhatsApp, на почте — нас везде встречает один и тот же шаблон: бесконечный, давящий вертикальный список чатов. Это превращает общение в какую-то рутину, конвейер, где новые сообщения постоянно вытесняют старые, заставляя нас бесконечно скроллить экран вверх и вниз. Мне захотелось создать нечто принципиально иное. Что-то более близкое к естественным природным взаимосвязям. При разработке интерфейса я во многом ориентировался на биомиметику и структуру нейронных связей в упрощенном виде. Ведь в живой природе не существует листов, таблиц и списков — она оперирует узлами, ветвями и сетями. Мне хотелось создать среду для общения и структурирования мыслей, которая ощущалась бы интуитивно и естественно. Так родился проект ПОРЯДОК или ORDO. Идея навигации в нем реализована фрактально-пространственным способом — в виде гексагональных сот (ячеек). ОРДО — это полностью некоммерческий, бесплатный концепт приватного мессенджера со сквозным шифрованием (E2EE), написанный в одиночку. Я хочу поделиться с вами историей его разработки, показать устройство под капотом и, конечно, получить вашу конструктивную критику.

    habr.com/ru/articles/1045002/

    #ordo #android #kotlin #приватность #мессенджер #интерфейсы #go #криптография

  29. أطلقت JetBrains إصدار Kotlin 2.4، الذي يقدم تحسينات شاملة للغة البرمجة متعددة المنصات. يشمل الإصدار معلمات السياق المستقرة وحقول الدعم الصريحة، مما يساعد المطورين على كتابة تعليمات برمجية أوضح وأسهل في الصيانة. كما يعزز Kotlin 2.4 قابلية التشغيل البيني بدعم حزم Swift، ويضيف دعمًا لواجهة برمجة تطبيقات UUID، ويحسن أدوات البناء بدعم Gradle 9.5.0 ومحاذاة إصدارات Java في Maven. هذه التحديثات تجعل تطوير iOS و macOS أكثر سلاسة وتزيد من كفاءة الأداء.

    #Kotlin #Swift #Gradle

  30. KSP 2.3.9 is available

    ✅ Improved native cross-compilation support checks to avoid unnecessary Gradle Configuration Cache invalidation
    ✅ Fixed a compilation performance regression in "PsiResolutionStrategy" introduced in 2.3.8
    github.com/google/ksp/releases

    #Kotlin #KSP #AndroidDev

  31. Folks, Yorikiri 2.6 is out on… iOS, watchOS, macOS, iPadOS and… Android! 🥳

    New notifications, entirely new backend… too bad last simple tournament ended 2 days ago… 🫣

    AppStore: apps.apple.com/fr/app/yorikiri

    Google Play: play.google.com/store/apps/det

    #indie #indieapp #swift #kotlin #android

  32. Gradle под капотом: как перестать страдать и заставить сборку летать

    Привет, Хабр! На связи «Исходный Код». Сегодня разбираем инструмент, который мы все запускаем по сто раз на дню, но часто воспринимаем как черный ящик. Без него мы бы до сих пор собирали проекты руками, писали скрипты на bash и страдали от вечного «у меня собирается, а у тебя нет». Gradle дает нам единый источник правды, повторяемые сборки и масштабируемость: от пет-проекта до огромных многомодульных монорепозиториев. Давайте разберем его по косточкам, чтобы настройка билдов больше не была болью.

    habr.com/ru/articles/1038946/

    #gradle_40 #android #оптимизация_сборки #kotlin #ksp #build_cache

  33. Технический гайд по сторис – часть 4: как мы добавили видео формат

    Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение – онлайн-платформу для решения вопросов с недвижимостью. Основные пользователи приложения – физические лица (B2C) и риелторы (B2B2C). Эта статья – технический гайд для android-разработчиков о том, как реализовать видео сторис у себя в приложении или как использовать нашу библиотеку для работы с ними. Из статьи вы поймете: как запустить видео сторис в своем приложении, как работать с несколькими видео, как сделать из этого полноценный плагин, если вы хотите инкапсулировать логику в отдельном модуле и подключать ее только при необходимости, или как использовать нашу библиотеку для этих целей. Для удобства изучения статьи я решил разбить ее на блоки:

    habr.com/ru/companies/m2tech/a

    #android #ddd #compose #stories #mvvm #kotlin #coroutines #clean_architecture #room

  34. Технический гайд по сторис – часть 4: как мы добавили видео формат

    Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение – онлайн-платформу для решения вопросов с недвижимостью. Основные пользователи приложения – физические лица (B2C) и риелторы (B2B2C). Эта статья – технический гайд для android-разработчиков о том, как реализовать видео сторис у себя в приложении или как использовать нашу библиотеку для работы с ними. Из статьи вы поймете: как запустить видео сторис в своем приложении, как работать с несколькими видео, как сделать из этого полноценный плагин, если вы хотите инкапсулировать логику в отдельном модуле и подключать ее только при необходимости, или как использовать нашу библиотеку для этих целей. Для удобства изучения статьи я решил разбить ее на блоки:

    habr.com/ru/companies/m2tech/a

    #android #ddd #compose #stories #mvvm #kotlin #coroutines #clean_architecture #room

  35. Технический гайд по сторис – часть 4: как мы добавили видео формат

    Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение – онлайн-платформу для решения вопросов с недвижимостью. Основные пользователи приложения – физические лица (B2C) и риелторы (B2B2C). Эта статья – технический гайд для android-разработчиков о том, как реализовать видео сторис у себя в приложении или как использовать нашу библиотеку для работы с ними. Из статьи вы поймете: как запустить видео сторис в своем приложении, как работать с несколькими видео, как сделать из этого полноценный плагин, если вы хотите инкапсулировать логику в отдельном модуле и подключать ее только при необходимости, или как использовать нашу библиотеку для этих целей. Для удобства изучения статьи я решил разбить ее на блоки:

    habr.com/ru/companies/m2tech/a

    #android #ddd #compose #stories #mvvm #kotlin #coroutines #clean_architecture #room

  36. Same rich push notification between the iOS and Android app…
    🥹

    #indieapp #swift #kotlin

  37. Yorikiri is coming to Android... 🥹

    It won't be for the current tournament but for the next one. The iOS version will have some improvements too.

    #indieapp #swift #kotlin

  38. Сравнение моделей конкурентности JVM языков: Нужен ли еще ThreadPool после coroutines, ZIO и Virtual Threads?

    В последней части про модели конкурентности JVM языков мы сравним разные подходы друг с другом. И ответим на вопрос “А зачем теперь тред пулы, если есть столько модных концепций: корутины, файберы, виртуальные потоки ?” Узнать что есть кроме Java Threads

    habr.com/ru/articles/1035740/

    #Java #JVM #Kotlin #Clojure #ZIO #coroutines #virtual_threads #thread_pools #Project_Loom #concurrency

  39. Сравнение моделей конкурентности JVM языков: Kotlin coroutines, ZIO runtime и Clojure

    Coroutine, Fiber, Virtual thread - это всё одно и то же? Или нет ? Или нет. А если под капотом всё равно JVM, почему нельзя просто везде включить virtual threads и успокоиться? Разберемся! Coroutine, Fiber, Virtual Thread ???

    habr.com/ru/articles/1034938/

    #Java #JVM #Kotlin #Clojure #ZIO #coroutines #virtual_threads #Project_Loom #thread_pools #concurrency

  40. 🚀 KSP 2.3.8 released

    Highlights:
    ✅ KEEP 402 annotation use-site rules enabled
    ✅ Gradle project isolation enabled by default
    ✅ Faster getSymbolsWithAnnotation with PSI-based resolution

    🔗 github.com/google/ksp/releases

    #Kotlin #AndroidDev #KSP #Gradle

  41. XProc Gradle plugin. Announcing a new Gradle plugin for XProc that supports both XML Calabash and MorganaXProc-III. #XProc #MarkupMonday #Kotlin #Gradle #DocBook

    so.nwalsh.com/2026/05/04-gradle

  42. XProc Gradle plugin. Announcing a new Gradle plugin for XProc that supports both XML Calabash and MorganaXProc-III. #XProc #MarkupMonday #Kotlin #Gradle #DocBook

    so.nwalsh.com/2026/05/04-gradle

  43. Коллаборация человека и ИИ в Kotlin‑разработке: скрытые практики эффективных команд

    ИИ-агенты пишут код быстрее человека, но кто поручится, что они не устроят cascading failure? Разберем, как в реальном проекте совместить инженерный опыт, архитектурные шаблоны и автономных агентов, чтобы получить работающий функциональный узел, а не груду классов-переростков. Вы увидите подготовку фундамента, декомпозицию задач, диаграммы и тот самый момент, когда ИИ нужно жёстко одёрнуть.

    habr.com/ru/companies/otus/art

    #kotlin #backendразработка #архитектура #aiагенты #agentoriented_programming #микросервисы #clean_architecture #идемпотентность #асинхронные_процессы #kotlin_ktor