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 seeding 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 Rails and 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

  • RR 406: How Hard is Ruby on Rails to Learn? — в новом подкасте Charles Max Wood, Nate Hopkins, David Richards и Dave Kimura общаются на тему сложности изучения Ruby on Rails, делятся советами по изучению и менторингу новичков;
  • RR 407: Functional Programming in Ruby using Dry Gems with Igor Morozov — подкаст, полностью посвященный функциональному программированию и обсуждению карьерных возможностей для senior-разработчиков и обучению новичков;
  • RR 408: Zeitwerk with Xavier Noria — подкаст с Xavier Noria, создателем гема Zeitwerk, более эффективного code loader для Ruby;
  • RR 409: Turning Fat Models Into Skinny POROs with Jason Swett — извечная тема Fat Models, Skinny Controllers (правда, в этот раз POROs: Plain Old Ruby Objects) вместе с Jason Swett, автором ресурса codewithjason.com для изучения тестирования Rails-приложений.

Ruby on Rails Podcast

Remote Ruby

  • Jumpstart Pro and Building a SaaS App with Hanami — обсуждение проекта Jumpstart Pro с его создателями, опыт создания приложений с фреймворком Hanami и немного о Crystal.
  • Rails 6, Ruby 3, and RailsConf — грядет летний сезон конференций! Авторы подкаста обсуждают RailsConf, Rails Kaigi и новые версии Ruby/Rails.


Касательно тем/материалов/ивентов, которые стоит добавить в следующий выпуск дайджеста, пишите в комментариях или на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. . Спасибо за помощь в подготовке дайджеста команде RubyGarage.


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

Похожие статьи:
Зранку 26 квітня у «Дії», «Новій пошті» та терміналах банків фіксують технічний збій. Це відомо з повідомлення КМДА, застосунку «Дія»...
[Об авторе: Владимир Железняк — пишет код, управляет проектами. Два раза дауншифтился с менеджерских позиций в чистый код, потом...
В выпуске: NetBeans уходит под крыло Apache; в VS Code появилась поддержка Java; а у Java может появиться ключевое слово ’var’ и возможность AOT...
If you are looking for guidance on how to convert YouTube videos to MP3 and MP4, you have come to the right place. Many years ago, it used to be quite a laborious and complicated procedure to convert a YouTube video, but now there are...
Спільното, допоможемо майбутнім IT-фахівцям визначитися з вишем? Саме зараз абітурієнти вже обирають місце, де вчитимуться...
Яндекс.Метрика