Как стать автором
Обновить
675.25

Scala Digest. Выпуск 27

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров657

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

В этом апрельском выпуске — немного разнообразия: вместо обычных аватарок в комментариях вас будут радовать фоточки наших котиков. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.

Приветствуем любую обратную связь! —ฅ/ᐠ. ̫ .ᐟ\ฅ —

Релизы

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

Статьи

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

Документация приложения — дело рук самого приложения — scala-плагин, который сам пишет документацию прямо в коде! /╲/\╭༼ ººل͟ºº ༽╮/\╱\ Рома наш друг, а к друзьям особо строго: 

Кот Эли

Идея настолько байтящая, что после прочтения статьи захотелось добавить в свои проекты

Кот Миши

Я тестил на нескольких своих сервисах — идея крутая, но нужно время, чтобы она заиграла полными красками. Хотелось бы, конечно, оформленный репозиторий с readme.md видеть в 2к25. А еще можно переписать на scala3 + scalameta + semanticdb и в компайл-тайме проверять на связанность компонентов и прочие штуки. И прикиньте, если бы можно было в github pipelines встраивать и как github.pages видеть диаграмму сразу! Это была бы киллер-фича для open-source

Every Argument for Static Typing Applies to Typed Errors — популярная позиция про проектирование ошибок: если мы можем что-то выразить через типы, то мы это делаем.

Кошка Насти

Если хочешь поймать ошибку — думай как ошибка /╲/( •̀ ω •́ )/\╱\

Dreamers — «как быстро растут чужие дети развиваются языки и тулинг», ностальгическая рефлексия об успехах Scala спустя 13 лет. Большое видится на расстоянии: автор со свежим и незамыленным взглядом отметил, что значительно удобнее стало работать в IDE с языком, а также похвалил продвижение sbt.

Кошка Насти

А вы тоже откладываете будильники и оповещения до последнего? Автор статьи, поставив себе напоминалку в 2012 году на 2022 год, дошел до ее исполнения лишь в 2025. Как же мне это знакомо, лол (b ᵔ▽ᵔ)b

Debugging session #2: Scala 3 lazy vals & serialization — ценность инженеров, по нашему мнению, раскрывается именно в таких ситуациях. Не бояться часами копаться в кишках: смотреть дампы, разбираться в различиях работы компиляторов Scala2/Scala3, искать информацию во всевозможных доступных источниках — лишь бы понять причину и решить проблему. 

Кот Миши

Я бы сразу пошел искать ишью-тикет, так как статистика в 1,5к открытых ишью о чем-то говорит

Declarative Python, Java, Scala, Kotlin. Imperative Golang — статья подтверждает то, что мы, как скалисты, и так знаем: как же эстетически красивы декларативные языки по сравнению с императивными, особенно Scala и Kotlin.

Mastering Currying in Scala: A Functional Programming Powerhouse — Хаскеллу Карри не понравилось бы такое количество воды. И при этом не хватило примера базированного случая с фиксацией тайп-параметра.

A Generic Approach to Parsing CSV into Case Classes in Scala 3 — а ниче тот факт, что, используя _.split(","), он ставит ограничение на формат содержимого CSV? Он вообще адекватный? Использовать Mirror крайне небезопасно, особенно если нечаянно забыть inline.

From Python to Scala: Rewriting 27k Lines of a CLI — сердце обливается патокой от таких статей. Не забывайте инвестировать в «счастье разработчиков», и будет у вас закрытый бэклог.

Drawing Heighway’s Dragon - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 — наши любимые слайдики продолжают развлекаться: сегодня переписываем с Паскаля на Скалу.

Infrastructure as types: introducing TypeOps — проблемы terraform-а и человеческих ошибок при деплое очередных конфигов могут решиться с помощью персонажа русского фольклора. 

Strategies for Efficiently Parallelizing JVM Test Suites — Ли Хаои рассказывает про то, как можно танцевать с бубном вокруг всего этого, а также про применение dynamic/static sharding в контексте параллелизации выполнения тестов.

Data Plumber - Data Integration Pipeline — серия статей о построении надежного ETL-пайплайна: от простой синхронной реализации до fs2. Весь исходный код доступен на GitHub.

Scala/Chisel против SystemVerilog: генерируем сложные цифровые схемы — вдохновляющая статья про интересный опыт разработки. У автора получился полноценный DSL на Scala, который позволяет писать код для аппаратного обеспечения с высоким уровнем выразительности и безопасности, Сам автор отмечает, что из-за таких преимуществ, как наличие higher-order functions, строгой типизации и наследования, разработка значительно ускорилась.

Using a C library from Scala Native — в теории звучит просто: возьмите библиотеку на C, подключите ее к вашему проекту на Scala Native — и вуаля! Но на практике это похоже на попытку заставить кота лаять, а собаку мурлыкать. Если кому-то полезно, то велком!

А сюда мы спрятали еще несколько статей (большинство из них про Spark)

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

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

Martin Odersky on the Future of Scala, Learning, Teaching and the Quest for the Perfect Language — вы можете найти печатную версию обсуждения будущего Скалы по ссылке. Нам пообещали еще более безопасную Скалу за счет таких фич, как capture-checking, safe-initialization, и других. Призываем вас вместе с Одерски: не бойтесь участвовать в развитии Scala! #makeScalaGreatAgain

Introduction to Scala 3 Macros - How Macros Work, Quoting, Matching and Reflection — отличный ролик, чтобы начать путь изучения макросов.

Let's Teach LLMs to Write Great Scala! By Kannupriya Kalra — Scala пытаются запихнуть в поезд хайпа AI, лишь бы писали код на Scala.

Кот Миши

Тенденция правильная, но реализация хромает… Надо было сразу к MCP прикручиваться

Scala in 2025: How to Start, What to Learn | Functional World #16 — возможно, вашим джунам будет полезно послушать очередной обзор инструментов и рассказ о том, что следует изучать в первую очередь.

IntelliJ IDEA x Scala - Inlay Hints and X-Ray Mode — ребята из JetBrains продолжают знакомить нас с фичами Idea для самых маленьких скалистов (❤ω❤) 

Кот Эли

Скала-котята теперь знают, как удобнее смотреть подсказки

Tooling

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

yaes — если вы любите эксперименты, YÆS может предложить свежий взгляд на систему эффектов через призму фич Scala 3.

Tuples transformations — суперполезные функции для работы с туплами, мастхэв для удобства.

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

Кошка Насти

Прикольная находка, у нас самих используется подобное самописное решение, ведь с нашей стороны мы должны сделать все возможное, чтобы персональные данные не утекали (╯˘-˘)╯

Highlights

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

pop-test — любопытный инструмент для написания своеобразных продвинутых healthckeck’ов для вашего приложения, инстансов Postgres, Kafka и так далее. Рекомендуем, если вы хотите писать зрелые тесты.

Generating swaggers at compile time — свежий плагин для генерации сервиса по Swagger, выглядит многообещающе. Но не можем не отметить, что у проекта пока ноль звезд.

Кот Миши

Хочу, чтобы это было в рабочем варианте в Tapir

roguelike-starterkit — если вы фанат терминальных игрушек, то вот вам развлечение на вечер. Если в один из месяцев будет мало статей и много свободного времени, ждите игру про наш Scala-дайджест в таком формате (∩` ロ ´)⊃━炎炎炎炎炎

scala-uri — поддерживаемый форк старой либы.

scala-nameof — если хочется старого доброго nameof из C#, но вам лень использовать import quotes.reflect.* и написать 20 строк, то можете подключить эту либу.

toml-scala — давно вспоминали о существовании TOML?

Кот Миши

В зоопарке языков конфигурации/описания день ото дня не сыщешь стандарта, инструменты ради инструментов, ей-богу (; ̄Д ̄)

Кошка Насти

А во сколько лет вы узнали, что кроме yaml, json, soap и прочих еще существует и кем-то используется TOML? Я — в сейчас лет

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

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

Rock the JVM partners with the Scala Center — RockTheJVM отчисляет Scala Center с собственного авторского курса 30% за размещение его как рекомендованного на официальном ресурсе scala-lang.

Кот Миши

В Москве комиссия Яндекс Такси и то меньше с работяг!

Кошка Насти

Ничего себе мафия, 30%

Spotify FOSS Fund 2024 — Typelevel получил 20 000 € от Spotify. Планируют потратить на улучшение инфраструктуры, обучение службы поддержки, поощрение студентов и улучшение документации профессионалами. 

Кошка Насти

Котикам дали денежек, и котики планируют написать нормально документацию

Кот Эли

Прошла зима, настало лето –— спасибо Spotify за это!

Curious to know how many have adopted Scala 3 — узнаем мнение комьюнити о Scala 3: кто переехал, какие плюшки, какие трудности?

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

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

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

Теги:
Хабы:
+13
Комментарии1

Публикации

Информация

Сайт
l.tbank.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия