
Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Теперь вы можете поделиться собственными материалами!
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
-
Scala 2.13.16 — теперь к пустой строке нельзя писать
.tail, надеемся, это не приведет к похожим последствиям; -
mockingbird 5.0.0 — птичка поддерживает GRPC-стримы;
-
chimney 1.7.0 — долгожданная фича: наконец-то можно выводить ответ из нескольких case classes сразу!!! Возрадуйтесь!!! Σ>―(〃°ω°〃)♡→ А еще добавлены флаги для проверки на этапе компиляции неиспользуемости полей.
Настя
Я аж станцевала от таких новостей!
-
cats 2.13.0 — sequence_, traverse_ и иже с ними теперь deprecated;
Статьи
-
Pre-SIP: A Syntax for Collection Literals. Как похорошел
ПитонScala3 при Одерски. -
Random Scala Tip #697: Avoid Anonymous Functions as Dependencies. Эргономика проектирования классов важна, и вот почему.
-
Random Scala Tip #568: Beware of Leaking Iterators. Вы можете выстрелить себе в ногу, если вы любители итераторов, а не надежных структур.
-
Functional Declarative Design: A Comprehensive Methodology for Statically-Typed Functional Programming Languages. Знакомимся с новым для нас термином в методологии.
-
Faster CI with Selective Testing. Даже тут упомянули про Machine Learning. Захотелось реализовать?
-
Declaring Implicits. Повторяем виды имплиситов.
Эвелина
Повторение — мать учения
-
Understanding JVM Garbage Collector Performance. Напоминание о том, что вы всегда можете поэскпериментировать с GC и попытаться улучшить перформанс приложения, не меняя код.
-
Announcing ScalaMock 7. Scalamock сменил мейнтейнера, активно развивается, и теперь инструмент можно использовать с ZIO на Scala 3.
-
Fibonacci Function Gallery — Part 2. Наши любимые слайдики в этом месяце жестко утопят вас в Фибоначчи.
-
Scala & Fintech – a perfect pairing — продуктплейсмент Акки. Из зацепившего взгляд — компании, которые используют связку Scala + Akka. Но наличие некоторых компаний в этом списке вызывает у нас вопросики, действительно ли это так, ведь у них есть собственное решение.
-
Tracks of Wrapping: How to Outsmart Sealed Collections Without Going Off the Rails. Черная магия, которая вызывает недоумение.
-
Endless Elegance: The Sensual Dance of Functional Infinity. Не пишите так в прод, пожалуйста.

-
Phantom types — Make illegal states unrepresentable и Phantom types — Part 2. Кратко про фантомные типы. В примере с паттерн-матчингом можно отойти от чистых фантомных типов и использовать, к примеру, ClassTag у generic-типа в Book.
-
Рекурсивные типы. Серия из пяти частей. Любите разбираться в математике и цените подробные объяснения? Эта серия как раз для вас! Здесь есть всё: академический стиль, математические обоснования и плавный переход от простого к сложному. Хороший способ почувствовать себя экспертом в рекурсивных типах после прочтения (─‿‿─)
А сюда мы спрятали еще несколько интересных статей:
Видео и доклады
-
Where Are the Scala Frameworks? Functional Scala 2024 talk. Даниэль пытается донести мысль, что в мире Scala часто переизобретают колеса, обилие которых только путает и отталкивает новичков, и призывает к созданию библиотек комплексных, но гибких, со множеством примеров.
-
Haoyi Li — Better Scala Builds With The Mill Build Tool — Functional Scala 2024. Если вы устали от дополнительных телодвижений с SBT, зависимостей от множества плагинов и хотите управлять сборкой проекта через Scala-код, просто попробуйте Mill.
Миша
После услышанного мне захотелось попробовать поиграться с Mill
-
Playlist Functional Scala 2024. Как хорошо, что нам не надо ехать в другую страну, чтобы послушать доклады.
-
A TOUR OF NEOTYPE. Newtype & Refined types для Scala3.
-
IntelliJ IDEA × Scala — Enums Support. Дока в видеоформате — мы дуреем с этой прикормки!
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении уже существующих инструментов для разработки:
-
Gems in the Scala Ecosystem. Если вам кажется, что мы бедны в тулинге, перейдите по ссылке и убедитесь, что Scala богата.
-
WebSocket Example. Теперь
технологию древнихлюбимые вебсокеты можно реализовывать и на zio-http. -
Pekko Feat: Enhance Virtual Thread Support. Любителям Pekko и Java 21 завезли улучшение работы с виртуальными потоками.
-
Tyrian-flowbite.g8. Если кто-то из вас юзает tyrian + flowbite + scalaJS, вот вам шаблончик для будущих проектов (っ´ω`)ノ(╥ω╥).
-
Openapi4s-demo — демо нового проекта, генератора кода из openapi-спеки.
Миша
Кто душой на стороне spec-first подхода, как и я? (ノ◕ヮ◕)ノ*:・゚✧
Настя
Мое сердце, почки и душа принадлежат code-first-подходу ଲ(ⓛ ω ⓛ)ଲ
Highlights
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:
-
Dmtscala. Теперь переписывать сервисы со Scala на любой другой язык стало значительно проще ψ( ` ∇ ´ )ψ. Не знаем, для чего это вам понадобится: чтобы соблюдать корректность контрактов между фронтом и бэкендом или же чтобы уволить всех скалистов и нанять хаскеллистов на переписанный код [̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]
-
Terminus — альтернативный вариант дать ребенку поиграться для обучения взаимодействию с I/O.
-
About FastScala — еще один фреймфорк для веб-разработки на Scala.

Комьюнити-движ
Раздел курьезных и любопытных событий в мире Scala-общества. Мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения, ждем вас в комментариях:
-
#Rust vs #Scala: Facts and Hype. Ради таких дискуссий и создавался в свое время этот раздел в нашем дайджесте. Горячий холивар на тему двух языков перерос в обсуждение различных подходов к управлению памятью, и на это полыхающее пламя прискакал рыцарь Джон де Гуз.
Миша
Я вот представляю Scala без GC, и сразу на ум приходят строки: „И в разговоре каждой ночи сама душа не разберет, мое ль безумие бормочет, твоя ли музыка растет…“
-
Rant on Scala3 tooling (IntelliJ/metals), wish I started new project in Scala2 — очередной раунд холевара Scala3 vs Scala2. Скандалы, интриги и у кого какая ЗП — все это ждет вас по ссылке в комментариях __〆( ̄ー ̄ ) P. S. Обратите внимание на ники, возможно, увидите знакомые лица.
-
Relegate Scala 2.12 support to a branch? Если кто-то еще сидит на 2.12.x, вот вам
волшебный пендельдружеское напоминание обновиться до 2.13.x. -
Functional Programming in Scala. Если вы скучаете по школьным временам, где вас за ручку проводят по материалу урока, проверяют домашние задания и клеят наклейки-звездочки, вам понравится UI курса! Материал базовый, поэтому подойдет разработчикам, только знакомящимся со Scala.
Эвелина
Напомнило Stepik )٩(◕‿◕。)۶
-
Online Courses (MOOCs) from The Scala Center. Если вы пропустили, в scala-doc существует страница с рекомендуемыми курсами. Полагаем, что теперь новичкам легче искать материалы по типу «с чего начать обучение».
-
Recap of Advent of Code 2024. Поставьте себе уведомления о том, что в этом году нужно обязательно продержаться 25 дней до самого конца Advent of Code, чтобы торжественно быть упомянутым на главном ресурсе по Scala.
-
My post mortem for the codingame Winter Challenge 2024. Оказывается, помимо Advent of Code зимой можно размять мозги еще и на таком событии, как Codingame: Winter Challenge.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Над дайджестом работали @Melkaya_150cm, @EvieLynn, @haskiindahouse. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>
ссылка на оригинал статьи https://habr.com/ru/articles/879034/


Добавить комментарий