×Закрыть

Ruby дайджест #37: Citadel Architecture, релиз Rails 6.0.3.1, запись докладов RailsConf 2020 CE

Начнем с того, что 18 мая вышел важный релиз Rails с множеством исправлений, связанных с безопасностью, DHH ввел новый термин для монолитных приложений, работающих в связке с микросервисами, а конференцию RubyC 2020 отменили.

Тренды в сообществе

Citadel Architecture

DHH ввел новый термин Citadel Architecture, описывающий монолитные приложения, которые работают в связке с несколькими вспомогательными приложениями для узконаправленных нужд.

AppSignal поделились тем, как используют данный паттерн. Также Sid Sijbrandij отметил, что этот подход активно использует GitLab.

Прекращение поддержки Ruby 2.4

Команда разработки Ruby опубликовала пост в блоге о прекращении поддержки Ruby 2.4. Последний релиз 2.4.10 состоялся 31 марта и стал последним в ветке 2.4.x.

Доклады RailsConf 2020 CE

На канале Confreaks опубликовали плейлист докладов.

Релизы

rails 6.0.3.1 — исправление уязвимостей CVE-2020-8166, CVE-2020-8164, CVE-2020-8167, CVE-2020-8165, CVE-2020-8162.

TruffleRuby 20.1.10

VCR 6.0.0

Jekyll 4.1.0

Dynamoid 3.5.0

Статьи и туториалы

Comparison of approaches to multitenancy in Rails apps — сравнительная таблица подходов создания multitenancy-приложений.

A hands-on tutorial to debugging your code with pry-byebug — туториал по дебагингу кода с помощью гема pry-byebug.

Testing Ruby decorators with super_method — тестирование декораторов с помощью вызова родительских методов через super_method.

Why you (probably) don’t need PostGIS — статья о том, как можно заменить расширение PostGIS с помощью встроенных возможностей PostgreSQL.

Ruby Concurrency Final Report — отчет о проделанной работе над улучшением concurrency в Ruby от Samuel Williams.

Feature Flags: The stupid simple way to de-stress production releases — использование переменных окружения (или настроек) для возможности включать/отключать фичи без создания нового релиза.

Custom Exception Handling in Ruby — подборка хороших практик по работе с исключениями в Ruby.

Dissecting Rails Migrations — шпаргалка по использованию ActiveRecord Migrations.

Ruby Next: Make all Rubies quack alike — транспайлер, позволяющий использовать фичи новых версий языка без обновления Ruby.

Postgres Distinct On — автор делится опытом избежания проблемы N+1 на уровне базы данных.

Binpacking SQS batches — алгоритм обработки SQS-сообщений на Ruby.

RuboCop Defaults Survey Results — результаты опроса разработчиков об их дефолтных настройках RuboCop.

How to restart Sidekiq automatically for each deployment — как и почему нужно перезапускать Sidekiq после каждого деплоя.

Full Text Search in Milliseconds with Rails and PostgreSQL — туториал по имплементации полнотекстового поиска с помощью pg_search.

Ruby 2.7 deprecates conversion of keyword arguments — обновления по работе с аргументами в Ruby 2.7.

How to Fix Slow Code in Ruby — рекомендации по использованию бенчмарков для оптимизации кода от команды Shopify.

Five common issues with services and dry-monads — автор рассматривает типичные ошибки использования монад в сервисах.

70+ Ruby on Rails Security Best Practices & Vulnerabilities — большая статья-чек-лист по безопасности в Rails-приложениях.

Practical use of Ruby PStore — пример использования встроенного класса PStore.

Обновление Rails

Our Rails Upgrade Process: How to bundle update rails — пошаговый подход к обновлению версии Rails.

Upgrading Rails: Tracking down deprecated callbacks in Rails 5.0 — отслеживание колбеков при переходе с Rails 5.0 на Rails 5.1.

Инструменты

Gruff — построение PNG-графиков из датасетов.

AmazingPrint — форматирование результатов выполнения кода в консоли.

Tomo — альтернатива Capistrano для деплоя Rails-приложений.

Retriable — простой DSL для обработки исключений.

Committee — Rack Middleware для работы с JSON Schema.

Подкасты

Ruby Rogues

RR 454: Music and Factory Bot with Daniel Colson

RR 455: What’s Up, Rogues?

RR 456: Ruby for Good :) with Sean Marcia

RR 457: Upgrading to Rails 6

RR 458: Rules of OOP in Pictures with Ivan Nemytchenko

RR 459: Mutation Testing with Dave Aronson

RR 460: How to Brainstorm Introverts with DeeDee Lavinder

Remote Ruby

Joined by Josh Wood from HoneyBadger.io and Heya.email

Bridgetown Ruby with Jared White

Railsconf Couch Edition & May of WTFs with Matt Swanson

RWPod

15-й выпуск 08 сезона — jQuery 3.5.0, Puppeteer 3.0.0, Anyway Config, Global, Redaxios, Simpsons: Hit & Run API.

16-й выпуск 08 сезона — Node.js 14, How Trix works, Crank, Bridgetown, Vidact, Codedoc, Pico, Eloquent JavaScript.

17-й выпуск 08 сезона — Guild renamed to Ractor, is-promise post mortem, CableReady, Middy, useWorker, DarkMode.

18-й выпуск 08 сезона — Rails 6.0.3, Deno 1.0, AWS SimpleDB, RailsConf 2020 CE, Ruruby, Esbuild, React Flow, Majestic.

19-й выпуск 08 сезона — Rails 5.2.4.3, 6.0.3.1, Deno 1.0, ESLint 7.0.0, Recoil, SHA-256 Animation, WebGL guide, Shifty.

20-й выпуск 08 сезона — 19 Must-Have Gems for 2020, The Third Age of JavaScript, Awspec, Painterro, Reveal.js, NanoPop.

Ruby on Rails Podcast by 5by5

313: Strangler Fig Pattern & God Objects with Adrianna Chang

314: Active Storage & Modern Images with Mark Hutter

315: Worrying About the Wrong Things with Hilary Stohs-Krause

316: MongoDB and Onboarding Junior Developers with Emily Giurleo

317: Coming Home to Rails with Vince Eberle

318: Error Messages Are Your Friends with Gina Verrastro

319: Gap Here and 10x Customers with Sean Devine

320: ViewComponents in Action with Andrew Mason

События

RubyC 2020 — официально отменена в связи с COVID-19.

Brighton Ruby Conf— пройдет в формате записанных докладов.


← Предыдущий выпуск: Ruby дайджест #36

LinkedIn

9 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

news from reddit:
Shareable Rails app templates railsbytes.com/public/templates
The simplest way to generate a Rails app with (or without!) all the bells and whistles railsnew.io

Супер! Только не хватает списка новых обучающих видео

Спасибо! Планирую вернуть в следующий выпуск подборку с туториалами, если будет достаточно контента

Може, вже пора писати дайджести українською мовою?

чувак, в тебе опис профілю — російською. половина коментів — російською. всі 3 твої пости — російською. може треба почати з себе???

Дякую, що виявили таку зацікавленість до моїх коментарів.
Я можу писати коментарі аби якою мовою, тому що ніхто не зобов’язаний їх читати. А якщо є дайджести на українському сайті, який читають всі, і які йдуть тільки на однією мовою, то чому це має бути не українська мова?

І я тобі не чувак і ніколи не просив до мене так звертатися.

Толковый обзор, большое спасибо !

Подписаться на комментарии