Привет, Хабр! Мы — Настя, Эвелина и Михаил — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Комьюнити-движ

Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или есть предложения — ждем вас в комментариях.

Scala Roadmap — интерактивный roadmap по Scala с возможностью проверить свои знания через AI-тьютора. 

Миша

Помню, как радовался, когда шел по гайду для разрабов, QA, devops-ов через этот сайт и восторгался, что все в одном месте, все в графовом представлении (как я люблю), везде есть ссылки! Как же я теперь рад, что такое есть и для Scala!

Skills Repository for Scala — ребята уже давно сделали skills.sh/skillsbd.ru, в чем проблема занести туда? Сейчас это выглядит как маленький наборчик промтов под хотелки и технологии, которые сгенерировал другой ИИ и гордо положил на github.

Статьи

Делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными.

Нити и волокна (Threads & Fibers) — какая же классная статья про многопоточность! Мы не будем пересказывать, про что пишет автор, но рекомендуем каждому ознакомиться с бриллиантом. Даже нам, людям, которые не первый год работают с concurrency, было интересно и полезно данное чтиво! Браво! ⸜(ˊᗜˋ)⸝

Tracking Capabilities for Safer Agents — писать Scala-проекты с помощью ИИ? Нет! Давайте использовать Scala 3 как оградительный заборчик — защитный механизм от несанкционированного или небезопасного поведения агентов. 

Настя

Выглядит так, будто Одерски и Ко пытаются «спасти» язык, придумав ему новые применения на гребне ИИ-агентов

Rage Against the (Plurality of) Effect Systems — легенда выкатила манифест о проблемах существующих систем эффектов. Каждый найдет для себя что-то свое: кто-то сталкивался с такими же проблемами, что и автор, кто-то ночами ломает голову и задумывается над инновациями. 

Миша

Мотивирующий пост для всех Scala-разработчиков! Рекомендую прочитать особенно тем, кто пилит свои либы, а также попытайтесь развить мысль в контексте бума AI-технологий (агентам проще писать код в рамках одной экосистемы), чтобы не только люди могли удобно писать код, используя ваши инструменты, но и агенты

Настя

А я предпочитаю занять позицию древнего мудреца в этом споре: сидеть на берегу реки и наблюдать за течением вод. С учетом мотивов „Scala умирает“, мне думается, что в итоге на рынке выживут только те проекты и подходы, кому действительно нужен Scala как безальтернативный мощный и узкоспециализированный инструмент для высоконагруженных и распределенных приложений с минимальной толерантностью к сбоям. И в таком случае каких практик/библиотек будет больше — те и выиграют этот эволюционный отбор

The Effect Pattern and Effect Systems in Scala — в этом месяце все больше и больше статей на тему войны между двумя подходами (Direct style vs Functional style). Из ценного здесь: сравнение между Future/Direct/IO с реальными плюсами IO над всем остальным. Автор хоть и является мейнтейнером YAES, но все же подчеркивает бессмысленность борьбы между конкретными стилями. Также он топит за то, чтобы при написании Scala-кода у нас в первую очередь была хорошая масштабируемость эффектов и их тестируемость.

Introducing PureLogic: direct-style, pure domain logic for Scala — мы в дайджесте приверженцы функционального стиля. Да, принимаем все накладные расходы на сложность кода, но мы за ссылочную прозрачность и явные цепочки вычислений.

Generating Direct-Style Scala 3 Applications — Адам Варски открыл для себя scala-mcp + sbt --client для более быстрой итерационной разработки с помощью Claude Code на Scala 3.

What I Learned Building Secure Observability in Scala — предлагается конкретное классическое решение на проблему ада из монад и трансформеров. Прикольная метафора, но знаете, как это бывает... Не хватило какой-то критики по отношению к себе, не хватило большей рефлексии, так как все мы неидеальны и наши решения тоже.

Scala Profiling Under Fire — кода на Scala там кот наплакал, но вдруг вы не знали про инструмент FlameGraph? Что он позволяет делать и как это выглядит.

Хроники Agent Driven Development трансформации .1: улучшаем agent feedback loop — новый продуктивный автор на Хабре. Поднимает тему использования агентов в контексте мира Scala. Материал больше похож на мини-гайд, из которого можно почерпнуть новые инсайды при работе с ИИ-агентами. 

Миша

Когда-нибудь я доберусь до Хабра и выпущу свой Магнум-Опус по vibecoding-у для Scala-разрабов

# 10 ошибок рефакторинга — очевидные вещи, которые отражают инженерную боль. Интересно другое: в комментариях люди разделились на два лагеря: те, кто считает, что нейрослопу нет места на Хабре, и те, кто считает, что мысли автора пропущены через ИИ для редактуры и это нормально и приемлемо. У нас для вас по этому поводу есть мем:

# 10 ошибок API — для кого-то в комментариях нашелся отклик на ошибки, которые приводит автор. Может быть, наши кодовые базы слишком хороши, но мы такое не пропускаем. Ждем «20 ошибок API» с дебрями и неочевидными вещами. 

Миша

Мне больше нравятся статьи, в которых автор разбирает один очень сложный, муторный фейл с прода с разными дампами, влиянием и приятным удивлением при установлении причины

Tooling

Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении уже существующих инструментов для разработки.

The PluginCompat Pattern — кому-то определенно будет полезно, когда настанет день релиза sbt 2.0, можно заранее оставить нычки. Как говорится, готовь телегу зимой, а сани летом. 

Настя

Массовый переезд проектов со Scala 2 на Scala 3 до сих пор не закончился, а нам уже готовят почву под переезд с sbt 1 на sbt 2. Как же непросто быть самым модным в этом сезоне

scalex. Plugin for Claude Code — описание действительно байтящее, мы сразу установили себе и начали играться, замерять скорости ответов с использованием тулы и без. Попробуйте вместе с нами! 

Миша

Порой действительно удручает скорость подключения агента к Metals LSP. Данная тулза предлагает аналогичное решение, которое ускорит ваше погружение в кодовую базу, написанную на Scala. 5 минут потестил — пока непонятно, насколько хорошо. Пробуем, замерим

Hardening Scoverage Support in Scala 3 — прошло не так много времени с момента выделения инвестиций Sovereign Tech Fund на улучшение стабильности scoverage, а работа уже закипела и предоставлен первый отчет о проделанной работе.

Релизы

Собрали последние обновления популярных и полезных библиотек за пару месяцев:

До встречи через месяц! ♡\( ̄▽ ̄)/♡

Над дайджестом работали @Melkaya_150cm, @EvieLynn, @haskiindahouse. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>

Подписывайтесь на наш тг-канал, там мы анонсим все самое интересное и обсуждаем горячие новости.

Предыдущие выпуски