
Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь!(づ ◕‿◕ )づ
Теперь вы можете поделиться собственными материалами!
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
Статьи
Делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. А еще обозреваем ресурсы, где авторы используют Scala 3. Enjoy:
Next Scala 3 LTS series will increase minimum required JDK version. Если вы сидите на новейших версиях Scala 3, но при этом используете JDK 8, у нас для вас плохие новости.


Scala Tooling Spree #1 recap. Отзыв о событии по исправлению ошибок в Metals. Энтузиасты и профессионалы из разных областей собрались на пару часов вместе, чтобы сделать Scala-мир лучше!
Integration testing with Weaver and Localstack. Если на проекте впервые в жизни потребовались интеграционные тесты, вы хотите реализовать их через моки, а примера у вас нет, вот отправная точка, как все можно сделать и что для этого нужно.

Миша
По моему мнению, это все еще неудобно. Я вообще хочу, чтобы тестирование предоставлялось клауд-сервисами и мы бы ничего не делали ( ̄ρ ̄)..zzZZ
Твиттер Джона Де Гуза. Раньше Scala воровала у Haskell, а все воровали у Scala, теперь же ZIO-Schema вдохновляется Rust.

Scala 3 Migration: Report from the Field. Личный опыт переезда на Scala 3. С несколькими подводными камнями, неудачными итерациями, поиском решений в коммьюнити, с тем самым Васей, который умеет в магию метапрограммирования. Эта история может вдохновить к переписыванию проекта на Scala 3. Рекомендуем!
Rust from a Scala Perspective: Advent of Code 2024. Согласны со взглядами автора на оптимальные области применения обоих языков. Для нашей повседневной работы, где требуется реализовывать бизнес-логику для бэкенд-систем, Scala подходит намного лучше.
The Joys of Messaging Without a Message Bus. «Мама, давай купим Kafka?» — «У нас есть Kafka дома!» — «Kafka дома (PostgreSQL notify)».

Настя
Какие, оказывается, извращения можно творить с Postgres
A 2025 Scala Stack for the Functionally Inclined. Материал позиционируется как руководство, как быть самым модным на районе самым функциональным на Scala в 2025 году. Но в середине чтения стало понятно, что почти весь стек определит один фактор — будете ли вы как основу эффектов брать экосистему котов или выберете зио? А дальше уже по остаточному принципу: из того, что хорошо совместимо с выбранной экосистемой и что есть на Scala 3.
Scala 3 Inlines Explained. Что будет, если навесить на while-loop функцию inline?
The Role of the Scala Language and compiler and Tooling in the Age of LLM-supported automatic coding. Ничего такая дискуссия про будущее разработки и программистов, в частности скалистов. В мечтах LLM используется не только для написания кода, но и для компиляции и анализа ошибок.

Настя
Удивительно, как из одной наблюдаемой картины мира люди с разными взглядами делают только те выводы, которые им близки. Одерски, например, вывел, что для дружбы Scala с llm нашему любимому языку не хватает хороших абстракций. А другой человек, инженер из Nvidia, из той же наблюдаемой картины пришел к выводу, что Scala не хватает того же, что и всегда, — отличного туллинга ¯\_(ツ)_/¯
Кредо программиста. Знаете ли вы кодекс бусидо? Есть ли у вас путь в этом сложном FP-мире? Понимаете ли вы, каких плодов хотите от своего кода? Гнилых? Освежающих? Вкусных? Насыщенных? Очаровательных? Философский трактат об иллюзорности принципов мира программирования.
Calling Scala Native from Java Using FFM. Если имеется огромная нужда в вызове API другого языка из своего любимого-родного, вот вам материал почитать.
А сюда мы спрятали еще одну интересную статью.
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на локальные каналы и видео про Scala:
Flatmappers034: прошлогодний опрос и предновогодний релиз Scala. Под чаечек слушаем прошлогодний выпуск flatmappers. Не обошлось без подколов в сторону Akka, PHP и других технологий.
Flatmappers035: про пресип со скобками. Разгоняем холивар, но остаемся друзьями. Слушаем и не осуждаем!

Flatmappers036: моки и мультиплексинг терминалов. Обсуждение библиотек для тестирования, персональное обращение к мейнтейнеру скала-мок. А также, если у вас богатое воображение, можете послушать, как ведущий смотрит фичи в emax ( ͡° ͜ʖ ͡°)
Functional PostgreSQL without JDBC — Jesper Öman, Scala Stockholm Winter Meetup, Nov 2024 Part 1. Подробная, информативная выкладка по безопасной работе со Skunk на примере переезда с Cassandra на PostgreSQL.
Michael Perucca — Is This Flow Typing? Реклама библиотеки constraints через призму сравнения flow typing`а в Scala и TypeScript. Зачем, если для Scala 3 есть opaque types или же neotype?
KYO: A New Approach to Functional Effects in Scala with Flavio Brasil and Adam Hearn. Энтузиасты рассказывают о том, что уже есть и какое KYO ждет будущее.
А сюда мы спрятали ещё несколько интересных видео.
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении существующих инструментов для разработки.
New Update: Tyrian Flowbite Giter 8 Template! Шаблон обновился, теперь можно посмотреть на фулл-стек-реализацию и выбрать между CE и ZIO.
Fast Incremental JVM Assembly Jar Creation with Mill. Вдруг вы пользуетесь Mill — смотрите: в нем есть еще и инкрементальная сборка. Прямо как в Bazel, прямо как Zinc в SBT 2.0 (¬_¬ ).
Sudori Part 7: Client-side Run with SBT. Пока в комьюнити периодически раздаются голоса о плохом и бедном туллинге в Scala, Евгений Йокота в одного продолжает строить лучшее будущее для всех нас и пилить SBT 2.0. В этот раз — фичу с запуском на стороне клиента (client-side run).
Highlights
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное.
Theater, a Typed State Machine + Actor model for Typelevel Ecosystem. Устали от Akka или закончилась лицензия? Не беда! Смотрим и наслаждаемся акторами, построенными поверх CE и FS2.
Sandmann: An Autosuspend and Wakeup Daemon for Linux Written in Scala 3. Приостанавливает и включает Linux по расписанию. Написан на Scala 3, не использует root-права. По коду не заметили фишечек из третьей, скорее старая добрая Scala 2 и сборка на mill ( ˘ ɜ˘) ♬♪♫
SBT-codeshovel. Плагин, генерирующий HTML-страницу с изменениями для конкретной строчки кода по запросу. Выглядит лаконично и симпатично, со всей этой розово-зеленой подсветкой изменений и спойлерами для скрытия. Но где и как это было бы можно использовать, нам с ходу не придумалось¯\_(ツ)_/¯
Yantl. Yet Another JSON Library — теперь прошлый век. Да здравствует Yet Another NewType Library (╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻ В документации автор в качестве мотивации и киллер-фич выделяет направление на локализацию ошибок, отсутствие макросов и совместимость со Scala 3
Shared Resource Cache for Cats Effect. Сомнительно, но окей.
Комьюнити-движ
Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения, ждем вас в комментариях.
Программисту нужна математика? Если не хватает холиваров с Reddit, вот вам холивар с Хабра, который за 2 дня набрал более трехсот комментариев.
Scala Highlights from 2024. Дорогие читатели, если вы следите за нашими выпусками, можете не читать это, ведь мы все уже приводили и обозревали ∠( ᐛ 」∠)_
Does Scala Have an actual Job Market in 2025? Диванные аналитики собрались вместе, чтобы понять, мертва ли Scala, по вакансиям на LinkedIn.
Scala Projects Maintenance Report 2025/02 (Virtuslabs) (PDF). Выглядит как буклет продакт-менеджера.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Над дайджестом работали @Melkaya_150cm, @EvieLynn, @haskiindahouse Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>