Ruby/Rails дайджест #30: релиз Ruby 2.7.0-preview1, видео докладов с конференции RailsConf 2019, производительность JIT

Дайджест был создан в соавторстве с Мариной Завийбородой, Copywriter в RubyGarage.

Всем привет! Начнём с того, что вышла preview1 версия Ruby 2.7.0, включающая улучшения JIT и экспериментальный Pattern Matching. Команда Appfolio опубликовала сравнение производительности Ruby c JIT и без. На канале Confreaks появился плейлист видеодокладов с конференции RailsConf 2019.

Тренды в сообществе Ruby

  • Stripe анонсировали Sorbet — type checker для Ruby.
  • Доклад от Takashi Kokubun о приросте производительности в Ruby 2.7 благодаря имплементации JIT.

Релизы

Ruby 2.7.0 preview1 — первая preview версия Ruby 2.7.0

Active Admin 2.1.0 — новый релиз фреймворка Active Admin

dry-validation 1.0.0 — гем был полностью переписан поверх dry-schema

Почитать

Ruby 2.7 adds shorthand operator for Object#method — в Ruby 2.7 добавлен экспериментальный shorthard оператор.

Rails 6 boot sequence — автор рассказывает, что происходит, когда вы запускаете команду rails s.

A Simpler Rails Benchmark, Puma and Concurrency — анонс rsp — простого Rails-приложения с множеством запросов и версий Ruby, с которыми оно может быть протестировано.

Watch Out For nil in Ranges — использование nil в Range.

Enhanced Shell Scripting with Ruby — детальный обзор по написанию кода на Ruby, взаимодействующего с командной строкой.

Direct instruction marking in Ruby 2.6 — Aaron Patterson рассказывает о снижении потребления памяти в Ruby 2.6 с технической стороны.

Don’t Email From Active Record Callbacks — автор рекомендует не использовать ActionMailer из ActiveRecord моделей.

Stimulus and RxJS for an SPA Like Experience — опыт построения SPA на базе RxJS и Stimulus.

How Sinatra Works — разбор того, как устроен гем Sinatra и гайд по написанию подобного DSL с нуля.

Подборка от Bozhidar Batsov

A Modular RuboCop — автор рассказывает о будущем развитии гема Rubocop.

Цикл статей Weird Ruby:

Подборка от BigBinary

Продолжение цикла статей о нововведениях в Rails 6:

Туториалы

Instrumenting Ruby on Rails with Prometheus — интеграция Prometheus в Rails-приложение.

How to setup Ruby Object Mapper (ROM) for standalone project — как настроить ROM без использования сторонних фреймворков.

Nested Forms from Scratch with StimulusJS — разработка форм с нуля на фреймворке StimulusJS.

How to use Action Mailbox in Rails 6 — видеогайд по использованию ActionMailbox в Rails 6.

Serverless Ruby on AWS Lambda with the Jets framework — использование Jets фреймворка и AWS Lambda.

How to Play MP3 Files With Ruby, VLC & The FFI Module — обзор инструментов для работы со звуковыми файлами в Ruby.

Implementing authentication with Auth0 and Rails 6 — аутентификация с помощью сервиса Auth0 в Rails 6.

Гемы

blab — утилита для мониторинга потребления памяти.

factory_trace — инструмент для поддержки фабрик FactoryBot.

RouteTranslator — гем, позволяющий сгенерировать роуты для локализации приложения.

httplog — конфигуригование логов для исходящих HTTP запросов.

FEEDI — приложение с открытым исходным кодом, позволяющее конвертировать RSS feed в REST API.

clear_logic — базовый сервис для написания бизнес-логики вашего приложения.

Послушать

RWpod

Ruby Rogues

  • RR 411: What Causes Ruby Memory Bloat with Hongli Lai — что становится причиной такого феномена, как memory bloat (переполнение памяти), как его выявить и как решить данную проблему.
  • RR 412: Asynchronous Jobs on Client Side and Server Side — авторы подкаста обсуждают разницу между asynchronous jobs на стороне клиента и сервера, а также use-кейсы для каждого типа asynchronous jobs.
  • RR 413: When Your Tools Interrupt Your Coding Process — слишком много инструментов, подключенных в коде, могут создавать проблемы. Авторы подкаста пытаются выяснить, стоит ли отключать дополнительные инструмента, чтобы оптимизировать процесс разработки.
  • RR 414: Docker Talk — все о Docker: его применение, место Docker в цикле разработки ПО, когда этот инструмент может быть полезнее всего.
  • RR 416: Warden/Devise/OSS with Leonardo Tegon — в подкасте авторы сравнивают известные и полезные гемы: Warden и Devise, а также один из разработчиков Devise, Leonardo Tegon, рассказывает о новых фичах, которые планируются в геме Devise.

Ruby on Rails Podcast 5by5

Remote Ruby

Remote Ruby — это подкасты от двух разработчиков Chris Oliver and Jason Charnes обо всем, что интересует Ruby/Ruby on Rails программиста: от последних событий в мире Ruby до вопросов карьеры:

  • Joined by Josh Wood — подкаст с Josh Wood, co-founder в Honeybadger.io про его опыт в программировании и фрилансе, создании Honeybadger и немного о смысле жизни :)
  • Joined by Lee Richmond — подкаст с Lee Richmond, Ruby on Rails разработчиком из Bloomberg. В подкасте сравнивают Graphiti и GraphQL, а также инструменты вроде Vandal и Spraypaint.
  • Live with Justin Searls — интервью с Justin Searls, co-founder в Test Double о его карьерном развитии, стартапе Test Double и использовании iPad для разработки.
  • A Quick RailsConf Recap, Finding Time to Learn, and Madmin — обсуждение одного из самых значимых событий года, Rails Conf 2019.

События

RubyC — the biggest Ukrainian Ruby conference — несмотря на то, что конференция RubyC заявлена на 14-15 сентября, лучше поторопиться и купить билеты заранее. В этом году среди спикеров — Aaron Cruz, Aleksander Dąbrowski, Walerian Sobczak и другие.

Касательно тем/материалов/ивентов, которые стоит добавить в следующий выпуск дайджеста, пишите в комментариях или на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. . Спасибо за помощь в подготовке дайджеста команде RubyGarage.


← Предыдущий выпуск: Ruby дайджест #29

Похожие статьи:
Я интересуюсь образованием давно. Сколько себя помню, все время где-то училась: кроме школы были кружки, кроме КПИ — Гете-институт,...
Современная IT-отрасль меняется и развивается настолько быстро, что просто физически не успеваешь за ней. Ограниченные в своих...
There is a tussle at the top of the headphone market as Sennheiser and Bose battle to become market leader as we kick off 2019. Sennheiser and Bose offer truly excellent headphone products that offer a revolutionary sound...
У дев’ятому випуску рубрики «Що має знати Senior» розглядаємо вакансії Senior Android Developer, опубліковані на DOU у вересні...
ASP.NET MVC Developer — это специалист, который занимается web backend разработкой с использованием технологий .NET. Спрос...
Яндекс.Метрика