Ruby дайджест #38: интервью с DHH, обсуждение RuboCop, релизы dry-rb и rom-rb
Начнем с того, что одной из самых обсуждаемых тем в мире Ruby стало предложение переименовать гем RuboCop, выпущен фикс Rails, связанный с запуском миграций, Piotr Solnica поделился списком улучшений в dry-rb, rom-rb и hanami с апреля по июнь.
Тренды в сообществе
Интервью с DHH
Evrone продолжают брать интервью, в этот раз вышло текстовое интервью с DHH. В январе компания выпустила ролик с Yukihiro Matsumoto.
Переход GitLab с Unicorn на Puma
Команда GitLab опубликовала пост о том, что, начиная с 13.0 версии, Puma выбран как стандартный сервер приложения. В статье причины и детали перехода.
The RuboCop Name Drama
Через события, связанные с полицией в США, автор RuboCop получил предложение переименовать гем. Развернутый ответ от автора, почему переименовывать популярный проект — это плохая идея.
Релизы
rails 6.0.3.2 — исправление уязвимости CVE-2020-8185, связанной с запуском миграций.
Статьи и туториалы
Linkers & Ruby C Extensions — использование linux linkers при разработке C расширений для Ruby.
I created the same app with Rails and no Javascript — пример создания простейшего realtime приложения с помощью CableReady.
Taming Legacy Code With Characterization Tests — рефакторинг легаси кода с помощью тестов.
Monolithic Ideas For AWS Lambda File Systems — идеи по использованию EFS в Rails-приложении.
Running a Patched Ruby on Heroku — запуск кастомной сборки Ruby на Heroku.
Rails 6.1’s ActiveModel Errors Revamp — новый интерфейс для работы с ошибками ActiveRecord в Rails 6.1.
Web Scraping with Ruby — парсинг страниц с помощью Ruby, обзор инструментов.
Make use of your Github Actions minutes for security checking Rails PRs — интеграция гема brakeman в Github Actions.
Ruby 2.7 adds Enumerable#filter_map — обзор метода filter_map в Ruby 2.7, заменяющий комбинацию методов select и map.
Postgres Indexes for ActiveRecord Join Tables in Rails Apps — оптимизация JOIN-запросов с помощью индексов.
AnyCable 1.0: Four years of real-time web with Ruby and Go — отчет о проделанной работе над гемом AnyCable за 4 года.
Allowing dots in Rails routes — использование точек в роутинге.
Troubleshooting encoding errors in Ruby — подход к устранению ошибок, связанных с кодировками в Ruby.
Rails 6.1 allows enums attributes to configure the default value — Rails 6.1 позволяет устанавливать стандартные значение enum на уровне модели.
Rails 6.1 adds support for where with a comparison operator — добавлена возможность подставлять значения в ActiveRecord SQL запрос без использования знака «?».
Using Action Mailbox in Rails 6 to Receive Mail — туториал по использованию ActionMailbox.
How we scaled async workload processing at GitLab.com using Sidekiq — опыт GitLab по масштабированию Sidekiq.
Pragmatic Rails Testing — чек-лист по тестированию Rails-приложения.
Graceful Request Retries in Ruby Applications — инструменты и подходы для обработки запросов, связанных с внешними сервисами.
Инструменты
Inkblot — инструмент для манипуляции изображением на e-Paper дисплеях.
childprocess — гем, позволяющий управлять дочерними процессами.
regexp_parser — набор методов для работы с регулярными выражениями.
comma — DSL для генерации CSV-файлов.
gem_updater — обновление зависимостей с добавлением информации из changelog.
simple_discussion — Rails Engine, использующийся в GoRails, предоставляет функциональность форума.
Подкасты
Ruby Rogues
RR 461: Rethinking the View Layer with Components with Joel Hawksley
RR 462: Graphiti, REST, and GraphQL with Lee Richmond
RR 463: Can We Fix What We Can’t See? with James Thompson
RWPod
А также интервью с Bozhidar Batsov.
Ruby on Rails Podcast by 5by5
321: Ruby API and Bundler with Colby Swandale
322: Rails CI Pipeline Performance with Kelly Sutton
323: Keen to Keeping Using Ruby with Nick Schwaderer
324: Rails::Engine with Vladimir Dementyev
325: Ruby Blend: Open Sourcing a Ruby Gem with Brittany Martin
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів