
Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать. Собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Релизы
В этом разделе последние обновления популярных и полезных в работе библиотек за пару месяцев:
sbt 1.9.6 — версия 1.9.5 сломана
IT’s Tinkoff Scala Meetup & open source
Рубрика для митапов, релизов библиотек и фреймворков, рожденных в недрах Scala-комьюнити Тинькофф.
На канале IT и т. д. стартовал проект про особенности Sсala-разработки Scala in Tinkoff. Наши разработчики, лиды и руководители проектов рассказывают о деталях работы и жизни Scala-команд: какие задачи решаются, какой стек технологий и библиотек используется, про особенности проектов. Будут милые отличительные черточки команд, привычки и забавные кулстори из жизни.
Ролики пятиминутные, динамичные, с прикольной анимацией-рисовкой. Обязательно зацените :)
Появились записи докладов с летнего IT’s Tinkoff Scala Meetup в Екатеринбурге:
Шаблонный доклад — о том, как написать простейший сервис на Scala 3 для заполнения шаблонов. Начали на Field(title: String), а закончили на Field[F[_]](title: F[Localize]). Создаем максимально переиспользуемый код, заплатив сложностью абстракций.
Лента операций, или Как мы ракету запустили — рассказ о том, как обмазаться Кафкой, Аккой, микросервисами и выстрелить себе в ногу. А затем мужественно превозмогать, разбираться, чинить и становиться лучшей версией себя как разработчика.
Dry run, или Как не упасть в рантайме из-за кривого конфига. «Не надо это понимать, надо просто почувствовать». Данил Засыпкин
Статьи
В этом разделе делимся свежими статьями, репозиториями и исследованиями, которые показались нам интересными. В отдельном блоке ресурсы, где авторы используют Scala 3. Enjoy:
RFC: A Path Forward for Ammonite REPL and Scripts in 2023 and Beyond #1372. «Ты один мне поддержка и опора, о великий, могучий, правдивый и свободный Ammonite». Li Haoyi рефлексирует о судьбе Ammonite.
Supervision, Kafka and Java 21: what’s new in Ox — дайджест последних изменений в библиотеке Ox. Появилась новая фича: разруливаем fork-и и их отмену под присмотром supervision.
Structured concurrency and scoped values in Java. Джавистам завезли зеленые потоки и structured concurrency, джависты щебечут от радости.
What is the future of Java in today’s enterprise? О самых передовых и актуальных веяниях в JVM-мире. Project CraC, GraalVM, Project Loom, Shenandoah, Lilliput, Valhalla и Project Panama. Угадайте, что из этого реальные проекты, а что мы придумали сами?
Спойлер:
От нас ничего!
TestContainers in Scala: Use Integration Tests for building your services — пошаговый рецепт создания и поднятия тестового окружения с либой testcontainers-scala.
Post Once, Syndicate Everywhere (POSSE). К сожалению, в стильной, модной, молодежной соцсети Mastodon пишут не все актуальные новости, а нас Alex Nedelcu не читает. Поэтому, проспав возможность попасть вживую на ScalaDays, он восстанавливает аккаунты и заявляет о готовности продолжать вести свой блог. Stay tuned!
OOP classes vs Higher-order Functions (HOFs). Провокационное название, но никакого копания вглубь FP vs OOP ждать не стоит. Небольшая заметка о нарушении L-принципа из SOLID и о том, какими практиками можно этому нарушению противостоять.
Which programming tools are written in Java? На Java можно не только json-чики в enterprise гонять, но и ваять серьезнейшие проекты. Жаль, что забыли Minecraft включить.
Особо внимательные могли приметить в списке GraalVM, что может вызвать вопрос: а как эта платформа реализована на Java, если JVM должна предоставлять Garbage collector, который сам по себе не может быть на Java? А кусочки ответа можно найти на Stackoverflow и Reddit.
Simplify Your API: A Path to Efficiency and Ease — лонгрид, усеянный примерами о том, что необходимо держать в голове при проектировании API-сервиса. С одной стороны, побуждает задуматься о многих потенциальных проблемах, о которых не битый жизнью разработчик мог не догадаться. С другой же — никаких инструкций и размышлений о том, как предотвратить подобные проблемы, не приводится.
Publish your Scala sbt Project to Maven in 5 Minutes with Sonatype — публикация в Maven через Sonatype. Также можно присмотреться к sbt-ci-release.
Статьи по Scala 3
Type safety with Iron. И снова валидируем типы. На этот раз, iron — альтернативу refined для Scala 3. Как всегда, с объяснением на элементарном уровне.
Видео и доклады
Здесь предлагаем ссылки на уже известные и популярные и на ноунейм-каналы и видео про Scala:
YouTube Ziverge. Моргните два раза, если John De Goes держит ваши семьи в заложниках и заставляет крутить ролики о Golem.
JDK 21 LTS - All Features Explained! DevInsideYou обозревает фичи, которые вошли в JDK21, раскрывет подробнее только те, которые могут быть потенциально интересны Scala-разработчикам. Из примечательного — интеграция Generational ZGC, virtual threads и Preview API для structured concurrency и нового механизма инкапсуляции ключей в javax.crypto, который позволяет обмениваться симметричными ключами, используя асимметричное шифрование.
Highlights
В этом блоке мы собрали не обязательно свежие, но зацепившие наш взгляд ресурсы, которые идут под флагом «Очумелые ручки». Авторы творят что-то интересное, необычное, но не всегда полезное:
Magnum — one more клиент базы данных. Среди записей прошедшего Scala Days есть доклад от автора по своему детищу.
ZIO Clippy — плагин-компилятор для более читабельных ошибков в ZIO.
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении существующих инструментариев для разработки:
So, What’s So Special About The Mill Scala Build Tool? Li Haoyi рассказывает,
почему sbt пора похоронитьпочему стоит пересаживаться на Mill. Не бойтесь, это не маленькая заметка о том, как запустить hello-world. Наоборот, получился солидный рассказ о типичных вопросах, которые решают build tool, какие концепции лежат в их основе. В качестве бонуса — небольшой сборник рецептов на Mill, включающий создание кастомной конфигурации для сборки JAR-приложения из исходного кода на Java и JAR-файлов зависимостей. В последние месяцы мейнтенеры активно развивают сам проект и его документацию. Может быть, пришло время познакомиться поближе с этим тулом.JetBrains Academy Plugin 2023.8 Is Available — релиз плагина, который интегрирует функциональность JetBrains Academy непосредственно в среду разработки Jetbrains. Теперь можно проходить курс по Scala прямо в IDEA.
IntelliJ IDEA 2023.3 EAP Is Open! Для IntelliJ Idea вышла версия Early Access. Можно на волонтерских началах потестить на ошибки, можно просто ознакомится с планируемыми нововедениями — улучшена поддержка Java 21.
Комьюнити-движ
Эта рубрика предназначена для курьезных и любопытных событий в мире Scala-общества, и мы хотели бы видеть ее объемной и живой. Если что-то пропустили или у вас есть предложения, ждем в комментариях:
Scala Survey 2023. VirtusLab и Scala Center держат руку на пульсе Scala-сообщества. Отличный шанс проголосовать, какие технологии используются в вашей команде, про какие вы впервые слышите, а про какие больше не хотите слышать никогда.
How to Install JetBrains Rider on Steam Deck. Что установить на игровое устройство? Конечно же, ваш любимый инструментарий для напиcания кода, ну очевидно же. (А лучше установить Идею и кодить на Скале, а не на этом вашем Юнити)
Flatmappers. Зацените карту Github-а, послушайте размышления о новых обновлениях Zig-а и оцените инсталляции k8s—k0s и k3s. Ответьте на вопрос: а как бы я назвал свою инсталляцию kubernetes?
IntelliJScala @ Scala Days 2023 Madrid. Создатели Scala-плагина для Intellije IDEA пообщались с разработчиками на Scala Days и отчаянно просят написать feedback любого рода об опыте работы с плагином.
Where Scala meets the industry — список инструментов, активностей и конференций, которые последнее время разрабатывают или в которых принимают участие компании SoftwareMill и VirtusLab.
Growing the Scala Community: Insights from Scalac’s US Initiatives — список активностей и конференций, в которых последнее время принимала участие компания Scalac.
Не сказать, что это продактплейсмент, но собрали статьи, где организации явно советуют нанять себя как профессиональную аутсорс-компанию для Scala:
Bad software examples — how much can poor code hurt you? Семейные измены, угрозы ракетного обстрела, суицид и почти упавшие самолеты. Открыли любимый новостной канал? А нет! Внезапно, статья от Softwaremill.
Great software solutions need great teams. Что-то на менеджерском, часть 1. ¯\_(ツ)_/¯
Partners in Code: Scalac’s Approach to Scala Outsourcing. Что-то на менеджерском, часть 2. ¯\_(ツ)_/¯
Programmers Day 2023, the SoftwareMill way. У SoftwareMill есть милая традиция на День программиста подводить итоги года в мире ИТ — как глобальные, так и индивидуальные для каждого сотрудника. Главным среди глобальных ребята называют запуск ChatGPT 30 ноября, который уже изменил подход к написанию кода и рабочим процессам. Не менее интересны и индивидуальные истории, каждая из которых сопровождается веселыми мемами. Обязательно зацените!
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Предыдущие выпуски:
Над дайджестом работали @Melkaya_150cm, @Ivoya, @tcarina. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>