Ruby digest #81: Ruby 3.3.6 Released, Rails 8.0: No PaaS Required, Pagy та багато іншого
Привітання, поважна аудиторіє! Раді повернутися та поділитися з вами свіжими новинами зі світу Ruby та Rails.
Новини
Ruby 3.3.6 Released — вихід нової версії Ruby 3.3.6, яка містить важливі виправлення безпеки та багфікси.
Rails 8.0: No PaaS Required — нові можливості Rails 8, які дають змогу розгортати застосунки без використання сторонніх PaaS-платформ, завдяки вбудованим інструментам для хостингу та керування сервером.
Корисне
skryukov/turbo-mount — використовуйте React, Vue, Svelte та інші компоненти з Hotwire.
tilo/smarter_csv — Ruby-гем для зручного читання та запису файлів CSV.
honeybadger-io/festive_errors — додайте трохи святкового настрою на сторінку помилок Rails.
micke/valid_email2 — ActiveModel валідація для електронної пошти. Включно з пошуком за MX та одноразовим чорним списком імейлів.
Pagy — нововведення у Pagy 9.0 для ефективної пагінації в Rails, включно з покращенням продуктивності та новими опціями конфігурації.
didww/credit_card_validations — гем для перевірки номерів кредитних карток, генерації дійсних номерів, чеків Luhn.
rmm5t/strip_attributes — розширення ActiveModel, яке автоматично видаляє пробіли з усіх атрибутів перед валідацією.
ManageIQ/optimist — це парсер командних опцій для Ruby, який спрощує обробку параметрів командного рядка.
ruby-amqp/hutch — система обробки повідомлень з RabbitMQ.
jrochkind/attr_json — дає змогу зберігати та обробляти серіалізовані атрибути ActiveRecord у JSON-колонках бази даних, підтримуючи типізацію, вкладені моделі та валідацію.
excid3/refer — реферальні коди для Ruby on Rails застосунків.
fnando/browser — виявлення браузерів за допомогою Ruby.
excon/excon — швидкий і простий HTTP-клієнт для Ruby, оптимізований для роботи з API.
danini-the-panini/mittsu — Ruby-бібліотека для роботи з 3D-графікою.
Статті й туторіали
Remove dead code in Ruby on Rails applications — способи виявлення та видалення «мертвого» коду в Ruby on Rails застосунках, щоб підвищити продуктивність і підтримуваність проєкту.
What is Rack — стаття пояснює, що таке Rack в Ruby, як він працює та яку роль відіграє у побудові вебзастосунків на Rails.
Zero-downtime with Rails credentials — як перейти від використання змінних середовища до більш безпечного зберігання секретів у Rails за допомогою Rails credentials.
Rails 7.1 Added Support For Array#intersect? To ActiveRecord::Relation — у Rails 7.1 додано метод intersect?, який дозволяє перевіряти, чи мають два запити спільні елементи.
How we made a Ruby method 200x faster — як оптимізувати метод на Ruby, збільшивши його швидкість у 200 разів завдяки змінам в алгоритмі та використанню вбудованих методів мови.
Streaming Rack with Falcon — оптимізація продуктивності Ruby on Rails застосунків через використання стрімінгових відповідей у Rack для покращення швидкості завантаження сторінок.
Rails’ Partial Features You (didn’t) Know — використання partials у Ruby on Rails, їхні можливості та способи оптимізації коду для покращення читабельності та продуктивності застосунку.
Elixir-like pipes in Ruby (oh no not again) — у статті розглядається ідея впровадження в Ruby pipe-оператора, подібного до Elixir, для покращення читабельності та спрощення обробки даних.
Maintainer Role — RubyGems.org запровадив роль «мейнтейнера», яка дозволяє публікувати нові версії гемів, але не дає доступу до зміни дозволів чи додавання інших учасників, що створює безпечніше управління доступом до проєктів.
Securing Ruby’s Future: How Ruby Central is Strengthening Security — Ruby Central спільно з Shopify запустила проєкт Ruby Shield для покращення безпеки інфраструктури Ruby та Rails, забезпечення стабільності RubyGems.org тощо.
Rack for Ruby: Socket Hijacking — як у Ruby можна створити базовий HTTP-сервер із використанням Rack та як за допомогою інтерфейсу Rack можна налаштувати взаємодію між сервером і вебфреймворками.
Inheritance with Stimulus Controller — реалізація наслідування в Stimulus Controllers для спрощення повторного використання коду в проєктах на Ruby on Rails.
Rails 7.2 Added Support For Explain Method To ActiveRecord::Relation — у Rails 7.2 додано підтримку методу explain для ActiveRecord::Relation, що дозволяє розробникам отримувати SQL-запити та їхні плани виконання для цих операцій.
Implementing Passwordless Authentication with WebAuthn in Rails — використання WebAuthn для реалізації автентифікації без паролів у Ruby on Rails.
Server-sent Events and WebSockets in Rack for Ruby — використання Server-Sent Events (SSE) та WebSockets у Rack для Ruby застосунків.
Ruby Evolution — стаття описує еволюцію мови Ruby, висвітлюючи ключові зміни та вдосконалення у різних версіях.
Decoupling for Orthogonality in Ruby on Rails: Why It Matters — як декомпозиція та зменшення залежностей між компонентами Ruby on Rails застосунків підвищує ортогональність, спрощуючи тестування, повторне використання коду та його подальші зміни.
Rails 8 Allows drop_table To Accept An Array Of Table Names — нова можливість у Rails 8, яка дає змогу використовувати масив імен таблиць у методі drop_table для спрощення видалення кількох таблиць.
Цікаве відео — Rails 8: The Demo
Подкасти
Drifting Ruby
Кафе RWpod
- Rails 8.0.0, Next.js 15, Svelte 5, HexaPDF 1.0.0, Medusa v2.0 та інше
- Vite 6.0, Redmine 6.0.0, vlt, Promise.try, Lexical, Component Party, WebVM 2.0 та інше
Remote Ruby
- RubyGems & Ruby Central with Marty Haught
- Solid Cable with Nick Pezza
- Ruby Developer Experience with Vini Stock
Ruby Rogues
- Inertia.js — The Modern Monolith with Jonathan Reinink — RUBY 659
- Kamal and Docker: Efficient Application Deployment Strategies — RUBY 660
- Embracing Human Factors and Rapid Development in Ruby on Rails Systems — RUBY 661
The Ruby on Rails Podcast
- Episode 527 Evangelizing Rails with Irina Nazarova
- Episode 528 Working In Tech With ADHD with Chris Ferdinandi
2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів