Scala Digest. Выпуск 19
Привет, Хабр! Мы — Рома, Настя, Карина и Эвелина— бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем впечатления и комментарии. Свою мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.
Приветствуем любую обратную связь! (づ ◕‿◕)づ Теперь вы можете поделиться собственными материалами!
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
Tinkoff Scala meetup & open source
Раздел митапов и релизов библиотек и фреймворков, рожденных в недрах scala-комьюнити Тинькофф:
Август чрезвычайно богат на события, и мы очень хотим рассказать вам о них, а в парочке и вовсе пригласить поучаствовать:
ИТ-Пикник — если в конце августа будете в окрестностях Москвы, словосочетание «субботний отдых с близкими» вызывает у вас улыбку и приятные воспоминания, а вы все еще не подали заявку на главный семейный ИТ-фестиваль этого лета, то мы побудем вашим знаком свыше (っ˘▽˘)(˘▽˘)(˘▽˘)˘▽˘ς)
Часть редакции, помимо того, что идет сама, также замотивировала нескольких друзей провести день вместе. Предлагаем и вам не отставать, а поступить так же (☞°ヮ°)☞ ☜(°ヮ°☜) Мероприятие пройдет 17 августа, в музее-заповеднике «Коломенское». Переходите по ссылке, заполняйте анкету на участие и зовите друзей из ИТ-сферы.
T-Scala — вышел второй сезон видеоподкаста, где разработчики и руководители проектов рассказывают, как устроены наши продукты на Scala. Выпуски в обновленном формате, с новым названием и на новом (для нас) канале! На наш субъективный взгляд — стало космически круто. Но не доверяйте нам — посмотрите сами (>ᴗ•) и составьте свою оценку выпускам. Может быть, у вас даже возникнет желание подискутировать в комментариях.
JVM Day — конференция для Scala- и Java-разработчиков, которая состоится 31 августа в самом сердце T-Компании — в нашем новом бомбическом офисе на «Белорусской». В программе: доклады на любой вкус (среди спикеров — один из нас (⌐■_■)), фотозона, площадка для свободного общения и многое другое.
Статьи
В этом разделе — свежие статьи, репозитории и исследования, которые нам показались интересными. В отдельном блоке — ресурсы, где авторы используют Scala 3. Enjoy:
An intro to Flow Fields in Scala — пишем на Scala: не отрываясь от любимого языка, становимся начинающими художниками-абстракционистами.
ExecutionContext.parasitic and Friends — подробное и наглядное объяснение, что такое ExecutionContext.global, ExecutionContext.parasitic, ExecutionContext.opportunistic и чем они различаются.
ЭвелинаХотела бы, чтобы эта статья попадалась мне в то время, когда только знакомилась с понятием ExecutionContext
Just declare your services: Introducing operation mirrors — статья, в которой автор вводит параллельно две идеи, что негативно влияет на читаемость. С одной стороны, это презентация концепции Mirror-ов для trait-ов и библиотеки ops-mirror, реализующей эти Mirror-ы. С другой — рассказ про альтернативу подходу «эндпоинты как структура данных», принятому в ряде популярных http-фреймворков и tapir-е в частности. Альтернатива заключается в том, что эндпоинты можно описывать как trait-ы с соответствующей метаинформацией, заключенной в аннотациях над параметрами и методами. И чтобы эти trait-ы можно было интерпретировать для построения сервера или клиента, необходимо «сканировать» их структуру, что как раз можно делать с помощью ops-mirror.
Native app development with sttp and Scala Toolkit — нередко приходится на коленке писать простое приложение. Ловите небольшой и полезный в хозяйстве туториал по использованию Scala Toolkit совместно со Scala Native (ノ◕ヮ◕)ノ*: ・゚✧
Crafting types with Scala 3 macros — Part 1: Introduction to macros — начало серии про метапрограммирование. В этой части лишь введение и обзор техник, которые будут использоваться в следующих частях. При этом довольно подробно рассказывается обо всех нюансах метапрограммирования в Scala 3 и явно подразумевается, что читатель уже имеет некий багаж знаний о работе компиляторов. Если это не про вас, рекомендуем сначала ознакомиться с базовыми концептами в статье от VirtusLab.
How to see the trees using the Scala compilers — если хочется посмотреть на AST вашего кода или просто поковыряться в кишках Scala, то зацените, на что способны опции компилятора. В ежедневной рутине, конечно, такое вряд ли может понадобиться, но если вы эксперементируете с метапрограммированием или разрабатываете какой-то туллинг, вполне может оказаться полезным.
Ten things I like about Scala 3 — если вы все еще не начали писать на третьей версии скалы, то Eugene Yokota в этом любовном письме предоставляет нам причины присмотреться и попробовать написать что-либо на Scala 3.
А сюда мы спрятали еще несколько интересных статей
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на ноунейм-каналы и видео про Scala:
Zymposium: Building Better Open Source — John De Goes инфоцыганит и рассказывает молодым и неокрепшим opensourse-мейнтенерам про топ-3 тем для быстрого заработка в 2024. Если серьезно, то это проект в рамках Zymposium, в ходе которого берутся существующие инструменты-решения и подвергаются тщательному анализу на предмет целеполагания и поиска своего подхода и целевой аудитории. Но это не какой-то чистый маркетинг: о технической стороне не забывают и брейнштормят точки роста для дальнейшей проработки.
Как Capture Checking изменит программирование — несмотря на очень короткий и тихий опеннинг (¬‿¬), стоит послушать хотя бы ради экспертной аналитики Capture Checking.
The Power of Recursion — How To Think Code Clearly — видео для новичков в алгоритмах, дарит приятное ощущение понимания рекурсии на кончиках пальцев. Разбирают код быстрой сортировки слиянием и вставками, что дает новый взгляд на давно знакомые алгоритмы.
Tapir Tutorials — держим в курсе: вышла новая серия в туториалах по Tapir от Adam Warski.
А сюда мы спрятали еще немного интересного:
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении уже существующих инструментов для разработки:
Let«s Bring Science Into API Documentation — мы знаем, что всегда есть опция не писать документацию. Но если вы решились, то вот несколько подходов к документированию API с научно-экспертной точки зрения.
Highligts
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:
FastScala — новый микрофреймворк для разработки фронтенда на Scala посредством рендеринга на стороне сервера. Наверное, ближайший фреймворк-конкурент на той же технологии — korolev.
Мне не доводилось писать подобный код, но не раз приходилось видеть примеры админок, написанных как раз по такому подходу © Рома.
Комьюнити-движ
Это раздел курьезных и любопытных событий в scala-сообществе, и мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения — ждем вас в комментариях:
Developer Ecosystem Survey 2024 — не пропустите событие века ежегодный опрос разработчиков от JetBrains. Как и всегда, призываем повысить присутствие scala-сообщества в одних из самых популярных и значимых отчетах в мире программистов. Заходите и заполняйте опрос об опыте использования продуктов. Приз за наиболее полные ответы в РФ не отправят, но мы же проходим опросы не ради призов, верно? Верно же?
Scala 3 Roadmap for 2024 — больше похоже на рефлексию или небольшой кусочек ретро по прошедшему полугодию, чем на формальный роадмап, но мы никого не осуждаем ¯_(ツ)_/¯
5 Books Every Beginner Programmer Should Read — если вам не хватало списков «ХХХ книжек для начинающего программиста», то вот вам еще один, на этот раз от JetBrains Academy.
Scala 3 Metaprogramming Learning Resources —, а тут можно найти составленный энтузиастом список материалов по метапрограммированию на Scala 3. Добавляйте в закладки с удовольствием!
com.lihaoyi issue bounties — lihaoyi высылает вознаграждения в долларах за решение issue в его проектах, стимулируя людей вовлекаться в open source. Какой хитрый!
Maven Central and the tragedy of the commons — Мавенский Централ (i Ветер Северный) вводит ограничения на скорость загрузки для самых активных пользователей.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Предыдущие выпуски:
Над дайджестом работали @Melkaya_150cm, @Ivoya, @tcarina, @EvieLynn. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>
Выпуски за 2023 год