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:
- Weird Ruby: Single-quoted Heredocs
- Weird Ruby: Block Comments
- Weird Ruby: Zeroing in on a Couple of Numeric Predicates
- Weird Ruby: Positive and Negative Strings
- Weird Ruby: Double Negation
Подборка от BigBinary
Продолжение цикла статей о нововведениях в Rails 6:
- Rails 6 adds if_not_exists option to create_table
- Rails 6 allows spaces in postgres table names
- Rails 6 adds private option to delegate method
Туториалы
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
- 18 выпуск 07 сезона. Babylon.js 4.0, Electron 5.0.0, Rails 6: B-Sides and Rarities, Procodile, Shiba, Wasmer, Shimport и прочее
- 19 выпуск 07 сезона. GitHub Package Registry, Opal 1.0, React Native for Windows, Hybrid Lazy Loading, Hybrids, Cssfx.dev и прочее
- 20 выпуск 07 сезона. RubyKaigi 2019: A speaker’s report, JAMstack, Svelte 3, Storeon, Blueprint, Ant Design, Ola и прочее
- 21 выпуск 07 сезона. Weird Ruby, WebAssembly at eBay, A Modular RuboCop, Mittsu, Tornis, V8n, Is-incognito-mode и прочее
- 22 выпуск 07 сезона. Ruby 2.7.0-preview1, Angular 8, Dependabot is joining GitHub, Phonelib, Graphsrb, Xstyled, Zdog и прочее
- 23 выпуск 07 сезона. macOS to Remove Having Ruby Installed by Default, Optional Chaining for JavaScript, React Spring и прочее
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
- #273: GraphQL Migration: A Use Case for Metaprogramming with Shawnee Gao — подкаст с Shawnee Gao о ее опыте в метапрограммировании и GraphQL.
- #271: MEGA Railsconf 2019 Recap with Chris Oliver — интервью с Chris Oliver, создателем GoRails, в основном посвященное Rails Conf 2019 и другим темам, например, возможной дате релиза Rails 6.
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 заявлена на
Касательно тем/материалов/ивентов, которые стоит добавить в следующий выпуск дайджеста, пишите в комментариях или на Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. . Спасибо за помощь в подготовке дайджеста команде RubyGarage.
← Предыдущий выпуск: Ruby дайджест #29