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 Rails and 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, Osgood, 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

Похожие статьи:
Смартфон Oppo F1 Plus должен стать вариантом аппарата Oppo F1, но до сегодняшнего дня не было наверняка известно, в чем именно будут его отличия....
Всем привет! Это 10-й по счету, юбилейный выпуск BA дайджеста, в котором собрал для вас лучшие материалы из тех, что удалось просмотреть....
За останні три роки зросла кількість айтівців, які мають другу роботу, причому частіше вони за кордоном. Ми проаналізували, скільки...
Компания J’son & Partners Consulting представила краткие результаты обновленного исследования рынка OSS/BSS-систем для телекоммуникационных...
Наприкінці лютого Мінцифри повідомило, що уряд підтримав їхню ініціативу щодо встановлення квоти на імміграцію 5000 іноземних...
Яндекс.Метрика