- BrainTools - https://www.braintools.ru -

Scala Digest. Выпуск 30

Scala Digest. Выпуск 30 - 1

Мы — Настя [1], Эвелина [2] и Миша [3] — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times [4], блог Petr Zapletal [5] и канал Scala Nishtyaki [6], добавляем дополнительные новости и собственные комментарии. Мотивацию [7] мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Релизы

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

Статьи

Делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. А еще обозреваем ресурсы, где авторы используют Scala 3. Enjoy:

Eli Golin рассказывает базу про Tagless Final и Cats Effect. Глоток свежего воздуха для Scala-разработчиков посреди GPT-статей из medium-а и неаргументированных холиваров на тему сложности функционального подхода. Вы наверняка столкнетесь с таким в работе или же на обучающем курсе.

Видео и доклады

Собрали ссылки как на уже известные и популярные, так и на локальные каналы и видео про Scala:

  • Spec-first программирование и Scala 3.7 [35] — пока вы едете в машине на шашлыки, кайфик будет поставить на фон, послушать главные новости и задуматься об эргономике на примере настройки Dactyl Manuform.

  • Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation [36] — пишите библиотеки для реальных пользователей, а не гуру дериваций. Автор Chimney проводит сравнительный анализ библиотек и их подходов и делится своим видением будущего деривации в Scala.

  • 2 years of Rust after 10 years of Scala — the good, the bad and… not so ugly by Maciek Próchniak [37] — спикер считает, что адаптация к написанию идиоматического кода Rust может быть сложной задачей сходу для заядлого Scala-разработчика (особенно из-за отсутствия GC). Автор делает выводы о том, что Rust лучше использовать для слоя данных, а Scala или Kotlin — для слоя управления. Почему? Посмотрите и узнаете.

  • Durable Event-sourced Workflow Monad… Seriously! [38] — слышим последние месяцы из разных источников, в разных форматах о ребятах из Swissborg-а. То они миграцию написали, то вот вам business4s. В этот раз workflow4s — если вам не нравится формат статей, то велком на видеообзор. 

    Scala Digest. Выпуск 30 - 3

    Миша

    Молодая камунда omg

Tooling

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

  • chimp [39] — позвольте использовать вас искусственному интеллекту [40] с помощью MCP-протокола, а для реализации есть softwaremill. 

    Scala Digest. Выпуск 30 - 4

    Миша

    Спорим, что в течение пары следующих месяцев упадет на наши глаза имплементация протокола A2A на Scala? ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)

Highlights

В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:

  • The Elements of Kyo — Interactively explore the codebase! [41] — какой же кайф позалипать на визуализацию эффектов из kyo в виде таблицы Менделеева. Обязательно перейдите по ссылке и потыкайтесь!

  • From Vibe Coding to MUD — Part 1 [42] — автор вайб-кодит D&D игровой сервер на Scala. Кто-то раньше в пет-проектах экспериментировал с библиотеками, а теперь выбирает AI-агентов и мучается, когда они отходят от инструкций. 

    Scala Digest. Выпуск 30 - 5

    Настя

    Коктейль из D&D и Scala в одном заставляет меня подписаться и следить за этой историей максимально пристально

  • Forest Fire Simulation [43] — рубрика «Очумелые ручки»: соприкасается Rust и Scala в проекте на поиграться. Если у вас есть Linux, то вы можете смоделировать пожар в лесу при предложенной физике влияния воды и ветра.

  • etl4s — Pretty, whiteboard-style, config driven pipelines [44] — нравятся стримы из Akka, но не хотите тянуть все зависимости? Не беда! Ребята из instacart проверили и написали свою либу для ETL-пайплайнов.

  • S2D [45] — 2D-либа, объединяющая S2DL и OpenGL. Имеет CLI-шаблонизатор для быстрого старта разработки. 

    Scala Digest. Выпуск 30 - 6

    Настя

    Не Unity единым сыты будем

  • sicrograd [46] — заглянуть под капот backprepogation и понять принцип работы автограда очень полезно. 

    Scala Digest. Выпуск 30 - 7

    Настя

    Для самых маленьких… нейросетей

  • miniclust [47] — инструмент распределения баш-команд между тачками в экосистеме OpenMole. Scala-жемчужинка, приплывшая к нам из другой Вселенной!

  • abtesstr [48] — PoC-системы AB-тестирования на Scala.

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

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

  • from-javascript-to-scala [49] — можете глянуть, как зазывают node-js-еров в Scala-мир ♡ (˘▽˘>ԅ( ˘⌣˘) 

    Scala Digest. Выпуск 30 - 8

    Настя

    Возможно, это привлечет ту аудиторию, свежую кровь, о которой никто не думал. Вечно мы стараемся переманить питонистов и джавистов, „улучшая“ синтаксис в Scala 3

  • Yet Another Scala 3 Migration Story [50] — уже встречали этих работяг несколько раз, из нового: мужик был приятно удивлен, как gpt помогает ему разбирать ошибки [51] компилятора при переписывании 170k строк кода в SwissBorg.

  • My experience migrating a PlayFramework app to Scala 3 [52] — неполноразмерный гайд, скорее очередная заметка по миграции, но вы не поверите: тут тоже AI помогла уйти от использования TypeTag.

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

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

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

Автор: EvieLynn

Источник [73]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/16837

URLs in this post:

[1] Настя: https://habr.com/ru/users/Melkaya_150cm/

[2] Эвелина: https://habr.com/ru/users/EvieLynn/

[3] Миша: https://habr.com/ru/users/haskiindahouse/

[4] Scala Times: https://scalatimes.com/

[5] блог Petr Zapletal: https://substack.com/@petrzapletal835534

[6] канал Scala Nishtyaki: https://t.me/scala_channel_ru

[7] Мотивацию: http://www.braintools.ru/article/9537

[8] scala 3.7.1, 3.7.2-RC1: https://github.com/scala/scala3/releases

[9] sbt 1.11.1, 1.11.2: https://github.com/sbt/sbt/releases

[10] Intellig plugin Scala 2025.1.24: https://plugins.jetbrains.com/plugin/1347-scala/versions/stable/748379

[11] scala-cli 1.8.1-1.8.3: https://github.com/VirtusLab/scala-cli/releases

[12] metals 1.6.0 osmium: https://github.com/scalameta/metals/releases/tag/v1.6.0

[13] zio 2.1.19: https://github.com/zio/zio/releases/tag/v2.1.19

[14] zio-http 3.3.3: https://github.com/zio/zio-http/releases/tag/v3.3.3

[15] zio-kafka 3.0.0: https://github.com/zio/zio-kafka/releases/tag/v3.0.0

[16] zio-apache-arrow 0.1.10: https://github.com/grouzen/zio-apache-arrow/releases/tag/v0.1.10

[17] fs2 3.13.0-M4: https://github.com/typelevel/fs2/releases/tag/v3.13.0-M4

[18] sttp 4.0.8-4.0.9: https://github.com/softwaremill/sttp/releases

[19] tapir 1.11.34-1.11.35: https://github.com/softwaremill/tapir/releases

[20] iron 3.0.2: https://github.com/Iltotore/iron/releases/tag/v3.0.2

[21] fory 0.11.0-0.11.1-RC1: https://github.com/apache/fory/releases

[22] circe 0.14.14: https://github.com/circe/circe/releases/tag/v0.14.14

[23] smithy4s 0.18.37-0.18.38: https://github.com/disneystreaming/smithy4s/releases

[24] izumi 1.2.18-1.2.19: https://github.com/7mind/izumi/releases

[25] ducktape 0.2.9: https://github.com/arainko/ducktape/releases/tag/v0.2.9

[26] tree-sitter-scala 0.24.: https://github.com/tree-sitter/tree-sitter-scala/releases/tag/v0.24.0

[27] Fundamental Concurrency Problems and Solutions: https://lukastymo.com/posts/022-concurrency-basic-synchronization/

[28] повторением: http://www.braintools.ru/article/4012

[29] Making ScalaSql boring again (with interesting new internals): https://bishabosha.github.io/articles/scalasql-simpletable.html

[30] A Beginner’s Guide to Using Scala Metals With its Model Context Protocol Server: https://softwaremill.com/a-beginners-guide-to-using-scala-metals-with-its-model-context-protocol-server/

[31] Composing Multiple Algebras in Tagless Final Style: A Practical Guide: https://www.linkedin.com/pulse/composing-multiple-algebras-tagless-final-style-practical-eli-golin-fxlhf/

[32] Composing Independent Instruction Sets with Free Monads in Scala 3: https://www.linkedin.com/pulse/composing-independent-instruction-sets-free-monads-scala-eli-golin-0lmef/

[33] From OOP Interfaces to Functional Modules: A Journey to Simplicity and Composability: https://www.linkedin.com/pulse/from-oop-interfaces-functional-modules-journey-simplicity-eli-golin-bw80f/?trackingId=nV6nnTNc5P2HHkjDspOkBg%3D%3D

[34] Untying the Interwoven Business Logic and Effectful Operations into Separate Testable Independent Aspects: https://www.linkedin.com/pulse/untying-interwoven-business-logic-effectful-operations-eli-golin-hfnkf/?trackingId=z6LlFL4TkTrPKVvkJfoY3w%3D%3D

[35] Spec-first программирование и Scala 3.7: https://flatmappers.com/episode039/

[36] Slow-Auto, Inconvenient-Semi: escaping false dichotomy with sanely-automatic derivation: https://www.youtube.com/watch?v=M54ux51H6Fo

[37] 2 years of Rust after 10 years of Scala — the good, the bad and… not so ugly by Maciek Próchniak: https://www.youtube.com/watch?v=EuQMJzOlRx8

[38] Durable Event-sourced Workflow Monad… Seriously!: https://www.youtube.com/watch?v=2-WUxH7vVsw

[39] chimp: https://github.com/softwaremill/chimp/releases

[40] интеллекту: http://www.braintools.ru/article/7605

[41] The Elements of Kyo — Interactively explore the codebase!: https://htmlpreview.github.io/?https://gist.githubusercontent.com/fwbrasil/bde7b916c2b221f106c0c14cef47adf3/raw/528fb6114dc1ad415527b80a167f0006f0b6e0fe/combined.html

[42] From Vibe Coding to MUD — Part 1: https://medium.com/optimistic-developer/from-vibe-coding-to-mud-part-1-b82421c1f263

[43] Forest Fire Simulation: https://github.com/MadeInShineA/forest-fire-simulation

[44] etl4s — Pretty, whiteboard-style, config driven pipelines: https://github.com/mattlianje/etl4s

[45] S2D: https://github.com/FinochioM/S2D

[46] sicrograd: https://github.com/MouslihAbdelhakim/sicrograd

[47] miniclust: https://github.com/openmole/miniclust

[48] abtesstr: https://github.com/business4s/abtesstr?tab=readme-ov-file#ab-testing-101

[49] from-javascript-to-scala: https://bytes.silvabyte.com/from-javascript-to-scala

[50] Yet Another Scala 3 Migration Story: https://medium.com/@w.pitula/yet-another-scala-3-migration-story-6ecd47966be0

[51] ошибки: http://www.braintools.ru/article/4192

[52] My experience migrating a PlayFramework app to Scala 3: https://tanin.nanakorn.com/my-experience-migrating-a-playframework-app-to-scala-3/

[53] @Melkaya_150cm: https://www.braintools.ru/users/melkaya_150cm

[54] @EvieLynn: https://www.braintools.ru/users/evielynn

[55] @haskiindahouse: https://www.braintools.ru/users/haskiindahouse

[56] Scala Digest #13: https://habr.com/ru/companies/tinkoff/articles/790650/

[57] Scala Digest #14: https://habr.com/ru/companies/tinkoff/articles/797411/

[58] Scala Digest #15: https://habr.com/ru/companies/tinkoff/articles/804491/

[59] Scala Digest #16: https://habr.com/ru/companies/tinkoff/articles/811047/

[60] Scala Digest #17: https://habr.com/ru/companies/tinkoff/articles/819131/

[61] Scala Digest #18: https://habr.com/ru/companies/tbank/articles/825906/

[62] Scala Digest #19: https://habr.com/ru/companies/tbank/articles/833394/

[63] Scala Digest #20: https://habr.com/ru/companies/tbank/articles/839846/

[64] Scala Digest #21: https://habr.com/ru/companies/tbank/articles/847174/

[65] Scala Digest #22: https://habr.com/ru/companies/tbank/articles/855240/

[66] Scala Digest #23: https://habr.com/ru/companies/tbank/articles/862936/

[67] Scala Digest #24: https://habr.com/ru/companies/tbank/articles/870380/

[68] Scala Digest #25: https://habr.com/ru/companies/tbank/articles/879034/

[69] Scala Digest #26: https://habr.com/ru/companies/tbank/articles/887474/

[70] Scala Digest #27: https://habr.com/ru/companies/tbank/articles/896390/

[71] Scala Digest #28: https://habr.com/ru/companies/tbank/articles/905956/

[72] Scala Digest #29: https://habr.com/ru/companies/tbank/articles/914850/

[73] Источник: https://habr.com/ru/companies/tbank/articles/923578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=923578

www.BrainTools.ru

Rambler's Top100