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

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

Релизы

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

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:

  • 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.

Статьи по 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.

  • I got interviewed for a FAKE Scala job… Рart 1 и part 2.

  • The Scala Center Fundraising Campaign.

Не сказать, что это продактплейсмент, но собрали статьи, где организации явно советуют нанять себя как профессиональную аутсорс-компанию для 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. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>

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