RubyGems Digest 2020·09

Большая подборка информации о библиотеках языка Ruby за сентябрь 2020 года. Новости, включая русскоязычные источники. А так же полезные мнения и опыт разработки.

tar31zs8iw9b3e2ms3ypp2d3ugo.png

Новости


Вышел Ruby 3.0.0 Preview 1. В нём добавляются статическая типизация RBS, улучшение производительности с помощью MJIT, параллельные вычисления на модели акторов с помощью Ractor, планировщик для перехвата блокирующих операций и другое. Новую версию уже можно попробовать в Docker.

imageoeffliqshw1glzzbz-3v9_mft0g.png 4–5 сентября прошла японская конференция RubyKaigi Takeout 2020. Многие доклады представлены на английском. Больше ссылок на видео — ниже, в Полезных материалах.

8 сентября прошла итальянская конференция RubyDay 2020.

12–13 сентября прошла украинская конференция RubyC 2020.

В Rails 6.1 добавляется опция --minimal.

В Ruby 2.8 будет добавлен новый однострочный синтаксис объявления методов (без слова end)

imagep-ukuqneqk4dhcimfvdbq0x5cp4.pngRWpod 35 выпуск
В Ruby добавляется экспериментальная поддержка правостороннего присваивания
В Rails добавляется поддержка сохранения часовых поясов для ActiveJob
Система тестов II: надежное браузерное Rails-тестирование с помощью SitePrism

imagep-ukuqneqk4dhcimfvdbq0x5cp4.pngRWpod 36 выпуск
Sinatra v2.1.0
В класс Symbol добавят метод name для получения неизменяемой строки с именем символа
Вышли Rails 5.2.4.4 и Rails 6.0.3.3
Написание web-сервера на основе Ractor

imagep-ukuqneqk4dhcimfvdbq0x5cp4.pngRWpod 37 выпуск
В Ruby добавляется пересылка списка аргументов с выделением ведущих аргументов
Мы сделали Puma быстрее с помощью Sleep Sort
Rails Concerns: использовать Concern или нет

imagep-ukuqneqk4dhcimfvdbq0x5cp4.pngRWpod 38 выпуск
Вышел Ruby 3.0.0 Preview 1
В Rails 6.1 объявляются устаревшими команды rails db: structure: dump и rails db: structure: load
В Ruby объявляется устаревшим класс DateTime

Новинки


t-xhqqekquqr3nosk_tg264y4nc.pngClassy Hash 1.0.0 — валидатор схем для хэшей

t-xhqqekquqr3nosk_tg264y4nc.pngCloudflare: Rails 1.0.0 — библиотека для правильной настройка Rails для CloudFlare

Новые версии


Puma 5.0.0 — HTTP-сервер для Ruby/Rack-приложений.

Browser 5.0.0 — определитель браузера, включает интеграцию с ActionController.

Airbrake 11.0.0 — онлайн инструмент для отслеживания исключений в приложениях.

docker-api 2.0.0 — гем, предоставляющий объектно-ориентированный интерфейс для Docker Engine API

Couchbase Ruby Client 3.0.0 — клиент для Couchbase

Coverband 5.0.0 — измерение использования кода на продакшене со счетчиком для каждой строки.

Castle-rb 5.0.0 — защита аккаунтов от взлома.

Foreman-tasks 3.0.0 — движок управления задачами для системы управления инфраструктурой Foreman

Blocks 4.0.0 — библиотека для работы с блоками MVC-представлений

Hawkular Client 5.0.0 — клиент для инструментария мониторинга Hawkular

Waterdrop 2.0.0 — библиотека для простой отправки сообщений в Kafka с валидацией

Ruby-bandwidth 3.0.0 — интеграция с сервисом звонков и сообщений Bandwidth

Rgeo-shapefile 3.0.0 — компонент для чтения файлов геопространственных данных библиотеки RGeo

Stripe-rails 2.0.0 — движок для интеграции с платежной инфраструктурой Stripe

Обновления


StimulusReflex 3.3.0 — frontend-библиотека для создания современных реактивных real-time приложений на привычном Ruby on Rails

Webpacker 5.2.0 — надстройка над webpack для управления Javascript-модулями в Rails-приложениях.

Sinatra 2.1.0 — DSL для создания web-приложений.

Rack: Protection 2.1.0 — защита от распространненых способов web-атак.

Unicorn 5.7.0 — HTTP-сервер с Rack-интерфейсом

Haml 5.2.0 — шаблонизатор для HTML.

WebMock 3.9.0 — библиотека для заглушек и установки ожиданий на HTTP-запросы в Ruby.

Rack-mini-profiler 2.1.0 — профайлер, замеряющий скорость отображения каждой страницы

New Relic Ruby Agent 6.13.0 — агент New Relic для мониторинга производительности.

Faker 2.14.0 — порт Perl-библиотеки Data: Faker для генерации фейковых данных

Bunny 2.17.0 — клиент для RabbitMQ.

Ruby_parser 3.15.0 — парсер языка Ruby написанный на чистом Ruby, позволяющий преобразовывать код в изменяемые s-выражения.

Brakeman 4.10.0 — сканер уязвимостей, преимущественно для Ruby on Rails

Active Admin 2.8.0 — фреймворк для создания админки к вебсайту

Regexp: Parser 1.8.0 — библиотеки для токенизации, парсинга и преобразования регулярных выражений

RuboCop Rails 2.8.0 — автоматический контроль соглашений по наилучшему стилю кода в Rails-приложениях

Groonga-command 1.5.0 — библиотека команд для системы поиска Groonga

Kiba 3.5.0 — легковесная ETL для Ruby

Arbre 1.3.0 — DSL для описания HTML

iCalendar 2.7.0 — библиотека для работы с календарем в формате iCalendar

Gon 6.4.0 — получение Rails-переменных в Js-коде

Ancestry 3.2.0 — организация записей в ActiveRecord в древовидной структуре

hamlit 2.13.0 — высокопроизводительная реализация Haml

Scientist 1.5.0 — библиотека для осторожного рефакторинга критических участков кода

Grape-swagger 1.3.0 — автогенерация документации для API на Grape

Invisible Captcha 1.1.0 — библиотека для защиты приложения от спам-ботов

Down 5.2.0 — инструмент для гибкого, потокового и безопасного скачивания удаленных файлов

Racecar 2.1.0 — дружественный фреймворк для Kafka-обработчиков

Travis 1.10.0 — консольный клиент и библиотека для Travis CI

March_hare 4.3.0-java — RabbitMQ-клиент для JRuby созданный на основе официального клиента для Java

Rpush 5.1.0 — сервис push-уведомлений

Unicode: Emoji 2.6.0 — библиотека для сопоставление юникод-текста с эмодзи

karafka 1.4.0 — фреймворк для работы с Kafka

Lita 4.8.0 — чат-бот с плагинами для различных чат-сервисов

Closure Tree 7.2.0 — простая и эффективная реализация иерархии в ActiveRecord-моделях

pusher-fake 2.2.0 — имитация Pusher-сервера для разработки и тестирования

Leaflet-rails 1.7.0 — привязка фронтенд библиотеки географических карт leaflet.js к Rails

Rails Multisite 2.5.0 — обеспечение нескольких баз данных для Rails-приложений

Ibandit 1.2.0 — библиотека для проверки и действий с IBAN

Blind Index 2.2.0 — безопасный поиск в зашифрованных полях базы данных

Validators 3.4.0 — дополнение некоторых полезных ActiveModel/ActiveRecord валидаторов

Signalfx 3.1.0 — клиент для сервиса мониторинга SignalFx

Полезные материалы


image Компания Evrone провела марафон кейсов, часть из которых посвящена Ruby или связана с ним.
imageКлючевые идеи из интервью с создателем Ruby on Rails (а так же полный текст imageинтервью с Дэвидом Ханссоном на русском).
imageМедиа-портал на Ruby-движке
imageVexor — что нужно знать, если создаёте продукт для разработчиков?
imageСвязываем обычные и криптовалюты с Cryptopay
imageОцифровываем консультанта с планшетом
imageWork&Play — превращаем мотивацию персонала в игру
imageQuiv — конвертируем знания в помощь благотворительным фондам
imageАйдентика конференции RubyRussia

imagebvn3ce5hflnbd7nfz-w4qyl6ikc.pngПрограммирование только классами

Реактивное Rails-приложение со StimulusReflex

Вышел StimulusReflex v3.3

Переход с JavaScript на Ruby

imageoeffliqshw1glzzbz-3v9_mft0g.pngПришло время запускать Ruby в Web через WebAssembly?

imageoeffliqshw1glzzbz-3v9_mft0g.pngПочему и как транспилировать Ruby?

imageoeffliqshw1glzzbz-3v9_mft0g.pngУскорение работы Rack и Rails с TruffleRuby

imageoeffliqshw1glzzbz-3v9_mft0g.pngРазработка Dreamcast-приложений и игр на mruby

Когда разработка на Ruby on Rails — правильный выбор?

Почему Ruby on Rails по-прежнему хороший выбор для разработки в 2020 году?

Параллельные вычисления в Ruby 3 preview

Синтаксис Set в Ruby 3

Денежные расчеты в Ruby

11 частых вопросов по RubyCop

p-ukuqneqk4dhcimfvdbq0x5cp4.pngПовышение производительности с Ruby 3.0 JIT

Профилирование — очевидный шаг после замеров производительности вашего кода

Сложность ActiveRecord-транзакций

В процессе деконструкции: состояние монолита Shopify

imagedry-system — для чего? от ручного перечисления зависимостей к полномасштабной архитектуре

imageРазработка через тестирование, мой упрощенный подход

Разница при тестировании между Mocks, Stubs и Spies

5 лучших библиотек для тестирования для создания приложений на Ruby on Rails

Написание хороших пояснений к тестам

Композиция функций: Python vs Ruby

p-ukuqneqk4dhcimfvdbq0x5cp4.pngРазделяем монолит

Современные альтернативы командной строки

Введение в паттерны и антипаттерны Ruby on Rails

Наиболее распространенные ошибки в разработке на Ruby on Rails (и как их избежать)

Непрерывная интеграция для Ruby

Управление RubyGems и Bundler с помощью Ansible

Автоматизация подготовки и развертывания Rails-сервера с помощью Ansible и Capistrano

Что нового в Sidekiq, выпуск 2020

imageКонтрибьютинг в Тор

Советы и приемы защиты вашего приложения от ссылочных уязвимостей

10 лучших технических подкастов (по выбору Rails-сообщества)

Объяснение принципов SOLID на примерах

Наиболее полезные библиотеки для API на Ruby on Rails

Предыдущий Ruby Digest

© Habrahabr.ru