Пятничное чтиво
Выложил запись стрима на ютуб. На следующей неделе стрим, разберем как работает kafka и avro, запустим schema registry. Старые записи можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.
—————————————
Error handling with Monads in Ruby
Вижу споры о валидности применения exeptions для bussines flow последние восемь лет. Каждый раз думаю написать статью на эту тему и каждый раз забиваю (хотя черновики остались). Сегодня статья, которую буду использовать каждый раз, когда увижу подобный спор опять.
Ждите подробный разбор концепции ошибки, какие абстракции еще используются (в пример ставится го) и какие проблемы приносит данная абстракция. В конце автор приходит к result objects с монадами. В примерах будет bind и DO notation. Однозначный мастрид недели.
—————————————
ROM and Dry Showcase: Part 1
ROM and Dry Showcase: Part 2
Ryanbigg начал серию статей о rom-rb и dry-rb. Если до этого обходили стороной rom и dry-system, статья вводят в курс дела и показывают как настроить каждую из библиотек.
В первой части рассказывается о rom: что такое и как работают репозитории/энтити, показывается как настроить rake таски для миграций и
Во второй части описывается dry-system: что это такое, как работать с контейнером, как регистрировать зависимости. В дополнение советую прочитать документацию к dry-system, где подробнее рассказывается о времени жизни зависимостей, плагинах и использовании изолированных контейнеров между собой.
—————————————
Protecting Your GraphQL API From Security Vulnerabilities
Cтатья-чеклист по защите GQL API. Рассказывается о лимите вложенности, переборе мутаций, использовании сессий, проблеме выполнения долгих запросов и раскрытия GQL имплементации. Некоторые вещи уже легко реализуются в руби, некоторые придется писать руками. Стоит сделать обычный чек лист выкатки API в продакшен и проверять по нему работу каждого эндпоинта перед деплоем. Жду CI шаг на проверку всех шагов в будущем!
Русский перевод
——— одной строкой ———
- pg_timetable: Advanced PostgreSQL job scheduling;
Выложил запись стрима на ютуб. На следующей неделе стрим, разберем как работает kafka и avro, запустим schema registry. Старые записи можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму.
—————————————
Error handling with Monads in Ruby
Вижу споры о валидности применения exeptions для bussines flow последние восемь лет. Каждый раз думаю написать статью на эту тему и каждый раз забиваю (хотя черновики остались). Сегодня статья, которую буду использовать каждый раз, когда увижу подобный спор опять.
Ждите подробный разбор концепции ошибки, какие абстракции еще используются (в пример ставится го) и какие проблемы приносит данная абстракция. В конце автор приходит к result objects с монадами. В примерах будет bind и DO notation. Однозначный мастрид недели.
—————————————
ROM and Dry Showcase: Part 1
ROM and Dry Showcase: Part 2
Ryanbigg начал серию статей о rom-rb и dry-rb. Если до этого обходили стороной rom и dry-system, статья вводят в курс дела и показывают как настроить каждую из библиотек.
В первой части рассказывается о rom: что такое и как работают репозитории/энтити, показывается как настроить rake таски для миграций и
db:setup
, объясняется концепция релейшенов.Во второй части описывается dry-system: что это такое, как работать с контейнером, как регистрировать зависимости. В дополнение советую прочитать документацию к dry-system, где подробнее рассказывается о времени жизни зависимостей, плагинах и использовании изолированных контейнеров между собой.
—————————————
Protecting Your GraphQL API From Security Vulnerabilities
Cтатья-чеклист по защите GQL API. Рассказывается о лимите вложенности, переборе мутаций, использовании сессий, проблеме выполнения долгих запросов и раскрытия GQL имплементации. Некоторые вещи уже легко реализуются в руби, некоторые придется писать руками. Стоит сделать обычный чек лист выкатки API в продакшен и проверять по нему работу каждого эндпоинта перед деплоем. Жду CI шаг на проверку всех шагов в будущем!
Русский перевод
——— одной строкой ———
- pg_timetable: Advanced PostgreSQL job scheduling;