Vim Cheat Sheet

пятница, 17 апреля 2020 г.
This is my fork of the https://vim.rtorr.com/.

Ускоряем реализацию fs2 стримов для reactive-streams

суббота, 8 февраля 2020 г.
Если вы, как и я, не в восторге от текущих инструментов для коммуникации с MongoDB, и меньшим злом выбрали для себя выбрали MongoDB Reactive Streams Java Driver, в надежде на существующую интеграцию reactive-streams с fs2, то вероятно, вас ждет разочарование. Официальная интеграция оооооооооооооооооооооооочень медленная. Если вы не собираетесь запускать ваше добро на JS, то возможно вам пригодится мое решение: https://github.com/dokwork/fast-reactive-fs2.
Просто оставлю результат замеров здесь:
Benchmark                                      Mode  Cnt      Score      Error  Units
ReadOneMillionNumbers.dokworkStreamSubscriber  avgt   25     39.377 ±    2.749  ms/op
ReadOneMillionNumbers.fs2StreamSubscriber      avgt   25  11189.737 ± 2213.225  ms/op

Разбираемся с сагами на Scala Russia Meetup 2019

среда, 16 октября 2019 г.

Разбор реализации актора из книги FP in Scala

пятница, 24 мая 2019 г.
cover of the book В книге Functional Programming in Scala, в главе Purely functional parallelism, в конечной реализации Par[a], авторы ссылаются на акторную модель вычислений и приводят в пример ее реализацию: Actor.scala. В основе реализации приводимого актора лежат идеи Non-intrusive MPSC node-based queue, которые не могут не вызывать восторга! В своей статье хочу попытаться разъяснить для себя и всех, кому это будет интересно, эти идеи.

Что значит "писать в функциональном стиле"?

воскресенье, 14 апреля 2019 г.
Ссылка на презентацию: тыц.

Дебют на scala meetup

вторник, 17 апреля 2018 г.

Шаблонные проекты с Giter8

суббота, 28 октября 2017 г.
Надоело копировать build.sbt, plugins.sbt, .travis.yml и прочие шаблонные файлы каждый раз, когда садитесь за новый проект? Тогда у меня для вас есть хорошая новость: забудьте об этом и встречайте giter8!

Первая за 6 лет статья на Хабр

четверг, 9 марта 2017 г.

Состояния java.lang.Thread на граблях и примерах

воскресенье, 5 февраля 2017 г.
Каждый java разработчик знает что такое поток, как его запустить и, возможно, поменять ему приоритет или даже сделать его демоном. Сегодня этих поверхностных знаний зачастую достаточно для того, чтобы успешно справляться со своими повседневными задачами, в которых крутые фреймворки всеми силами пытаются скрыть от нас нюансы многопоточности. Но иногда жизнь заставляет спустится на дно  на уровень ниже и познакомиться с нюансами работы с потоками более детально.

В этой статье, по мере решения простых задач, через серию проб и ошибок, мы рассмотрим некоторые нюансы при работе с классом Thread в java, поговорим о том, какие у потоков бывают состояния и при каких условиях поток переходит из одного состояния в другое.

Навигация по истории в терминале

пятница, 26 августа 2016 г.
Маленький хак упрощающий навигацию в Linux. Размещаем инструкции в ~/.bashrc:
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
и навигация по истории учитывает набранные до курсора символы.
Технологии Blogger.