Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.
Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Свою мотивацию черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
AI Assistant Update — October 2023 — добавили несколько новых фич, включая удобный diff view на рефакторинге;
IntelliJ IDEA 2023.2.4 Is Out! и IntelliJ IDEA 2023.2.3 Is Out!;
chimney 0.8.0 — вышел какой-то очень солидный релиз, если используете chimney, обязательно зацените;
Pekko Persistence Cassandra 1.0 — кто ждал, тот дождался;
metals v1.1.0;
scala-cli v1.0.5;
scala-native 0.4.16;
mill 0.11.5;
sbt 1.9.7;
cats-effect v3.5.2;
magnolia scala3-v1.3.4;
sttp v4.0.0-M6;
tapir v1.7.6-v1.8.2;
zio-http v3.0.0-RC3;
zio-kafka v2.5.0;
zio-quill v4.8.0;
iron v2.3.0-RC1, v2.3.0-RC2;
tyran v0.8.0;
indigo v0.15.1;
smithy4s v0.18.2.
Tinkoff Scala meetup & open-source
Рубрика для митапов, релизов библиотек и фреймворков, рожденных в недрах scala-комьюнити Тинькофф.
На канале «IT и т. д.» вышел заключительный ролик проекта про особенности Sсala-разработки Scala in Tinkoff. Наши разработчики, лиды и руководители проектов рассказали о деталях работы и жизни Scala-команд: какие задачи решаются, какой стек технологий и библиотек используется, какие особенности встречаются у проектов. Есть инсайты про милые отличительные черточки команд, привычки и забавные кулстори из жизни.
Ролики пятиминутные, динамичные, с прикольной анимацией-рисовкой. Обязательно зацените :) И посмотрите предыдущие ролики, если не сделали этого раньше!
Статьи
В этом разделе делимся свежими статьями, репозиториями и исследованиями, которые нам показались интересными. В отдельный блок вынесли ресурсы, где авторы используют Scala 3. Enjoy:
Turning actors inside-out — в статье разбираются особенности акторной модели программирования. Асинхронная по своей природе модель, обработка ошибок с помощью supervisor, сложность дебага и так далее. Стоит ознакомиться, чтобы узнать чуть больше о железе акторов под капотом. моделирование Halo 4 акторами!</p>" data-abbr="А еще в тексте полно ссылочек на другие материалы по акторной модели">А еще в тексте полно ссылочек на другие материалы по акторной модели.
Why on earth a ZIO IO monad for Scala? — добротное и грамотное объяснение основ функциональной парадигмы. ZIO присутствует.
Why I Find Scala so Amazing — бывший адепт PHP восхищен возможностями функционального строготипизированного языка с эмблемой в виде красного шарфика и его комфортного синтаксиса.
concurrent-cancellation-kotlin-vs-scala — Alex Nedelcu написал gist-заметку на тему прерывания IO-вычислений на Scala и Kotlin и почему в JVM 21 это уже не так важно.
Scala Made Simple for Beginners: A Gentle Introduction to Kickstarting Your Scala Learning — гайд, как быстро и без боли запустить первое приложение на Scala.
Fusing Transformations of Strict Scala Collections with Views — разбирается интересная тема .view-метода на коллекциях. Слайды содержательные, много ссылок на книги по Scala. Жаль, что нет записи оригинального доклада, если такой существует.
Tagless Final Encoding — еще слайды от автора выше в формате диалога с Gabriel Volpe о tagless final.
How to create Durations in Scala — мини-заметка о том, что можно писать 2.minutes вместо Duration(2, TimeUnit.MINUTES).
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на ноунейм-каналы и видео про Scala.
На канале Scala Days Conferences выложили записи докладов и выступлений с прошедшей конференции Scala Days 2023 в Мадриде. Приглашаем посмотреть, а более подробный ретеллинг отдельных докладов будет от нас в следующем месяце (⊃。•́‿•̀。)⊃━☆゚.*・。゚
Saint Scala-митап — три рассказа о Scala. Первый доклад — презентация библиотеки calypso, помогающей корректно перегонять сложные модели в BSON и обратно, в частности для хранения в MongoDB. Второй — о Saga-паттерне и Transactional Outbox и их разнице на конкретном примере сервиса бронирования в путешествиях. Заключительный доклад делится подробностями работы с подходом Vertical slice в Scala.
Scala Meetup Lisbon Hub 2023 — Part 1 — shift-left-подход в разработке на практике. О том, как реализовать Dual Tests Tactic, заручившись поддержкой distage / distage-testkit.
Scala Meetup Lisbon Hub 2023 — Part 2 — 7mind пилят свой build tool с мультимодульными проектами и изолированными билдами. Пока на стадии research, поэтому потыкать нельзя, но интересно послушать о концепциях, на которых базируется проект. Есть небольшая сводка о существующих build tool, поддерживающих сборки на Scala, и чем они не соответствуют хотелкам сегодняшнего дня.
Cellular Automata for video games — совсем не про video games. Кусочек теории о клеточных автоматах и о том, куда их можно приложить. В частности, к моделированию реальных процессов. Лайк за расслабляющий тон повествования и капельку самоиронии.
Schema management with Scalameta by Lars Albertsson — сложный доклад о Big Data, в котором переплетаются пайплайны инженеров данных с макросами Scala. Слушать тяжеловато, но где мы еще такое увидим.
Microservices and gRPC in Scala with FS2 and Scalapb — хорошее введение в grpc через fs2. Компилируем модельки, создаем сервер и клиент. Приятно, что в процессе подсвечиваются неочевидные для новичков моменты.
Zymposium — ZIO Q&A — Adam Fraser, недавно назначенный на пост CTO Ziverge, устроил еще одну сессию вопросов и ответов. Помимо прочего объяснил, в чем разница между zio-quill, zio-sql и zio-jdbc.
flatmappers 010 — ребята поговорили про K8s, снова вспомнили copilot и прочие ai для написания кода, помянули добрым словом Li Haoyi. Вадим поделился чит-кодами, как стать мейнтейнером Mill.
flatmappers 011 — обсудили KIP о двухфазном коммите в Kafka. Вспомнили, где можно почитать новости о жизни Scala (。•̀ᴗ-)✧ Подробно разобрали magnum, о которой мы писали в прошлом выпуске. В следующем выпуске можно услышать, как поет Юра, нужно только оставить