Ruby дайджест #41: релиз Ruby 3.0.0, JIT, Pattern Matching, Ractor, Rails 6.1, RuboCop 1.0

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

В выпуске: обзор возможностей, обсуждение и тесты новой версии Ruby 3.0.0, релиз Rails 6.1 и RuboCop 1.0.

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

Ruby 3.0.0

The Official Ruby 3.0 Release Post — официальный пост с изменениями, представленными в версии 3.0.

Ruby 3×3: Ruby 3 will be 3 times faster — обзор достижения цели 3×3 от AppFolio.

The list of Ruby 3 features — поверхностный обзор новых возможностей Ruby 3.0 для начинающих.

How Fast is Ruby 3 on Rails? — тест пропускной способности Rails на разных версиях Ruby.

Ruby 3 Pattern Matching Applied — серия статей об использовании Pattern Matching на примере создания простых игр.

IRB’s Built-in Measure — с релизом Ruby 3.0 добавлена команда measure в IRB.

Everything You Need to Know About Destructuring in Ruby 3 — работа с хэшами и массивами через Pattern Matching.

Ruby 3.0 JIT and beyond — обзор реализации и возможностей JIT.

Writing a Ractor-based web server — использование Ractor на примере написания простого веб-сервера.

How Fast are Ractors? — тестирование производительности абстракции Ractor.

Rails 6.1

Rails 6.1: Horizontal Sharding, Multi-DB Improvements, Strict Loading, Destroy Associations in Background, Error Objects, and more! — официальный пост о релизе 6.1.

Rails 6.1 adds support for belongs_to to has_many inversing — добавлена возможность использовать метод inverse_of для belongs_to и has_many ассоциаций.

Rails 6.1 allows per environment configuration support for Active Storage — настройка ActiveStorage под разные окружения.

RuboCop 1.0

Спустя 7 лет разработки проект наконец-то дошел до версии 1.0.


Rails 6.1

Ruby 3.0

RubyGems 3.2.6

OmniAuth 2.0

Puma 5.1

JRuby 9.2.14

Stimulus 2.0

Статьи и туториалы

Testing Objects with a Functional Mindset — тестирование объектов с помощью RSpec, используя функциональные подходы.

How to Use Mixins and Modules in Your Ruby on Rails Application — использование миксинов и модулей в Rails-приложении.

Testing Child Processes in Ruby — тестирование дочерних процессов через RSpec.

Ruby Graceful Application Shutdown with SignalException and SIGTERM — обработка завершения процесса в Ruby через сигналы.

Rails request cycle explained — как обрабатываются запросы в Rails на уровне Rack Middleware.

Moving my serverless project to Ruby on Rails — опыт перехода с serverless-архитектуры на Rails.

Error handling with Monads in Ruby by Vitaly Pushkar — обработка ошибок с помощью монад.

Benchmarking JSON Parsers (OJ, SimdJson, FastJsonParser) — сравнение производительности JSON-парсеров.

RBS, duck-typing, meta-programming, and typing at httpx — примеры использования новых возможностей Ruby 3.0 при создании HTTP клиента.

The art of errors — набор паттернов для обработки ошибок в Ruby.

Create command line application with Ruby available via Homebrew — туториал по созданию CLI-утилиты на Ruby, совместимой с Homebrew.

Counting things in Active Record — разница работы методов .size?, .count?, .length в ActiveRecord.

How I set up a Rails application for testing — настройка тестового окружения в Rails.

Let’s talk about three myths about why Ruby isn’t faster than it is — разбор популярных мифов, почему Ruby считают медленным.

Read-Only Mode For Better Rails Downtime — использование read-only соединений в ActiveRecord.

Everything You Ever Wanted To Know About View Caching In Rails — разбор кеширования View-части в Rails.

Rails multitenancy story in 11 snippets of code — 11 приемов при разработке multitenancy приложения.


Ruby Rogues

RUBY 476: SQL, Arel and the Dark Side of ActiveRecord with Eric Hayes

RUBY 477: Black-Belt Debugging with Chelsea Troy

RUBY 478: 2020 Ruby on Rails Community Survey Results

RUBY 479: Mistakes Were Made with Jesse Spevack

RUBY 480: The Sounds of Silence: Lessons From an API Outage with Paul Zaich

RUBY 481: Why We Worry About All the Wrong Things with Hilary Stohs-Krause

RUBY 482: Successfully Onboarding a Junior Engineer in Three Steps with Emily Giurleo

RUBY 483: Unlocking the Power of Functional Programming and Elm with Richard Feldman


47 выпуск 08 сезона — Static Typing for Ruby, How Fast are Ractors?, Back/forward cache, Lib-ruby-parser, Etebase, Zettlr и прочее.

48 выпуск 08 сезона — Stimulus 2.0.0, Snowpack v3.0, Incremental vs Virtual DOM, OmniAuth::Apple, WMR, Firetable и прочее.

49 выпуск 08 сезона — Ruby 3.0.0 Preview 2, Rails 6.1, Prettier 1.0 for Ruby, Web Almanac 2020, JSitor, Copy Guard и прочее.

50 выпуск 08 сезона — Ruby 3.0.0 RC1, Kubernetes 1.20, HashiCorp Nomad 1.0, Moiva, Visly, Owncast, Blob Opera и прочее.

51 выпуск 08 сезона — Ruby 3.0.0, Hotwire, JavaScript Frameworks, Performance Comparison 2020, Dann.js и прочее.

01 выпуск 09 сезона — The future of Traveling Ruby, Front-end predictions for 2021, The State Of CSS 2020 и прочее.

02 выпуск 09 сезона — State of JS 2020, Ruby on Google Cloud Functions, Altair GraphQL Client, Compiled и прочее.

Ruby on Rails Podcast by 5by5

#347: The Southwest Airlines of File Uploading with Colleen Schnettler

#348: Chef Acquired and Leading from the Front (Brittany & Nick)

#349: From Air Traffic Controller to Tech Lead with John Cech

#350: A Diverse Array of New Voices with Starr Horne

#351: Educating on Speed from the CLI with Nate Berkopec

#352: Haml Sparks Joy with Hampton Lintorn Catlin

#353: Hanami 2.0 with Tim Riley

#354: Rails Committer Heavy Hitter with Rafael França

Предыдущие выпуски.

До обраногоВ обраному3
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Очень толковый обзор, большое спасибо !

HotWire заслуговує окремого пункту!

Підписатись на коментарі