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

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Статьи

One line in SBT 2 — How Remote Caching Cut Our CI in Half — пока все ноют, что нет ресурса переезжать на Scala 3, ребята с монорепой сократили время выполнения CI/CD переездом на sbt 2.0 и правильной настройкой удаленного кэширования. Присоединяйтесь к движухе и погружайтесь в прелести sbt 2.0.

Metaprogramming: teaching the compiler to explain your data — когда говорят о крутой кривой обучения в Scala, то можно смело приводить такого рода вещи. Для сеньоров-помидоров, которые перед сном паблишат по одному новому пакету в maven, думаем, будет не очень интересна база метапрограммирования. 

Миша

Сразу вспомнились пары на учебе по Scala! Если кто не пробовал любого рода курсы по Scala от Т-Банка — попробуйте, можете наткнуться на золото

Scala’s Growth Model — Building Inward, Starving Outward — продолжает бить в корни проблемы экосистемы Scala. На этот раз рассуждения на тему, почему мы не видим большого роста при достаточно зрелом языке и подходах. Модель, которую автор предлагает, применима не только к Scala-миру, но сама статья довольно объемная и местами скучная.

Миша

Меня позабавила большая AI-секция ни о чем. Войтек Питула, извините, если неправильно, по сути любит по верхам пройтись, но в конечном итоге весь раздел про ИИ можно свести к фразе: „Я не особо в этом разбираюсь“

Scala's Momentum in the AI Era — полностью согласны с идеей о том, что в эпоху ИИ на нашей любимой Scala появятся настолько сильные программисты, что они будут заменять целые команды и отделы таких же разработчиков в других экосистемах.

Категории типов. Часть 5½. Сопряжения из монады — честно признаемся, что на этой части мы все поплыли и перестали понимать, что происходит и о чем говорится в материале. Надеемся, что умные сеньоры-математики придут в комменты и расшифруют для нас содержимое. А в следующем месяце постараемся, но не обещаем вернуться к шестой части. 

Миша

Современный программист чувствует себя как claude code с командой /caveman после прочтения этой статьи. По сути, хорошее раскрытие темы монад и сопряжений, где автор фокусируется на двух крайностях: Клейсли и Эйленберг-Мун

Breaking Scala’s Nil with Java Reflection — не надо использовать со Scala Java-легаси штуки. Статья больше похожа на неправильную инструкцию «Как хакнуть Scala». 

Миша

Не читайте, пример нереалистичный какой-то... Да я не поверю, что подобное в продакшен-коде у скалиста может встретиться

33 несчастья, или История одного проекта — жизненный цикл ПО похож на эскалатор, едущий вниз: самый современный стек через год потребует доработок, а через десятилетие покажется пятикантропом. То, чему не уделяется внимание, увядает, в том числе сервисы, оставшиеся без поддержки.

Настя

Внутри меня что-то умерло, когда я увидела private var user = null

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

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

shutting down the goldmine — нас просто вынесло с мемных историй от Йокоты, крайне рекомендуем почитать, пока ждем sbt 2.0. 

Миша

Хочу стендап от Йокоты по самым смешным и безбашенным МР-ам от крипто-хомячков с их диалогами

Why is it so difficult to hire solid Scala developers right now? I could use some advice — на рынке кризис: недостаточно быть хорошим скалистом, нужно жить в Нидерландах, говорить по-голландски и ходить в офис каждый день.

Миша

А мне нужен единорог ко вчерашнему дню, который будет писать код за меня

Настя

Даже в Африке есть скалисты

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

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

Как Scala Capabilities будут управлять безопасными агентами — легендарное возвращение спустя полгода тишины. Видим явный перевес в обсуждениях в сторону ИИ нежели классической Scala. Слушаем и делаем метавыводы: ИИ как инструмент используется везде, даже если вы об этом не догадываетесь.

Spirng Boot Scala SBT IntelliJ Idea — практичный видос, где показано, как выбор версии Java влияет не только на код, но и на sbt, IntelliJ, сборку и стабильность. Полезно тем, кто хочет избежать скрытых проблем в смешанном стеке Spring Boot + Scala.

Tooling

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

Last mile towards sbt 2 — нам осталось ждать пару месяцев до sbt 2.0!!! Мы этого дождались! Если вы все еще не понимаете как переезжать — обратитесь к материалам из наших дайджестов на тему тулинга для переезда на sbt 2.0!

Porting the Scala 2 optimizer to Scala 3 — видим, что вложенные деньги работают. На этот раз портирование флага --opt на Scala 3. 

Настя

Бабки крутятся, Scala мутится

Fixing a Command Injection Vulnerability in sbt — представьте ситуацию: вы на Windows, вайбите пет-проект, выбираете fork популярной либы из-за каких-то фишек, а там #master%26%26i_am_just_a_dolphin.exe. 

Настя

Божечки-кошечки, как же деньги решают и генерируют блага. Эта уязвимость существовала в sbt еще с версии 0.9.5!

Protobuf Goes Scala-First — с ростом случаев использования grpc-протоколов неудивительно, что мы, кажется, приходим в закономерную эру "yet another grpc generator library" ¯_(ツ)_/¯

Cellar — позиционируется как CLI-инструмент для запросов к публичному API любой Maven JVM-зависимости. 

Миша

Внимание, вопрос: зачем мне Cellar, если есть Context7? Знатоки, подскажите в комментариях

pgmq4s — Scala 3 клиент для PGMQ. Если почему-то вы не хотите ни Kafka, ни Redis и к этому моменту у вас есть потребность в тулинге, можете посмотреть на реализацию под капотом.

Highlights

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

TACIT — вот эта область (верификация работы агентов и ограничение контекста) должна стрельнуть и стать новой опорой для всех Scala-разработчиков в эпоху ИИ, особенно с safe-модом из 3.8.3.

agent4s — fork от scalex с расширенным функционалом. 

Миша

Да, не поддерживает имплиситы и есть куча других ограничений. Но, во-первых, это попадает в тренд на ИИ, а все мы понимаем, что с каждым днем все больше и больше кода мы пишем не самостоятельно и выступаем больше в роли архитектора/оператора. Во-вторых, опционально может использовать SemanticDB. В-третьих, целых 35 команд, удобная установка, открытость мейнтейнера к любому расширению и изменениям. А самое главное — это мое детище, попробуйте: серчить по большим кодовым базам будет гораздо быстрее и точнее нежели просто grep

Claude Code skills for ZIO — теперь каждый второй будет создавать плагины под тот или иной стэк на Scala для любой AI-тулы. Ждите скилл для Cats Effect, мы уверены, он не заставит себя долго ждать.

Scala Neural Language Model (NLM) — образовательный проект, который написан без использования ML-фреймворков, с GPU-ускорением через Apple Metal, чисто технически любопытная диковинка.

Релизы

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

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

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

Подписывайтесь на наш тг-канал, там мы анонсим все самое интересное и обсуждаем горячие новости.

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

Комментарии (0)