
Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
Статьи
Делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. А еще обозреваем ресурсы, где авторы используют Scala 3. Enjoy:
Why Scala Made Me Stop Throwing Exceptions — Java-сын к отцу пришел, и спросила кроха: типизированные ошибки — это хорошо? А Runtime exception — плохо?
An overview of using Claude Code, Metals, and NVIM — то, что идеально дополнит выпуск flatmappers-ов. Коротенькая статья показывает путь работы с MCP-сервером в Scala-проекте: от того, как подключить, до того, как реально выполняется запрос. Если вы не чувствуете себя уверенно после прослушивания нового выпуска flatmappers-ов в этой теме и понимаете, что вам не хватает базовых знаний и представления о работе с MCP, то крайне рекомендуем!
ZIO Error Handling: The Importance of Exhaustive Pattern Matching — мы всей редакцией сошлись на том, что автор абсолютно прав: всегда контролируйте ошибки и обращайте внимание на ругань компилятора в областях match-cases. Отметим, что жизнь нас учит писать дефолтный кейс там, где это возможно, вместо раскрытия каждого типа.
«Работа с callback_data в Telegram-боте с использованием protobuf + base85» — приятно видеть новых авторов. Нам понравилась коротенькая статья с разбором «каши», которая часто происходит при разработке ботов (особенно на Python). Разобрано, как именно с помощью Scala можно попытаться разграничить и структурировать все это в пригодный для продакшена код
Minimal Scala Container Images using Nix — с помощью Nix и тонкой настройки jre_minimal собирается компактный Docker-образ для Scala-приложения. С изначальных 700 МБ мы вышли на 200 МБ для образа.

Настя
Хочется присоединиться к напутствию автора: «Хоть порой время разработчика стоит дороже, чем аппаратная мощность, но все равно иногда стоит пытаться не оставлять за собой кучу мусора»

Golden Literal Testing in uTest 0.9.0 — конечно, на словах все прикольно, но мы фундаментально не согласны с тем, чтобы средство сборки само переписывало данные для падающих golden-тестов. Для нас важно, чтобы тесты ломались при соответствующих изменениях. Мы считаем, что каждый разработчик должен понимать, что юнит-тесты — это не формальность. Необходим осознанный подход к их написанию и поддержке.

Example Driven Documentation — сам purpledoc имеет крайне узкие и специфичные границы применимости: заточен под scala.js и mill, необходимо иметь дерево из проектов Indigo. Но идея великолепна — настолько проста и гениальна! Концепция созвучна комментариям кода, которые разработчики иногда оставляют друг другу в проекте, комментируя тот или иной кусок логики.
Возможно, будет хуже структура, читаемость, логичность, последовательность документации, ведь она будет отстраиваться не от запроса или проблемы пользователя, а скорее от архитектуры проекта. Зато документация всегда будет актуальна, а обновление и поддержание потребует меньших усилий.
Load Testing: Gatling and Scala Practices for Enterprise Applications — подход последовательных сценариев вызывает вопросы, так как в реальном мире в сервисе одномоментно существуют все виды пользователей и действий. Гораздо грамотнее было бы снять и подготовить нагрузочный профиль.
IntelliJ Scala Plugin 2025.2 Is Out! — плагин старается не отставать от новых фич языка, параллельно исправляя старые ошибки. Для любителей табов добавили отдельный чекбокс при создании проекта (・_・ヾ
fpilluminated 266 — наши любимые слайдики, серия про ApplicativeErrors и как это готовить.
«От REST-монолита к гибкой архитектуре GraphQL-федерации: реальный кейс Авто.ру» — если вы пропустили доклад Кирилла Ершова с недавней конференции по Scala или вам не нравится видеоформат, то вот ребята постарались и оформили в виде статьи. После прочтения вы будете в курсе, какие боли возникли при переезде на GraphQL, что это дало по бенчмаркам и почему такой подход в этом случае оправдан.
Understanding Scala Variance — если вы постоянный читатель дайджеста, то вам уже давно знакома тема вариативности. Но если вы только в начале Scala-пути, вот хороший учебный материал на эту тему. Он небольшой, подробный и понятный, иллюстрированный примерами, а под конец и вовсе объясняющий за Cats.
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на локальные каналы и видео про Scala:
«Экспериментальные системы эффектов и путаница в названиях AI-продуктов» — долгожданный выпуск flatmappers-ов, которых мы давно не слышали. Много функциональщины, разговоры о OCaml, о metals, о kyo/yaes, о разнице метапрограммирования в Scala 2 и 3, об использовании расширения MCP в VSCode. Все как мы любим! Слушаем и наслаждаемся ╰(´︶`)╯♡
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении существующих инструментов для разработки:
chanterelle 0.1.0 — не успели разработчики полностью опробовать named tuples, как для них появилась дополнительная библиотека, которая вводит операции, подобные тем, что есть в линзах.
layoutz — если вы любите красивые консольные приложения, то можете одним глазом глянуть на этот проектик.
Highlights
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:
ScalaSpringExperiment — день наблюдений Х. Этот лабораторный монстр удивительно похож на полезное существо, но не заблуждайтесь! О жертва работы извращеного ума! О несчастное создание! 4 года, 19 звезд, твой пульс еле бьется, о Spring на Scala 3!
PencilMail — форк существующей SMTP-либы. Погружаемся и изучаем мир почтовых Scala-клиентов — что-то, с чем мы раньше не сталкивались в своей работе.
Twimini-bot — пользоваться мы этим, конечно, не будем, но как pet-project на Scala «Лучше позвоните Солу ИИ» находим очень забавным.
Комьюнити-движ
Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения — ждем в комментариях:
State of Scala 2025 - Community Survey — до 8 сентября продлится открытый опрос от Scalac. Обещают, что опрос короткий, и сулят разыграть Nintendo Switch 2 среди опрошенных. На удивление, в отличие от опроса от Jetbrains, нет ограничения на страны опрашиваемых, только прописаны ограничения местных законов.
The Dereliction of Due Process — 120 комментариев, аудиомонолог на полчаса, что же могло вызвать такие горячие обсуждения в сообществе Scala? Может быть, Одерски представил новый проект типа caprese? Анонсирована Scala 4 и переход на нее? Scala прекращает свое существование и становится подкомпонентом Kotlin? Что же так сильно взбудоражило Scala-сообщество? Нет, нет, нет, это очередная серия Дома-2 в мире Scala: отмененный Джон Претти наносит ответный удар.

Миша
Санта-Барбара из мира Scala продлена еще на один сезон
Akka - New Agentic Platform — анонс платформы наподобие Spring.AI и Langchain4J от Akka.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Над дайджестом работали @Melkaya_150cm, @EvieLynn, @haskiindahouse. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>