Ruby/Rails дайджест #25: релиз Ruby 2.6.0, график выпуска Ruby on Rails 6 и материалы о поддержке Ruby на AWS Lambda

С Новым годом и Рождеством, друзья!

Этот праздничный дайджест хочу начать с краткого обзора наиболее важных событий и релизов в мире Ruby/Rails.

Конечно, в дайджесте вы найдете и свежие материалы за декабрь. Несмотря на рождественские и новогодние праздники, сообщество Ruby выкатило множество релизов, в том числе стабильную версию Ruby 2.6 с JIT-компилятором и Ruby on Rails 5.2.2. В 2019 году выйдет Ruby on Rails 6 — обязательно посмотрите график его релиза. Также не пропустите подборку материалов о поддержке Ruby на сервисе AWS Lambda.

Еще спешу поделиться с вами новостью — с января автором и редактором дайджеста станет Кирилл Шевченко, Ruby/JS разработчик в RubyGarage и автор технического блога. Смело задавайте вопросы Кириллу и предлагайте идеи, как улучшить дайджест в комментариях.

А теперь давайте смотреть, чем же запомнился ушедший год?

Топ 2018

В начале годы вышла первая preview-версия Ruby 2.6, а в конце декабря состоялся релиз стабильной версии Ruby 2.6 с JIT-компилятором.

Ruby 2.2 больше не поддерживается разработчиками.

В апреле команда разработчиков Ruby on Rails представила версию 5.2 самого популярного фреймворка на Ruby.

Вышла версия v1.2.0 Ruby-фреймворка Hanami.

Состоялся релиз версий 2.0.2 и 2.0.3 фреймворка Sinatra.

Проект Paperclip больше не поддерживается разработчиками компании thoughtbot.

DHH представил фреймворк Action Text для Ruby on Rails 6.

Популярный тест-фреймворк RSpec был обновлен до версии 3.8.

Команда разработчиков GitHub обновила приложение до Rails 5.2.1.

JRuby — популярный интерпретатор языка Ruby — теперь совместим с Ruby 2.5.

Почитать

Timeline for the release of Rails 6.0 — график релиза фреймворка Ruby on Rails 6.

Introducing Action Mailbox for Rails 6 — что такое фреймворк Action Mailbox, который войдет в Ruby on Rails 6.

Ruby 2.6 JIT — Progress and Future — о настоящем и будущем JIT-компилятора в Ruby 2.6.

Ruby Memoization and Alternatives — когда использовать мемоизацию в Ruby и какие альтернативы существуют.

Announcing Ruby build support for AWS SAM CLI — в инструмент AWS SAM CLI официально добавлена поддержка Ruby.

Using Scenic and SQL views to aggregate data — как использовать гем Scenic для работы с SQL views.

Check and Update a URL with Ruby — простой способ актуализировать старые URL с помощью Ruby.

Big on Heroku: Scaling Fountain without losing a drop — советы от Evil Martians по масштабированию приложения на Heroku.

Meet Stealth 1.1 — что нового в версии Stealth 1.1 — фреймворка для создания чатботов .

Recursion, Tail Call Optimization and Recursion — как оптимизировать хвостовую рекурсию в Ruby.

How to Reduce Memory Usage by Tuning Gemfile — как настроить Gemfile, чтобы снизить использование памяти в приложении на Rails.

Juggling Chainsaws at Machu Picchu: Metaprogramming in Ruby — автор показывает, как использовать метапрограммирование в Ruby.

Polymorphic Routes — освежаем в памяти, что такое polymorphic routing в Ruby on Rails.

Displaying, downloading and streaming files with Active Storage — полезная шпаргалка по использованию Active Storage в Rails.

Boosting the Development Environment with Vagrant and Ansible — как оптимизировать среду разработки с помощью Vagrant и Ansible.

A Weird and Wonderful Trip through Ruby’s Standard Library — обзор малоизвестных возможностей стандартной библиотеки Ruby.

Keeping your schema close to you with the ’annotate’ gem — как легко получить информацию о схеме базы данных при помощи гема Annotate.

Inheritance and Define_method — How to Make Them Work Together — как использовать наследование и метод define_method при помощи метапрограммирования.

Disassembling Rails — Template Rendering (2) — автор показывает, как фреймворк Ruby on Rails обрабатывает шаблоны.

Destroying an Association Marked as Read-Only in Rails — автор описывает интересный случай использования метода destroyed_by_association в Rails.

Benchmark: Deep directory structure vs. flat directory structure to store millions of files on ext4 — какую структуру файлов стоит выбрать — смотрим итоги бенчмарков.

How to cache Ruby gems or NPM dependencies on CircleCI 2.0 — учимся кэшировать гемы и NPM-зависимости при использовании CircleCI.

Подборка материалов об использовании Ruby на платформе бессерверных вычислений AWS Lambda:

Подборка от Andy Croll

Write long strings with wiggly HEREDOCs — почему стоит использовать HEREDOC при создании длинных строк.

Always Force Booleans to be True or False — автор объясняет, почему булевые значения должны быть или true, или false.

Подборка от Appfolio Engineering

How Fast is Ruby 2.6.0preview3 for Discourse — разработчики Appfolio Engineering сравнили скорость работы Ruby 2.6.0preview3 в сравнении с Ruby 2.5.

Multiple Gemfiles, Multiple Ruby Versions, One Rails — автор делится опытом, как в Rails-приложении использовать разные версии Ruby и конфигурации гемов.

A Short Update: How Fast is Ruby 2.6.0rc1 — оцениваем скорость работы первой предрелизной версии Ruby 2.6.0.

Подборка от AppSignal

Don’t be mean: Statistical means and percentiles 101 — какие индикаторы производительности приложения выбрать.

Ruby gem 2.8: Container memory & JRuby on Alpine Linux support — что нового в версии 2.8 гема AppSignal.

Подборка от Arkency

Serverless Slack bot on Lambda with Ruby — создаем Slack-бота на Ruby при помощи сервиса бессерверных вычислений AWS Lambda.

Modeling passing time with events — автор делится опытом организации событийно-ориентированной бизнес-логики приложения.

Подборка от BigBinary

Passing current_user by default in Sidekiq — как настроить передачу current_user по умолчанию в Sidekiq.

Optimize loading multiple routes on Google map using B-spline — учимся оптимизировать маршруты доставки продукции при помощи B-сплайнов в приложении, которое использует Google Maps.

Rails 5 Active Record attributes API — разбираемся с Active Record attributes API в Rails 5.

Подборка от BoltOps

Official AWS Ruby Support for Jets Serverless Framework — serverless-фреймворк Jets теперь можно использовать с официальной поддержкой Ruby на сервисе AWS Lambda.

Jets Image Upload Carrierwave Tutorial: Binary Support — в этом туториале автор показывает, как импортировать изображения с помощью serverless-фреймворка Jets и библиотеки CarrierWave.

Jets Afterburner: Serverless Rails on AWS Lambda in 5 Minutes — как развернуть Rails-приложение на AWS Lambda при помощи Jets Afterburner.

Подборка от Jason Swett

How to Run Feature Specs Headlessly or Not Headlessly at Will — как тестировать функции приложения в браузере и вне его.

Testing Private Methods — как тестировать закрытые методы в Ruby.

Подборка от Mehdi Farsi

SOLID & Ruby in 5 short examples — принципы SOLID в Ruby на простых примерах.

Modules in Ruby: Part II — освежаем в памяти, что такое анонимные модули в Ruby.

Подборка от Ross Kaffenberger

Everything is Enumerated — как использовать to_enum с block methods в Ruby.

Why RSpec users should care about Rails system tests — почему стоит проводить системные тесты при работе с RSpec.

Подборка от RubyGuides

How to Use State Machines in Ruby — как использовать state machines в Ruby.

How to Run System Commands From Ruby — несколько способов команду из Ruby в терминале.

How to Use The VCR Gem to Improve Your Testing Suite — оптимизируем тестирование Rails-приложений при помощи гемов WebMock и VCR.

What is A REPL in Ruby? — освежаем в памяти, что такое REPL в Ruby.

How to Build Command-Line Applications with Ruby — учимся создавать приложения командной строки в Ruby.

MiniMagick Gem: How to Transform Images Using Ruby — как изменять изображения при помощи гема MiniMagick в приложениях на Ruby.

Подборка от RubyPlus

Kafka Producer and Consumer in Ruby using Docker — краткий туториал, как создать producer and consumer программу на Docker.

Ruby Kafka Messaging App using Docker — как подключить приложение на Ruby к Kafka при помощи Docker.

Getting Kafka Up and Running with Vagrant — пошаговый туториал, как создать приложение для обмена сообщениями на Ruby с помощью Kafka и Vagrant.

Подборка от Sam Phippen

Rack middlewares that have saved me literally hours of my life — авто на основе собственного опыта показывает преимущества использования промежуточного ПО Rack.

How I organise my VIM hotkeys — автор делится советами по работе с текстовым редактором VIM.

Туториалы

Building an API with Ruby and the Serverless Framework — создаем Ruby API при помощи Serverless Framework.

Deploying a Rails 5.2 PostgreSQL app on AWS Elastic Beanstalk — как развернуть приложение на Rails 5.2 и PostgreSQL на сервисе AWS Elastic Beanstalk.

Customizing Rails rake tasks — учимся настраивать Rake-задачи в приложении на Rails.

How to Use Ruby on Rails for Local SMTP Email Testing — в этом туториале автор показывает, как настроить SMTP-сервер в приложении на Rails.

How business transactions helped decouple Rails controllers at TextMaster — как сделать рефакторинг контроллеров в приложении на Rails.

How to Set Up Redirects in a Ruby Rack Application — как настроить переадресацию в Rails Rack приложении.

101: Law of Demeter — как устранить нарушение «закона Деметры» (Law of Demeter) на примере Ruby-приложения на фреймворке Sinatra.

Transparent compression of RabbitMQ messages with Sneakers — краткая инструкция, как ускорить работу RabbitMQ при помощи сжатия сообщений.

Релизы

Ruby 2.6.0 — релиз стабильной версии Ruby 2.6.0.

Rails 5.2.2 — вышла стабильная версия фреймворка Rails 5.2.2.

JRuby 9.2.5.0 — релиз версии 9.2.5.0 интерпретатора языка Ruby.

mRuby 2.0.0 — появилась версия mRuby 2.0.0 — реализации языка Ruby для встраиваемых систем.

RubyMine 2018.3.1 — популярная IDE RubyMine обновилась до версии 2018.3.1 (сборка 183.4588.71).

Passenger 6 — вышла стабильная версия 6.0 сервера приложений Passenger.

RubyGems 3.0.0 — релиз версии 3.0.0 менеджера пакетов RubyGems.

Послушать

The Bike Shed

181: Strong Types and a Functional Flair — ведущие и Joe Ferris — CTO компании thoughtbot — обсуждают интересных тем, в том числе сервис Apache Kafka и платформа RabbitMQ.

Ruby Rogues

RWpod

Ruby on Rails Podcast

The Ruby Testing Podcast

020 — Josh Clayton of thoughtbot — гость подкаста — Josh Clayton из компании thoughtbot — делится опытом тестирования приложений, а также рассказывает о паттернах генерации данных для тестирования Rails приложений.

Remote Ruby

Accounting (?), Ruby 2.6rc1, Rails 5.2.2, AWS Lambda + Ruby, Stimulus Component Library — обзор последних новостей в мире Ruby от постоянных ведущих Remote Ruby Криса и Джейсона.

The Yak Shave

It’s not a Pyramid, it’s a Diamond — в этом выпуске Sam Phippen делится своей методикой тестирования приложений.

Посмотреть

RubyConf 2018 — подборка докладов и обсуждений с прошедшей в ноябре конференции RubyConf 2018.

Декабрьские выпуски GoRails, в которых ведущий продолжает серию о реализации встраиваемых JavaScript-виджетов в приложениях на Rails:

Подборка платных скринкастов от Drifting Ruby в декабре:

Декабрьские выпуски платных скринкастов от Ruby Tapas:


Касательно тем/материалов/ивентов, которые стоит добавить в следующий выпуск дайджеста, пишите в комментариях или на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. . Спасибо за помощь в подготовке дайджеста команде RubyGarage.


← Предыдущий выпуск: Ruby дайджест #24

Похожие статьи:
Компанія JetBrains призупинила продажі та R&D-діяльність в росії та білорусі на невизначений термін. Вона спеціалізується на створенні...
Друзі, цього року ми відзначаємо День програміста 7 січня — разом з усім світом. Вітаємо вас! Для розваги можна розповісти про свою...
«Brain Academy» приглашает Вас на пробное занятие по курсу «Программирование на Java»!Начните изучать самый популярный язык...
«МегаФон» первым из мобильных операторов начал сотрудничество с российской платежной системой «Мир». Теперь...
Компания Acer объявила о начале продаж в России её смарт-браслетов Acer Liquid Leap Active – миниатюрных сенсорных устройств,...
Яндекс.Метрика