Ruby/Rails дайджест #31: другий реліз-кандидат Rails 6, перша мажорна версія ruby-prof, Aaron Patterson про рантайме Ruby

Дайджест створено у співавторстві з Мариною Завийбородой , Copywriter в RubyGarage.

Всім привіт! Почнемо з того, що вийшов другий реліз-кандидат Rails 6, в якому було додано 172 коміта після релізу минулій версії. Через 14 років розробки випущена перша мажорна версія інструменту профілювання ruby-prof , надає звіти і високу швидкість обробки коду.

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

Співтовариство продовжує ділитися думкою про Sorbet: Подкаст з Paul Tarjan .

Aaron Patterson з GitHub обговорює мова Ruby і його runtime в Software Engineering Radio .

Cookpad провели Ruby Hack Challenge — захід, присвячений занурення розробників в роботу MRI.

Почитати

Hiding .gemrc credentials in dotfiles — корисний лайфхак для тих, хто хоче приховати .gemrc credentials в дотфайлах.

I'm worried about Ruby future — скільки буде існувати Ruby, стільки й будуть вестися розмови про його похмурому майбутньому :) У статті автор наводить 3 причини, чому Ruby «вже не той». Погоджуватися чи ні — вирішувати вам.

Ruby 3 gathering/hack challenge summary — огляд та підсумки митапа, присвяченому Ruby 3.

12 Factor Rails Settings — автор ділиться досвідом зберігання конфігурацій в змінних оточення.

A weird Capybara error in `within` block — рішення помилки в блоці 'within' при роботі з Capybara.

Ruby on Rails vs Django — Which One To Pick For Your Web Project? — порівняння Ruby on Rails і Django в якості фреймворку для стартапу.

Linting Ruby In Your Editor — короткий огляд 3 розширень лінтер для Vim, Visual Studio Code та Emacs.

When To Use and Rails React in Your Project — Rails і React можуть бути дуже ефективними рішеннями для проекту; автор розповідає про переваги використання двох технологіях на проекті.

Productive Procrastination for Programmers — works for Ruby and Elixir — прокрастинація може бути продуктивною, вирішуючи задачки з статті.

Where Does Rails Spend Its Time? — результати бенчмаркінгу Ruby 2.6 (поточного стабільного релізу).

Ruby 2.7 and the Compacting Garbage Collector — огляд Ruby 2.7 і compacting garbage collector, який розробляв Aaron Patterson.

Добірка від BigBinary про Rails 6

Традиційна добірка від BigBinary про всі оновлення в Rails 6:

Rails 6 reports object allocations made while rendering view templates

Rails 6 adds ActiveRecord::Relation#annotate

Rails 6 adds hooks to Active Job around retries and discards

Rails 6 adds support for Multi Environment credentials

Rails 6 adds before? and after? to Date and Time

Rails 6 adds Array#extract!

Добірка від Evil Martians

Ruby on Whales: Dockerizing Ruby and Rails development — докладний туторіал по розгортаю додатків на Ruby за допомогою Docker.

GraphQL on Rails: Updating the data — друга частина туториала з розробки додатків на GraphQL з Rails на бэкенде і React/Apollo на фронтенде. У цій частині йдеться про клієнтському кешуванні і способи оновлення даних.

GraphQL on Rails: On the way to perfection — третя і фінальна частина туториала, яка присвячена приведення коду у відповідність принципам DRY та усунення помилок.

Добірка від Daniel Doubrovkine

Asserting Existence with Mocha, Chai and TypeScript Strict Null Checks — тестування TypeScript коду з допомогою Mocha і Chai.

Handling of HTTP Headers in Grape with Rack and Rails — туторіал по обробці HTTP-заголовків у Grape на Rack і Rails.

Getting Started with Typescript — короткий туторіал для новачків в Typescript.

Туторіали

Example Gitlab Pipeline Configuration for Rails Projects — докладний туторіал з конфігурацією пайплайна Gitlab для проектів на Rails.

Brewing our own Template Lexer in Ruby — приклад імплементації lexer'а для темплейтів в Ruby.

Minimum viable example of calling Rust from Ruby without a gem — виклик Rust коду Ruby без використання гемов.

Setting up Application Performance Monitoring in DataDog in your Rails App — приклад налаштування моніторингу продуктивності програми в DataDog.

Benchmarking a page protected by a login with Apache Benchmark — туторіал по використанню HTTP бенчмаркінгу для додатків, захищених логіном.

Reading Ruby Metaprogramming inside Devise — складно уявити собі проект на Rails без використання Devise. У цьому туториале розглядається приклад метапрограммирования з гемом Devise.

Dissecting Code With Ruby's caller Method — інспектування коду Ruby за допомогою caller методу.

Handling deletes with Null Object Pattern in Ruby — автор ділиться досвідом обробки вилучень з допомогою Null Object Pattern на проекті, який приводили у відповідність з GDPR.

Ruby on Rails Developer Series: Spinning Up a JSON API in Minutes — приклад прискорення JSON API за лічені хвилини.

Kubernetes Deployments: The Ultimate Guide — докладний туторіал по деплою додатки з допомогою Kubernetes.

Геми

query_track — інструмент для відловлювання повільних SQL запитів.

tty-logger — красивий виведення тексту в термінал.

ahoy_email — збір аналітики поверх ActionMailer.

transproc — бібліотека для роботи з Ruby об'єктами у функціональному стилі.

time_calc — новий гем для операцій з часом в Ruby.

Послухати

Ruby Rogues

RR 422: Build Chatbot Interactions in Ruby with Daniel Pritchett — провідні подкасту обговорюють розробку чатботов з допомогою фреймворку Lita та інфраструктури Gremlin.

RR 421: Scaling and Shopify with Kir Shatrov — тема подкасту — досвід Shopify в масштабованості їх програми та планування потужностей.

RR 418: The Life and Death of a Rails App with Olivier Lacan — ведучі обговорюють проблему технічного боргу і чому важливо створювати легко підтримувані Rails-додатки.

RWpod

RWPod Кафе 10: D?vid Hal?sz — інтерв'ю з D?vid Hal?sz про його внесок в Rails-ком'юніті, роботі над open source проектами і його прийдешнє виступі на RubyC.

29 випуск 07 сезону. GraphQL on Rails, The Web can't Survive a Monoculture, Regexp-examples, Осгуд, Color Thief та інше

26 випуск 07 сезону. Rails 6 adds Array#extract!, Fuchsia Project, Sorbetting a gem, Black candy, Pixelmatch та інше

25 випуск 07 сезону. Fullstaq Ruby, Sorbet, time.cloudflare.com, Just, Ts-toolbelt, jExcel, Freezeframe.js та інше

Remote Ruby

Joined by Ernesto Tagwerker — в цьому епізоді провідні подкасту, Джейсон і Кріс, спілкуються з Ернесто Тагверкером — засновником Ombu Labs (агентства швидкої розробки програмного забезпечення) і Fast Ruby (оновлення Ruby on Rails). Разом вони обговорюють старт кар'єри в Ruby для новачків, оновлення Rails і багато іншого.

Joined by Piotr Solnica — подкаст з Piotr Solnica, творцем ROM і членом основної команди dry-rb про ідею ROM і dry-rb, про допомогу в складанні Hanami 2, змішуванні функціонального та об'єктно-орієнтованого програмування в Ruby і багато іншого!

Joined by Chris Arcand — епізод з Крісом Аркандом, старшим інженером в @HashiCorp, які створюють Terraform & Sentinel. Кріс ділиться тим, чого навчився, працюючи віддалено, і дає кілька порад для інтерв'ювання та роботи віддалено.

Ruby on Rails Podcast by 5by5

279: Scaling & Training Rails with Anand Dhillon — подкаст присвячений темі Domain-Driven Design і реалізації машинного навчання у Cover .

278: Introducing Sorbet: A Ruby Typechecker with Paul Tarjan — подкаст c Paul Tarjan, працюючим в Stripe над компонентами продуктивності та інфраструктури для розробників. Він є технічним керівником Sorbet, новим тайп-чекер для Ruby.

277: Caching GraphQL with Michael Kelly — подкаст c Michael Kelly, старшим інженером Stackshare і пристрасним open source помічником. Він є автором гема graphql-cache, плагін кешування для graphql-ruby.

276: Introducing ActionView::Component with Joel Hawksley — подкаст c Joel Hawksley, інженером-програмістом в GitHub, який очолює впровадження підтримки ActionView :: Component в ядро Rails.

Події

Rails Girls Dnipro 2019 — 6-7 вересня у Дніпрі відбудеться Rails Girls — безкоштовний дводенний воркшоп для дівчат, які мріють спробувати веб-розробку на Ruby on Rails. На воркшопі учасниці будуть створювати своє перше веб-додаток в парі з ментором, слухати мотиваційні виступи від Ruby/Ruby on Rails розробників та багато іншого. Подробиці і посилання на реєстрацію в івенті на Facebook .

RubyC — the biggest Ukrainian Ruby conference — щорічна конференція RubyC пройде 14-15 вересня в Києві. Лайнап спікерів вже визначений, а квитки варто взяти заздалегідь: залишилися пакети Late Birds.


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

Опубліковано: 09/08/19 @ 10:00
Розділ Різне

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

Як ми розробили функцію спільного написання листів email-клієнта Spark
DOU Hobby: Like A Local – прогулянки по Києву і екскурсії для гостей міста
Як розподілити вагу з розділів на категорії?
Як провести тестування на безпеку: керівництво для Manual QA
Якщо зміни, то глобальні, або Як я опинився в Люксембурзі