Ruby дайджест #41: релиз Ruby 3.0.0, JIT, Pattern Matching, Ractor, Rails 6.1, RuboCop 1.0
В выпуске: обзор возможностей, обсуждение и тесты новой версии 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.
Релизы
Статьи и туториалы
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 — туториал по созданию
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
RWPod
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
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів