Ruby/Rails дайджест #14: разворачиваем Rails-приложение на AWS и Azure, обзор Active Storage в Rails 5.2.0

Всем привет! После новогодних праздников у нас есть еще один повод для хорошего настроения. Ровно год назад мы с командой RubyGarage начали создавать Ruby/Rails дайджест, так что это наш маленький юбилейный выпуск.

Обещаем и в дальнейшем радовать вас интересным и качественным контентом. А от вас ждем комментарии и отзывы, ведь они помогают сделать этот дайджест еще лучше!

А теперь давайте смотреть, что же произошло в мире Ruby и Rails в январе:

Почитать

Understanding the basics of Ruby on Rails: SQL Databases and how they work — если вы новичок в Ruby on Rails, статья поможет разобраться с базой данных SQL и основными командами.

Understanding the basics of Ruby on Rails: HTTP, MVC, and Routes — вторая часть The Ruby on Rails Basics объясняет, как все устроено в вебе, что такое MVC и Routs в Rails.

Comparing Timestamps in Rails — сравнение двух timestamps в Rails: Time и DateTime.

Viewing migration SQL without running the migration — статья поможет разобраться с вопросом «Как получить SQL для миграции, не запуская SQL».

Questions to Ask When Hiring a Freelance Rails Developer — несмотря на то, что статья рассчитана на рекрутеров, Rails разработчикам стоит обратить внимание на этот пост и узнать, каких вопросов ожидать на собеседовании.

Top Qualities and Skills of a Ruby on Rails Developer — а Netguru рассказывают о главных hard и soft skills, которые должны быть у каждого Rails разработчика.

Encapsulating Queries In A Rails Model — краткая подсказка, как инкапсулировать запросы в моделях Rails-приложения.

How to Speed Up Asset Precompilation Time in Ruby on Rails App — сборка ассетов в RoR приложении может быть долгой; чтобы ускорить этот процесс, воспользуйтесь списком полезных советов от Netguru.

Upgrading to RSpec 3.7.2 and system specs — автор делится опытом обновления RSpec до версии 3.7.2.

Ruby Still Isn’t Dead — Engine Yard не устают повторять: Ruby isn’t dead. Если сомневаетесь, прочтите этот краткий пост :)

Why Factories? — Thoughtbot отвечают на вопрос о роли factories в test suites и какие проблемы решаются с помощью factories.

Things I Wish ActiveRecord Had After Using Elixir’s «Ecto» — разработчик из Infinum делится своими впечатлениями от использования Ecto — обертки для базы данных — в Elixir. Кроме того, автор рассказывает, чего не хватает ActiveRecord в сравнении с Ecto.

Ruby 3 and JIT: Where, When, and How Fast? — Appfolio делятся бенчмарками Ruby 3 в связке с JIT (just-in-time compiling).

Some Initial Ruby 2.5 Benchmarks — еще один пост с бенчмарками, в этот раз речь идет о Ruby 2.5

How We Built A Job Queue System with PostgreSQL & Ruby For Our B2B SaaS Application

The Definitive Guide to Loops in Ruby — большой гид по loops в Ruby, включая типы и методы.

Ruby on Rails / RSpec — the difference between stubs and mocks — полезная статья для тех, кто разбирается с RSpec и хочет понять разницу между stubs и mocks.

Upgrading a Rails Application Incrementally — автор делится опытом по обновлению Rails-приложения с версии 3.2 до 4.2 с минимальными проблемами в процессе.

Design Patterns: Command and Concierge in Life and Ruby — разработчики из FreeCodeCamp разыграли целую сценку в статье, показав на примере отеля, как работают команды в Ruby.

Rust for Rubyists — в последнее время появляется все больше статей по теме Rust; в этот дайджест попала еще одна статья-сравнение идиоматических свойств Rust и Ruby.

The Modular Monolith: Rails Architecture — Dan Manges, ex-CTO в Braintree, делится опытом создания модульной монолитной архитектуры для Root — Rails-приложения страховки автомобилей.

Understanding Redux store concepts by little Ruby reimplementation — автор объясняет концепцию Redux на примере его простой имплементации с помощью Ruby.

Reducing Memory Usage in Ruby — Аарон Паттернсон делится опытом оптимизации использования памяти в Ruby во время решения проблем, связанных со сборщиком мусора (garbage collector).

Серия статей от Engine Yard для новичков Ruby on Rails:
Ruby for Rails: Blocks
Ruby for Rails: Hash

Серия статей от Paweł Dąbrowski по transactions в Ruby on Rails:
Ruby on Rails. Active Record — transactions overview
Ruby on Rails. Transactions — callbacks

18 Companies Using Ruby on Rails in 2018 — что объединяет Coinbase, Strava, Intercom? То, что они построены на нашем любимом Ruby on Rails. И как говорит автор статьи: «Кто там еще говорит, что Rails не масштабируется?».

How Much Does Meltdown/Spectre Patching Slow Down a Big Rails App? — разработчики из Appfolio разбираются, как сильно патчи от таких уязвимостей, как Meltdown и Spectre, могут замедлить производительность вашего Rails-приложения.

Туториалы

Серия статей от Menseld

Kafka on Rails: Using Kafka with Ruby on Rails — Part 1 — Kafka basics and its advantages

Kafka on Rails: Using Kafka with Ruby on Rails — Part 2 — Getting started with Ruby and Kafka — туториал из двух частей по использованию Kafka, стриминговой платформы от Apache, в Rails-приложении. В первой части авторы приводят аргументы в пользу использования Kafka; вторая часть дает пошаговую инструкцию по интеграции Kafka и Rails.

Серия статей от Scout App

Deploying to AWS Part I: Dockerizing a Rails app — первый пост в серии туториалов по деплою Rails-приложения на AWS. Статья рассказывает, как «подружить» ваше Rails-приложение с Docker.

Deploying to AWS Part II: Running a Rails App on Fargate — следующая статья предлагает инструкцию по запуску Rails-приложения на Fargate — одному из сервисов AWS. Fargate позволяет запускать контейнеры, не заботясь об управлении серверами или кластерами.

Deploying to AWS Part III: Log Aggregation — логичное продолжение предыдущих постов — изучить logging, а именно более удобный формат вывода логов и перенос логов из Cloudwatch на внешний сервис.

Deploying to AWS Part IV: Performance Monitoring with Scout — узнайте, как сконфигурировать производительность приложения с помощью Scout.

Deploying to AWS Part V: The Final Punch List (load balancer, CDN, SSL) — в списке завершающих работ — конфигурация load balancer’а, CDN и SSL.

Deploying Your Rails + PostgreSQL App on Microsoft Azure — наглядный туториал показывает, как легко развернуть Rails-приложение на Azure. Кроме того, автор объясняет, как настроить базу данных PostgreSQL.

The Ruby 2.5.0 Feature Nobody Talks About — в новой версии Ruby 2.5 появилась удобная фича — branch coverage. На удивление, о ней знают не все разработчики, так что самое время познакомиться с ней.

How to make simple background job processing in Rails with Sucker Punch — статья от нашего разработчика Кирилла Шевченко о том, как сделать простую обработку фоновых задач с помощью библиотеки Sucker Punch. Создание задач, тестирование, плюсы и минусы этого подхода — в статье.

Ruby String Methods (Ultimate Guide) — полный гид по строковым методам в Ruby с примерами.

Design Pattern: Prototype and Pizza — в статье говорится о Prototype — одном из паттернов OOD. Но автор решил, что писать очередную статью про дизайн-паттерны было бы скучно и показал принцип работы Prototype на примере пекарни пиццы. Получился интересный обзор!

Setup SSL proxy for insecure browser content with Ruby and NGINX — SSL защита становится все более популярной опцией в современной разработке веб- и мобильных приложений. В статье объясняется, как настроить Ruby и NGINX сервер, чтобы они работали, как SSL прокси для небезопасного контента.

Binary Searching and Ruby’s bsearch Method — автор со своего опыта рассказывает, как преодолеть трудности с бинарным поиском в Ruby.

Rails 5.2: Active Storage and Beyond — Evil Martians представили большой гайд по Active Storage — новой фиче в Rails 5.2.

Setting up CircleCI 2.0 for Rails — в июле 2017 у CircleCI вышла версия 2.0. Thoughtbot представили обзор новых возможностей платформы.

Релизы

simple-admin v0.1.1-alpha released — simple-admin — удобный фреймворк для создания админ дашбордов. В январе вышла новая версия библиотеки.

Rails 5.2.0 RC1: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials

Ruby Gems

Metamagic 101 — Introduction, Installation & Usage — удобный плагин для создания и управления meta tags.

Urlify Functions & Its Implementation — гем Urlify конвертирует UTF-8 strings в ASCII-безопасные URL strings, делая их готовыми к использованию URL-фрагментами.

API Versioning with Ruby on Rails: What Gems Are the Best — отличная подборка гемов для управления версиями API от Yalantis.

Materialized Views in Ruby on Rails with Scenic — автор подготовил case study по созданию materialized views в Rails-приложении с помощью библиотеки Scenic.

Kan — простая и функциональная библиотека для авторизации от Антона Давыдова, одного из создателей фреймворка Hanami.

Any_good — часто, когда мы находим новый гем, мы идем на GitHub или rubygems.org, чтобы проверить статус гема (как давно он обновлялся, активно ли поддерживается и т. д.). any_good автоматизирует эту задачу и выдает рейтинг гема, основываясь на данных из GitHub, GitLab, BitBucket и других ресурсов.

Localer — инструмент для автоматического определения недостающих переводов i18n.

Послушать

Подборка подкастов от Ruby Rogues

RR 346: Ruby Debuggers with Daniel Azuma — беседа с Daniel Azuma, Ruby/Elixir — разработчиком из Google. Большая часть подкаста посвящена обсуждению облачных Ruby-дебаггеров.

RR 343: Ruby 2.5. With Jesus Castello — подкаст с Jesus Castello о возможностях Ruby 2.5 и улучшениях производительности в новой версии.

MRS 027: Thom Parkin — гость подкаста, Thom Parkin, делится своим опытом — как он стал разработчиком и как изучал Ruby, Sinatra, Git и не только.

RWpod

01 выпуск 06 сезона. Meltdown and Spectre, Npm operational incident, Uppy, Taskr и прочее

02 выпуск 06 сезона. Ruby 2.5 introduces FrozenError class, Awesome Ruby Meetups, What’s New in HTML 5.2, Ngx-kit и прочее

03 выпуск 06 сезона. jQuery 3.3.0, Bootstrap 4, Intro to Arel, Mapbox for Rails, Keep webpack fast, After.js, Wobble, JS Paint и прочее

04 выпуск 06 сезона. Webpack 4 beta, Reducing Memory Usage in Ruby, Ionic vs React Native, D3 Discovery, JSNES и прочее

The Bike Shed

140: A Sign of ... Stability? — ведущие The Bike Shed спорят о семантике версионности и высказывают свое мнение по поводу автоматических отчетов в changelog’ах.

138: I Don’t Know How the World Works Anymore — авторы подкаста обсуждают проблемы, которые возникают с системными тестами в Rails.

Посмотреть

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

#113: Ruby on Rails 5.2.0 Changes and New Features — на днях вышла новая версия Rails 5.2.0 и подкаст Drifting Ruby посвящен обзору изменений и новых фич.

#114: Payment Gateway Basics with Stripe — скринкаст для новичков, которые разбираются с интеграцией популярной платежной системы Stripe.

#117: Upgrading Ruby on Rails Versions — из скринкаста узнаете, как обновить Rails-приложение с версии 4.2.10 до 5.2.0.

GoRails

Rais & Vue.js Trello Clone — Part 8 — 8 часть туториала по созданию приложения-клона Trello на базе Rails и Vue.

Handle 404s Better Using Rescue_from — вместо выдачи пользователю ошибки 404, можно использовать Active Support метод rescue_from, который выдает результаты поиска. Скринкаст наглядно показывает, как использовать этот метод.

Подборка платных скринкастов от RubyTapas

Episode #511: Minimum Viable Method — тема скринкаста: ответ на вопрос, стоит ли извлекать метод, чтобы удовлетворить закон Деметры.

Episode #512: Single File — тема скринкаста: оптимизация рефакторинговых сессий в Ruby.

События

Remote Ruby — если зимой совсем никуда не хочется выбираться из уютного дома, можно посетить онлайн-ивент Remote Ruby. Митап пройдет 8 февраля.

Ивенты Rails Girls

Rails Girls Lviv — Rails Girls уже не в первый раз во Львове. В этом году ивент пройдет 10 февраля, так что спешите зарегистрироваться.

Rails Girls Leiden — в городе Лейден, Нидерланды, Rails Girls состоится 16 и 17 февраля. Регистрация закрыта, но можно записаться в waiting list.

Rails Girls Warsaw — если не успеете на ивент во Львове, можно поехать в соседнюю Варшаву. Двухдневный crash course пройдет 24 и 25 февраля. Регистрация закончилась, но можно записаться в waiting list.

Конференции

wroc_love.rb — безвиз позволяет посещать еще больше интересных событий! С 16 по 18 марта во Вроцлаве пройдет традиционная конференция wroc_love.rb с интересными спикерами и неформальным общением после ивента.

Special Ruby Meditation #20 — юбилейный 20-й митап Ruby Meditation пройдет в Киеве 17 февраля. Спикеры и темы еще уточняются.

Курсы

Курсы RubyGarage — с 1 марта стартует очередной набор на курсы Ruby/Rails в RubyGarage. Мы всегда рады новым талантам, так что спешите заполнить заявку и выполнить тестовое задание!

CHI Software — у CHI Software в Харькове проходит стажировка на Ruby on Rails разработчика. Детали — по ссылке на DOU.


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


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

Похожие статьи:
Новые версии Yii 1.1.17 jQuery 1.12, 2.2 и jQuery 3.0 Beta Elixir v1.2 Rust 1.6 Clojure 1.8 Ansible 2.0 Git 2.7.0 Linux 4.4 Debian 8.3 PostgreSQL 9.5 Новости Support for older versions of Internet Explorer ended...
На офіційному сайті компанії Apple зʼявилося навчальне відео, на якому розробниця з України Юлія Ващенко презентує новий фреймворк...
Python — одна з найпопулярніших мов програмування, про що свідчать різноманітні рейтинги. За даними DOU, з 2020 року Python — улюблена...
Привет, меня зовут Наташа, я работаю продакт-менеджером. Когда я стартовала в роли продакта (это было чуть больше 2-х лет назад),...
На правах рекламы Видеорегистраторы и радар-детекторы традиционно считаются девайсами для предусмотрительных водителей, во...
Яндекс.Метрика