Scala Digest. Выпуск 23

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

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

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

Теперь вы можете поделиться собственными материалами!

Релизы

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

  • Scala3 3.6.2-RC1;

  • Sbt 1.10.5;

  • Sbt-projectmatrix 0.10.1;

  • Scala-cli 1.5.4;

  • IntelliJ Scala Plugin 2024.3 Is Out!;

  • Cats-actors 2.0.0;

  • Cats-effect 3.5.7;

  • Zio 2.1.13;

  • Zio-kafka 2.9.0;

  • Cask 0.10.2;

  • Fury 0.9.0;

  • Izumi 1.2.16;

  • Magnolia scala3-1.3.8;

  • Magnum 1.3.1;

  • Scala-cli 1.5.4;

  • Metals 1.4.1 Palladium;

  • Mill 0.12.3;

  • Pants 2.23.0;

  • Tapir 1.11.9;

  • Tree-sitter-scala 0.23.3.

Статьи

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

  • What is Functional Programming? Адам Варски написал самое полное введение в то, что такое функциональный язык. Это ровно тот материал, который можно требовать на зачете после семестра ФП у студентов, или рассказывать на первой вводной лекции, или объяснять другим, почему ФП существует, жизнеспособен и крут.

  • Pre SIP: Named Tuples. В версиях 3.6.х мы могли бы уже увидеть именованные кортежи как постоянную и неотключаемую штуку, но благодаря неравнодушным скала-людям фича останется экспериментальной под флагом на более длительный срок и время попробовать/поиграться будет у всех.

  • How I SBT-VI. Серия постов про sbt, строго рекомендуем к прочтению всем начинающим скалистам — особенно тем, кто пытается написать свой первый проект на Scala.

  • Intro to Hedgehog for Scala. Йокота знакомит нас с необычной библиотекой тестирования свойств через генерацию с царапающим слух названием. Помимо базы о том, как воспринимать и использовать подобный вид тестирования, Йокота еще и переписал свои тесты в sbt-проекте со Scalacheck на Hedgehog.

    Настя

    Ну что ж, какому-то моему проекту в ближайшее время придет Hedgehog 〣( ºΔº )〣

  • Idiomatic Dependency Injection for ZIO Applications in Scala. Полезный туториал, как писать и использовать у себя ZLayer и как красиво можно строить проект. Некоторые наши продовые проекты выглядят именно так.

  • Functional Programming Anti-Patterns in Scala. Несколько действительно важных антипаттернов, некоторые из которых могут иногда случаться и с матерыми scala-разработчиками.

  • Random Thoughts about Randomness in Scala. Базовая база о псевдорандоме в Java.

  • There is No Such Thing as a Unit Test. Автор предлагает переосмыслить понятие юнит-тестов для разработчиков и подходы к написанию оных.

  • From Subtype Polymorphism to Typeclass-based Ad hoc Polymorphism — An Example. На этот раз полезные слайдики про наш любимый полиморфизм.

Ныряем в удивительный мир Scala 3 с новым для нас автором статей markgrechanik. Где-то непростое, где-то полезное и базовое чтиво для любого начинающего, но каждое, безусловно, заслуживает минутку внимания:

  • Inductive Love: How Scala 3 Compiles Proofs, Two Steps at a Time!

  • Type Refinements in Scala: Making Your Types More Sophisticated Than Your Friends.

  • Universal Types Want It All, Existential Types Play It Cool: Covariance and Contravariance Explained.

  • Universal vs. Existential Types: Is It For All or Existential Crisis?

  • A ‘Shift’-y Affair: Unraveling the Allure of Continuations and Backtracking.

  • Bounded Quantification: Why Your Types Need Boundaries Even If You Don’t!

  • Erased but Not Forgotten: How Type Erasure Turns Scala’s Free-Spirited. Overloading Into a Frustratingly Strict Monogamy.

А сюда мы спрятали еще несколько интересных статей:
  • Integrate New Relic into Play Framework.

  • Migrating Spark Codebases from Scala 2.12 to 2.13.

  • How to Use KafkaJsonSchemaSerializer in Scala with Case Classes?

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

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

  • Эпизоды Flatmappers 27-32. Флетмаперсы раскочегарились в эту зимнюю пору и за месяц выдали аж 6 эпизодов! Правда, они окончательно отказались от джинглов. Всегда слушаем их выпуски, любим нежной любовью и всем строго рекомендуем подкаст ребят. А в этом месяце рекомендуем особо настойчиво, ибо ребята обсуждали и sbt 2.0, и metals, и новые экспериментальные фичи, выходящие в Scala 3.5.0.

  • Direct-style Concurrent Streaming for Scala | Adam Warski SoftwareMill. Теперь трогаем Ox с Адамом Варски не только в текстовом формате, но и совместно на видео.

  • Tools For Scala Startups (ScalaIO 2024) — Which Libraries Should You Use for a Full-stack Product? Набор юного пионера скалиста.

  • Scala Space Podcast: Modelling the Business Domain with Voytek Pituła and Raphaël Lemaitre.

  • How 1 Software Engineer Outperforms 138 — Lichess Case Study.

Tooling

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

  • New Module Layout for sbt Projects. IntelliJ теперь лучше воспринимает различные настройки для main- и test-модулей, которые задаются через sbt.

Highlights

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

  • Stitch. Каждый, кто работал с Finagle, знает, что Твиттер уже писали свои Future, а теперь словно переосмыслили свой опыт и написали еще раз. Дополнительно оставляем документацию для детального ознакомления.

  • Jsoniter-scala. И почему никто для своих очередных json-кодеков в бенчмарки не берет славный и распрекрасный Tethys?

  • S3te. Занятное развлечение на пару вечеров с собственными небольшими проектиками, да и вообще для собственного развития полезно будет.

  • ChainCash — Elastic Peer-to-Peer Money Creation via Trust and Blockchain Assets. Вот мы и дожили до создания своего "биткоина дома" на Scala.

  • Augment.

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

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

  • Advent of Code 2024 — уже стартовал ежегодный Advent of Code! Выходи решать (˶ᵔ ᵕ ᵔ˶)

  • ZIO in 2025. Декларация независимости приоритетов развития экосистемы ZIO в 2025 от Джона де Гуза. Из основного: часть проектов заедут в ядро, часть экосистемы прекратят поддерживать и заархивируют и некоторые сторонние проекты будут поддерживать материально. А еще сделан намек на разработку ZIO 3.

    Настя

    Так как ZIO — это вам не half-life, я верю, что однажды ZIO 3 мы-таки увидим ( ͡° ͜ʖ ͡°)

  • Announcing the Business4s Mentorship Program. Кто бы ни стоял за проектом Business4s, но этот человек предлагает бесплатную программу по развитию любого обратившегося на три месяца. Выглядит как альтруистичное начинание, полезное для всего Scala-сообщества. Одобряем.

  • Lightbend is Now Akka. Ребрендинг — не только наша фишка (^_<)〜☆ Lightbend официально сменил название и сайты на Akka, попутно анонсировал новую экосистему-парадигму Akka 3, предлагая клиентам настроенные облачные среды исполнения. К слову, это не первый ребрендинг компании: до 2016 года она называлась Typesafe.

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

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

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

  • Scala Digest #13

  • Scala Digest #14

  • Scala Digest #15

  • Scala Digest #16

  • Scala Digest #17

  • Scala Digest #18

  • Scala Digest #19

  • Scala Digest #20

  • Scala Digest #21

  • Scala Digest #22

Выпуски за 2023 год

Источник: https://habr.com/ru/companies/tbank/articles/862936/


Интересные статьи

Интересные статьи

Исследователи из Гонконгского университета науки и технологии создали уникальную систему зрения для роботов, которая имитирует сложные глаза насекомых. Эта система, называемая составным глазом с пинхо...
Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне е...
В 1С-Битрикс: Управление сайтом (как и в Битрикс24) десятки, если не сотни настраиваемых типов данных (или сущностей): инфоблоки, пользователи, заказы, склады, форумы, блоги и т.д. Стр...
Однажды, в понедельник, мне пришла в голову мысль — "а покопаюсь ка я в новом ядре" (новым относительно, но об этом позже). Мысль не появилась на ровном месте, а предпосылками для нее стали: ...
Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в вер...