Ruby/Rails дайджест #29: перший реліз-кандидат Rails 6, оновлення Ruby до 2.6.3, анонс складу спікерів RubyC
Всім привіт! Відкриємо наш дайджест новиною про те, що Rails 6 буде підтримувати версії Ruby тільки новіше 2.5. Також був опублікований звіт про прогрес роботи над Ruby 3.0. А ще був анонсований повний склад спікерів конференції RubyC, яка відбудеться 14-15 вересня в Києві.
Тренди в співтоваристві 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 посів 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 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
- 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.
Щодо тем/матеріалів/івентів, які варто додати в наступний випуск дайджесту, пишіть в коментарях або на [email protected] . Дякуємо за допомогу в підготовці дайджесту команді RubyGarage .
? Попередній випуск: Ruby дайджест #28
Опубліковано: 04/05/19 @ 07:00
Розділ Безпека
Рекомендуємо:
Робимо простий і надійний микросервис розсилки пушей на компонентах AWS
DOU Books: 5 корисних книг, які ви, швидше за все, не читали, від Олексія Орапа, CEO YouScan
Що змінилося в Google в березні 2019?
Виклики лідера на шляху до команди мрії
Досвід роботи з контент-біржею WorkHard