Crash Course To Scala

Видео на три с половиной часа, в котором автор замечательного канала DevInsideYou объясняет скалу от установки настройки тулинга до ADT и имплиситов. Отличная альтернатива документации с официального сайта для людей, переходящих с других языков.

»

Deadline

Прочитал «Deadline» Тома Демарко. Хорошая книжка по руководству проектами, читается за два вечера. Уровень графомании приемлемый, буллщитометр критических отметок не достигал. Начинающим менеджерам смело рекомендую.

»

Контекстные функции Scala 3

Adam Warski написал блогпост с подробным разбором context functions из Scala 3. Если вкратце, это возможность описать тип функции с implicit параметром. Например:

»

brief

В качестве упражнения с макросами накодякал библиотечку, которая генерит конструкторы для кейс-классов с зарефайненными полями.

»

Плохая производительность fold

Наткнулся на старый тикет, в котором Travis Brown померял производительность вызова fold по сравнению с обычным паттерн-матчингом. Замеры он делал для cats.data.Validated, но результаты актуальны и для аналогичных контейнеров (Either, Option). А результаты неутешительные — fold медленнее заинлайненного паттерн-матчинга в четыре раза.

»

CanThrow[E]

Лонгрид Профессора об экспериментальном механизме контроля исключений в Scala 3. Пока закрыто экспериментальным флагом компилятора. Выглядеть будет так:

»

Версионирование библиотек-сателлитов

Успешные библиотеки общего назначения имеют свойство обрастать сателлитами ― небольшими либами для интеграции с другими инструментами. Например, у реактивных стримов это коннекторы к базам данных и AMQP, у библиотек для сериализации ― связки с веб-фреймворками.

»

Микрооптимизация scala-phash

Прочитав статью Li Haoyi про микрооптимизации Scala-кода, решил проверить эффект одной из них самостоятельно. В качестве подопытного кролика выбрал свою библиотеку сравнения изображений scala-phash.

»

Создание пакета для Arch Linux

Есть замечательный инструмент для форматирования кода на скале ― scalafmt. Гибкий конфиг, интеграция с IDE, возможность добавить форматирование кода в пайплайны CI… Что ещё нужно пользователю? Нормальному пользователю, наверное, ничего. А вот мне захотелось программировать на скале в vim и форматировать текущий файл по нажатию шортката.

»

Отправка обновлений RSS на email своими руками

Оказывается, в 2019 году сложно найти сервис, который будет выполнять только одну примитивную функцию: отправлять на указанный адрес электронной почты обновления RSS-каналов. Есть множество приложений вроде feedly, которые отслеживают новые посты и складывают их в собственные читалки, но они мне не понравились, потому что:

»