/ categories / Технологии / @pepegramming / post #230
1068

Пятничное чтиво

Конференция прошла, наступило время отдыха. В планах перенести статьи на сайт (в разработке) и начать второй сезон стримов. Вспомнить что было можно тут. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.

—————————————

Как сервера договариваются друг с другом: алгоритм распределенного консенсуса Raft

В прошлом выпуске рассматривалась проблема консернуса в распределенных системах. В конце упоминал об алгоритме raft, который используется в nats. Сегодня, ребята из додо, описывают принцип работы данного алгоритма. В сегодняшней статье описываются понятия и сам алгоритм согласования. А на одном стримов попробуем написать этот алгоритм на руби.

—————————————

Understanding Zeitwerk in Rails 6

В этом году, на конференции, Xavier Noria рассказывал о собственном проекте, который называется zeitwerk. Инструмент решает проблему загрузки в руби коде, rails 6 использует гем по дефолту. В статье рассматривается, как zeitwerk работает, какую конкретно проблему решает и как работает автолоадинг теперь. Также показывается, что делать если хотите использовать библиотеку вне рельс (гем уже встроен в karafka).

—————————————

Day Two Problems When Using CQRS and Event Sourcing

На последок - любимый тип статей с проблемами использования технологий. Сегодня рассматривается где и как эвент сорсинг и CQRS. Список проблем, затронутых в тексте: люди слишком рано начинают использовать подобные паттерны, консервативная обработка событий и нерациональное использование снепшотов для состояния. От себя добавлю проблему стандартизации событий между командами и отсутствие опыта инженеров, которые имплементируют подобные системы.

——— одной строкой ———

- Релиз dry-effects;


12:12 04.10.19
@pepegramming
947 +1

Грустно о программировании. Все проблемы сюда: @davydovanton pepegramming.site Medium: https://medium.com/pepegramming Ссылки на конкретные посты: http://telegra.ph/Pepegramming-Contents-03-11 Обратная связь: https://goo.gl/forms/iUd1Gufq6WnTsaO62