Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на 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. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>