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

Похожие статьи:
В выпуске: как устроен .NET Standard, улучшение производительности .NET Core, правильное версионированние API, когда использовать async и await,...
Запрошуємо читачів, які працюють в IT і здобули або здобувають технічну освіту, заповнити анкету нашого щорічного опитування...
З 11 до 24 липня ІТ-армія вивела з ладу понад 750 російських онлайн-ресурсів, серед яких сайти, дотичні до міністерства...
Длительность курса: 120 академических часов (3 месяца): 3 занятия в неделю по 3 часа График занятий: вторник, четверг —...
Обшуки в MacPaw стали резонансною подією, до якої критично поставилася не лише IT-спільнота, а й представники влади....
Яндекс.Метрика