Привет, Хабр! Наша коллега Карина в этом месяце защитила диплом и принимает по этому поводу поздравления в комментариях (。•̀ᴗ-)✧
А тем временем мы — Рома, Настя и Эвелина, бэкенд-разработчики Т-Банка — пишем код на Scala и продолжаем гореть желанием его популяризировать.
Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ
Теперь вы можете поделиться собственными материалами!
Релизы
Собрали последние обновления популярных и полезных библиотек за пару месяцев:
T-bank Scala meetup & open-source
Рубрика для митапов, релизов библиотек и фреймворков, рожденных в недрах scala-комьюнити Т-Банка.
Т-Банк открывает Сезон кода в Казани — большой летний фестиваль для опытных специалистов по Java, Scala, Mobile, QA и Data. Опытом поделятся спикеры из крупных технологичных компаний: T-Банк, VK, Сбер и Magnit Markett. А кроме докладов вас ждут полезные знакомства, настольный теннис и баскетбол, ИТ-квиз, живая музыка и много других активностей.
Залетайте, чтобы прокачать навыки и пообщаться с коллегами в неформальной обстановке. Получите билеты за благотворительный взнос от 1000 рублей.
Подробности на этой странице.
Статьи
В этом разделе делимся свежими статьями, репозиториями и исследованиями, которые нам показались нам интересными. В отдельный блок вынесли ресурсы, где авторы используют Scala 3. Enjoy:
Lagom is approaching end of life: possible migration paths — светлая память Lagom. Lightbend прекращают поддержку своего фреймворка 1 июля, поэтому сотрудник SoftwareMill (¬‿¬ ) Adam Warski написал статью о том, как и на что можно съехать, заодно проведя рефакторинг проекта.
Functional Parallel Programming in the wild — классная статья о создании небольшого веб-сервиса с нуля. Отлично зайдет как подробный разбор pet-проекта всем новичкам, пробующим свои силы в функциональном программировании на Scala.
Фактически сервис представляет собой небольшое приложеньице с несколькими эндпоинтами, работающее с API GitHub-а: достаем информацию о публичных репозиториях в какой-либо организации и разбираем список контрибьюторов в каждом проекте.
Статья написана в итеративном стиле: сперва запуск простенького Main-а, далее — веб-сервис с эндпоинтом-заглушкой, потом моделирование домена, разбор работы с API GitHub-а и авторизационном токеном, а в конце — бизнес-логика и реальные эндпоинты. Для полного набора не хватает только тестов и деплоя в виртуальное окружение.
Scala service combined with PostgreSQL, Flyway, Doobie, Hikari-CP, Ciris, IO(Cats Effects), Http4s, ZIO-JSON, and Cake Pattern — это база. У начинающих скалистов 99% приложений выглядят так, меняются только используемые библиотеки.
Forking and Interruption in ZIO — маленькая жизненная история о том, как подломанный с точки зрения параллелизма код + обновление версии либы = обстоятельства, в которых ты вынужден разобраться, как работают скопы и прерывания, и мини-статья в блог на десерт (ง ื▿ ื)ว
WebSocket chat using structured concurrency, Ox & Tapir — если у вас кончились идеи, через что еще можно реализовать сервис на веб-сокетах, то Adam Warski спешит к вам на помощь и предлагает сделать это через новомодные Java 21 и Ox. Спокойно повторяйте в домашних условиях.
Single tenant vs multitenancy — choosing the optimal solution — микропосвящение в варианты подписок на облачные серверы провайдеров.
Настя
Мне, как человеку от этого крайне далекого, было любопытно повтыкать на картинки, иллюстрирующие эти варианты
Tapir Tech Update the Deep Dive — Softwaremill запускают собственный ежемесячный дайджест, посвященный новостям в мире технологий за последний месяц, а также направлениям архитектуры, Machine Learning и DevOps (☞°ヮ°)☞ ☜(°ヮ°☜)
Introducing TARP Stack ⛺ — Tapir, React and PostgreSQL — если вам 👨💻 в вашем семейном 🏠 чате не хватает 🤷♂️ эмодзи в сообщениях родственников 👯♀️, то проходим по ссылке читать статью, становимся TARP Stack разработчиками с претензией на FullStack и радуемся жизни. И нельзя не отметить обилие красивых рисунков и пояснительных подписей со стрелочками, во время чтения всплывали флешбэки студенческих времен об оформлении лекций в конспектах.
А сюда мы спрятали еще парочку интересных статей:
Видео и доклады
Собрали ссылки как на уже известные и популярные, так и на ноунейм-каналы и видео про Scala:
Tapir Tutorials — что может быть лучше видео от Adam Warski? Четыре видео от Adam Warski с туториалами по Tapir!
Lean Scala — плохо или хорошо? и Этот метод сделает тебя 10x-разработчиком — наши нежно любимые флетмапперсы продолжают экспериментировать с опенингами, стараются порадовать нас обсуждением хайповых тем, а также говорят о том, как и в чем ковыряются они сами последнее время.
Kit Langton YouTube — на личном ютуб-канале Kit Langton-а спустя более чем год снова стали появляться видео, посвященные Scala!٩(๑・ิᴗ・ิ)۶٩(・ิᴗ・ิ๑)۶ Вышла пара видео о макросах в Scala 3, совместно с Adam Hearn в серии Computer Hour.
ScalaMatsuri 2024 — в первых числах июня прошла одна из самых крупных на азиатской части scala-конференция ScalaMatsuri 2024, и уже успели подъехать записи докладов! Кроме того, конференция является мультиязычной и в записях можно встретить не только английский язык. Как на счет того, чтобы бросить себе челлендж и попробовать послушать доклады о Scala на японском?)
Ну а если вам не хватило докладов, то держим в курсе, что продолжают выходить записи конференции SCALAR.
А сюда мы спрятали еще немного интересного:
Tooling
Кусочек дайджеста, где мы рассказываем о появлении новых и улучшении уже существующих инструментов для разработки:
given 0.1.6 — Kit Langton отвлекся на минутку от своего любимого в последний год Swift и напилил на Rust для нас библиотеку для автоматического обновления зависимостей в scala-проектах.
virgil-kyo 0.1.1 — новая либа для создания Cassandra клиента. Стек — Scala 3, Kyo и Magnolia.
Highligts
В этом блоке не всегда свежие, но зацепившие наш взгляд ресурсы под флагом «очумелые ручки». Авторы творят что-то интересное, необычное, но не обязательно полезное:
flix — большое спасибо Игорь Цалко, который на наших внутренних докладах познакомил с интересным, пока еще только академическим языком flix. Интересен он по множеству причин: явное разделение на чистые и нечистые функции, встроенная IO-монада, поддержка логического программирования на datalog из коробки и так далее. Нет большого смысла перечислять все, что и так отлично расписано на сайте.
Главная фича, заинтересовавшая нас, состоит в том, что компилятор написан на Scala (да, Java стал уже дедушкой) и занимает не 600 000+ строк кода как компилятор dotty, а всего лишь около 70 000, что делает возможным на досуге засесть и с банкой пива / чашкой чая закопаться в код и собственными глазами увидеть, как конструируют современные компиляторы. Проект активно поддерживается исследовательской группой Орхусского университета, и ребята оттуда будто бы активно идут на контакт и помогают разобраться с проблемными местами. К слову, зацените прекрасно написанный раздел FAQ.
Soundness — Jon Pretty вернулся не только в коммьюнити языка, но и в сообщество контрибьюторов в open source с целой экосистемой разношерстных модулей для Scala 3. Никаких вам очередных либ для парсинга JSON-ов и обвязок над Netty. Модули действительно интересные, специфичные, легковесные и изолированные друг от друга. А еще в комплекте идут поразительно крутые иконки и названия ♡\( ̄▽ ̄)/♡ К экосистеме уже выпущено несколько статьей для отдельных модулей: Wisteria, Dissonance, Dendrology, Quantitative.
Настя
Лично меня очень зацепила либа Dendrology, и я собираюсь попробовать ее на днях
Комьюнити-движ
Раздел курьезных и любопытных событий в мире scala-общества, и мы хотели бы видеть его объемным и живым. Если что-то пропустили или у вас есть предложения — ждем вас в комментариях:
В этот раз вашему вниманию представляем набор рассуждений разных авторов о светлом будущем Scala и что нужно начать делать сегодня, чтобы прийти туда.
12 years of the com.lihaoyi Scala Platform — запись, меняющая ваше настроение минимум три раза за время прочтения. В начале это полный ностальгии кусок о том, как ковалась экосистема либ от lihaoyi. Интересно читать, какими экспериментами в плане кода занимался тогдашний автор-студент, в каких языках он себя искал и о чем вообще думал в то время. Есть даже место мемам о странных операторах функций и на что они похожи.
Далее автор знакомит нас со своим видением мира Scala в плане сложившихся и отмирающих подходов, предлагая третий, новый путь. Признавая вклад и мощь сообщества любителей cats и zio, он пишет о расширяющемся пути развития, который будет предназначен для завлечения новичков и роста комьюнити за счет новой крови, а не замещения существующих подходов.
В основу этого пути он кладет свою экосистему, которая стабильно работает и существует на протяжении 12 лет. И на этой светлой, возвышенной ноте вгоняет читателей в грусть следующим абзацем, похожим на крик о помощи и прошение милостыни одновременно. Спаси Scala сегодня, начни писать в простом прямом стиле уже сейчас. И да, по ходу повествования можно было встретить пару камней в огород Lightbend с их фондовым финансированием и легкую зависть к пиар-возможностям основателя экосистемы zio. В общем, предлагаем вам самим ознакомиться с материалом.
Announcing Business4s: a new value proposition for Scala — новый манифест о том, куда должна смотреть и развиваться Scala. Кратко: давайте решать бизнес-задачи, а не технические. Никаких громких имен в качестве опоры, из того, что есть сейчас, — две либы, стиль написания, канал в Discord и профиль на X (i: бывший Твиттер).
Scala Is Not Going Anywhere — скорее бы домой, сделать запись в дневнике эмоций: Scala хорошо работает в data-инжиниринге, поэтому все будет хорошо.
До встречи через месяц! ♡\( ̄▽ ̄)/♡
Предыдущие выпуски:
Над дайджестом работали @Melkaya_150cm, @Ivoya, @EvieLynn. Ваши идеи, предложения, обратную связь с удовольствием ждем в комментариях! <( ̄︶ ̄)>