Ruby/Rails дайджест #29: перший реліз-кандидат Rails 6, оновлення Ruby до 2.6.3, анонс складу спікерів RubyC

Всім привіт! Відкриємо наш дайджест новиною про те, що Rails 6 буде підтримувати версії Ruby тільки новіше 2.5. Також був опублікований звіт про прогрес роботи над Ruby 3.0. А ще був анонсований повний склад спікерів конференції RubyC, яка відбудеться 14-15 вересня в Києві.

Тренди в співтоваристві Ruby

Релізи

react-rails 2.5.0 — новий реліз гема для інтеграції React в Rails додаток;

searchkick 4.0.0 — вийшла четверта версія гема для роботи з повнотекстовим пошуком через Elasticsearch;

faktory 1.0.0 — оновлення движка для обробки фонових завдань;

Ruby 2.6.3 — квітневий реліз Ruby 2.6.3;

Rom 5.0 і rom-sql 3.0 — нові версії альтернативних ORM.

Почитати

Ruby 2.7 — Pattern Matching — First Impressions — перші враження від pattern matching в Ruby 2.7;

Learn by Benchmarking Ruby App Servers Badly — уроки, які команда Appfolio витягла з проведення бенчмарків серверів додатків;

Creating Ruby native extensions — приклад створення нативних розширень C;

Replace chromedriver-helper with webdrivers — способи заміни застарілого гема chromedriver-helper;

The status of Ruby memory trimming & how you can help with testing — способи профілювання пам'яті в Ruby додатках;

How Do You Know If A Gem Is "Done" or "Dead"? — цікава дискусія навколо Rubytoolbox на тему того, як можна оцінювати підтримку гемов;

Optimizing Database Performance in Rails — оптимізація бази даних в контексті ActiveRecord і Rails;

Using streams to build read models — використання ruby_event_store c ActiveRecord моделями.

Добірка від AppSignal

Object Marshalling in Ruby — стаття про концепцію Object Marshalling, імплементацію за допомогою модуля Marshall і прикладами;

Learning by building a Background Processing System in Ruby — туторіал по створенню системи фонової обробки з допомогою гема Sidekiq;

Kafka and Ruby, a Sidekiq lovestory — досвід міграції process pipeline з Ruby на Kafka з допомогою гема Sidekiq.

Добірка від BigBinary

Продовження циклу статей про нововведення в Rails 6:

Rails 6 adds ActiveModel::Errors#of_kind?

Rails 6 adds ActiveRecord::Relation#reselect

Database посів task uses inline Active Job adapter in Rails 6

Rails 6 requires Ruby 2.5 or newer

Rails 6 drops support for PostgreSQL version less than 9.3

Bulk insert support in Rails 6

Rails 6 allows to override the ActiveModel::Errors#full_message format at the model level and at the attribute level

Туторіали

Creating a chat application from scratch using and Rails WebSockets — створення чату на Rails і WebSockets за допомогою ActionCable;

Prevent Links in Text Fields to Foil Spammers — валідація контактних форм для запобігання додавання посилань;

Validate and Fix Ruby on Rails ActiveRecord PostgreSQL Data Integrity — валідація цілісності даних в PostgreSQL в зв'язці з ActiveRecord;

Boost Your Shell Scripting with Ruby and Rexe — використання Ruby і Rexe в командному рядку;

Using custom objects in Ruby Ranges — розширення можливостей Range за допомогою написання власних класів.

Геми

Licensed — гем від GitHub для перевірки ліцензій в залежностях пролижения;

Gel — альтернативний пакетний менеджер, сумісний з Bundler;

Imap-backup — утиліта для створення бекапів пошти Gmail або будь-який інший через протокол IMAP);

InSpec — фреймворк для тестування інфраструктури додатків.

Послухати

Стріми Антона Давидова

RWpod

The Bike Shed

Ruby Rogues

Ruby on Rails Podcast

Remote Ruby


Щодо тем/матеріалів/івентів, які варто додати в наступний випуск дайджесту, пишіть в коментарях або на [email protected] . Дякуємо за допомогу в підготовці дайджесту команді RubyGarage .


? Попередній випуск: Ruby дайджест #28

Опубліковано: 04/05/19 @ 07:00
Розділ Безпека

Рекомендуємо:

Робимо простий і надійний микросервис розсилки пушей на компонентах AWS
DOU Books: 5 корисних книг, які ви, швидше за все, не читали, від Олексія Орапа, CEO YouScan
Що змінилося в Google в березні 2019?
Виклики лідера на шляху до команди мрії
Досвід роботи з контент-біржею WorkHard