
Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
Статьи
Делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. А еще обозреваем ресурсы, где авторы используют Scala 3. Enjoy:
Fundamental Concurrency Problems and Solutions — если вы уже писали на Cats Effect/ZIO, считайте это повторением азов или хорошим погружением в базовые примитивы синхронизации.
-
Making ScalaSql boring again (with interesting new internals) — новая фича в версии 3.7: именованные кортежи, упростили либу и ее использование.
Миша
Порой сделать либу скучной для использования куда лучше, чем предоставлять пользователю крышесносный API, копаясь в котором программист сам навставляет себе палок в колеса
A Beginner's Guide to Using Scala Metals With its Model Context Protocol Server — Vibe-кодинг для самых маленьких скалистов.
Eli Golin рассказывает базу про Tagless Final и Cats Effect. Глоток свежего воздуха для Scala-разработчиков посреди GPT-статей из medium-а и неаргументированных холиваров на тему сложности функционального подхода. Вы наверняка столкнетесь с таким в работе или же на обучающем курсе.
Composing Multiple Algebras in Tagless Final Style: A Practical Guide
Composing Independent Instruction Sets with Free Monads in Scala 3
From OOP Interfaces to Functional Modules: A Journey to Simplicity and Composability
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на локальные каналы и видео про Scala:
Spec-first программирование и Scala 3.7 — пока вы едете в машине на шашлыки, кайфик будет поставить на фон, послушать главные новости и задуматься об эргономике на примере настройки Dactyl Manuform.
Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation — пишите библиотеки для реальных пользователей, а не гуру дериваций. Автор Chimney проводит сравнительный анализ библиотек и их подходов и делится своим видением будущего деривации в Scala.
2 years of Rust after 10 years of Scala — the good, the bad and… not so ugly by Maciek Próchniak — спикер считает, что адаптация к написанию идиоматического кода Rust может быть сложной задачей сходу для заядлого Scala-разработчика (особенно из-за отсутствия GC). Автор делает выводы о том, что Rust лучше использовать для слоя данных, а Scala или Kotlin — для слоя управления. Почему? Посмотрите и узнаете.
-
Durable Event-sourced Workflow Monad... Seriously! — слышим последние месяцы из разных источников, в разных форматах о ребятах из Swissborg-а. То они миграцию написали, то вот вам business4s. В этот раз workflow4s — если вам не нравится формат статей, то велком на видеообзор.
Миша
Молодая камунда omg
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении уже существующих инструментов для разработки:
-
chimp — позвольте использовать вас искусственному интеллекту с помощью MCP-протокола, а для реализации есть softwaremill.
Миша
Спорим, что в течение пары следующих месяцев упадет на наши глаза имплементация протокола A2A на Scala? ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Highlights
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:
The Elements of Kyo — Interactively explore the codebase! — какой же кайф позалипать на визуализацию эффектов из kyo в виде таблицы Менделеева. Обязательно перейдите по ссылке и потыкайтесь!
-
From Vibe Coding to MUD — Part 1 — автор вайб-кодит D&D игровой сервер на Scala. Кто-то раньше в пет-проектах экспериментировал с библиотеками, а теперь выбирает AI-агентов и мучается, когда они отходят от инструкций.
Настя
Коктейль из D&D и Scala в одном заставляет меня подписаться и следить за этой историей максимально пристально
Forest Fire Simulation — рубрика «Очумелые ручки»: соприкасается Rust и Scala в проекте на поиграться. Если у вас есть Linux, то вы можете смоделировать пожар в лесу при предложенной физике влияния воды и ветра.
etl4s — Pretty, whiteboard-style, config driven pipelines — нравятся стримы из Akka, но не хотите тянуть все зависимости? Не беда! Ребята из instacart проверили и написали свою либу для ETL-пайплайнов.
-
S2D — 2D-либа, объединяющая S2DL и OpenGL. Имеет CLI-шаблонизатор для быстрого старта разработки.
Настя
Не Unity единым сыты будем
-
sicrograd — заглянуть под капот backprepogation и понять принцип работы автограда очень полезно.
Настя
Для самых маленьких... нейросетей
miniclust — инструмент распределения баш-команд между тачками в экосистеме OpenMole. Scala-жемчужинка, приплывшая к нам из другой Вселенной!
abtesstr — PoC-системы AB-тестирования на Scala.
Комьюнити-движ
Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения — ждем вас в комментариях:
-
from-javascript-to-scala — можете глянуть, как зазывают node-js-еров в Scala-мир ♡ (˘▽˘>ԅ( ˘⌣˘)
Настя
Возможно, это привлечет ту аудиторию, свежую кровь, о которой никто не думал. Вечно мы стараемся переманить питонистов и джавистов, „улучшая“ синтаксис в Scala 3
Yet Another Scala 3 Migration Story — уже встречали этих работяг несколько раз, из нового: мужик был приятно удивлен, как gpt помогает ему разбирать ошибки компилятора при переписывании 170k строк кода в SwissBorg.
My experience migrating a PlayFramework app to Scala 3 — неполноразмерный гайд, скорее очередная заметка по миграции, но вы не поверите: тут тоже AI помогла уйти от использования TypeTag.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Над дайджестом работали @Melkaya_150cm, @EvieLynn, @haskiindahouse. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>