Всем привет! Откроем наш дайджест новостью о том, что Rails 6 будет поддерживать версии Ruby тольконовее 2.5. Также был опубликован отчето прогрессе работы над Ruby 3.0. А еще был анонсированполный состав спикеров конференции RubyC, которая состоится
Тренды в сообществе Ruby
- Команда разработки Ruby переехалас SVN на Git.
- В апреле Ruby Toolbox исполнилось 10 лет.
- Опубликованпервый релиз-кандидат Rails 6.0.0.
Релизы
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
Туториалы
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
- 13 выпуск 07 сезона. Rails 5.2.3, TypeScript 3.4, Highly Performant App with Ruby on Rails and Phoenix, Cube.js, PreVue и прочее
- 14 выпуск 07 сезона. CanCanCan 3.0, ActionPolicy 0.3.0, Native image lazy-loading for the web, Legacy Rails, CSSBattle и прочее
- 15 выпуск 07 сезона. jQuery 3.4.0 , Asciidoctor 2.0.0, Front-end Developer Handbook 2019, AssemblyScript, QUIZ: Well aimed? и прочее
- 16 выпуск 07 сезона. Ruby 2.6.3, Create React App v3, Pattern matching in Ruby, Reattempt, JavaScript For Cats и прочее
The Bike Shed
- 193: A Thing I Know Almost Nothing About — подкаст с Edward Loveall, разработчиком из Thoughtbot о его росте из интерна в Thoughtbot до опытного программиста;
- 194: My PGP Shame — темой этого подкаста стала безопасность приложений. Гость подкаста — Mike Burns, контрибьютор Application Security Guideв thoughtbot guides;
- 195: WebAssembly & WASI (Lin Clark & Till Schneidereit) — Lin Clark и Till Schneidereit из Mozilla обсуждают текущее состояние WebAssembly, новые разработки вроде WASI (WebAssembly System Interface) и возможности WebAssembly.
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
- #266: Dodging Ubuntu End of Life & Ruby on Rails DevOps with Justin Snair — подкаст с Justin Snair, создателем кастомного скрипта для обновления hosting environments и советы о том, как получить сертификацию AWS.
- #267: The Evolution of RubyMotion/DragonRuby with Lori Olson — обсуждение DragonRuby (экс-RubyMotion), инструмента для написания кросс-платформенных приложений для iOS и Android на Ruby.
- #268: Origins of Discourse & Changing Your Developer Mindset with Sam Saffron — подкаст с Sam Saffron, сооснователем Discourse и экс-разработчика в Stack Overflow.
- #269: Fixing Flaky Tests Like a Detective with Sonja Peterson — подкаст с Sonja Peterson про переход на Go и ее грядущее выступление на RailsConf.
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.
Касательно тем/материалов/ивентов, которые стоит добавить в следующий выпуск дайджеста, пишите в комментариях или на kirill@rubygarage.org. Спасибо за помощь в подготовке дайджеста команде RubyGarage.
← Предыдущий выпуск: Ruby дайджест #28