×Закрыть

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.


Касательно тем/материалов/ивентов, которые стоит добавить в следующий выпуск дайджеста, пишите в комментариях или на volodymyr.vorobiov@rubygarage.org. Спасибо за помощь в подготовке дайджеста команде RubyGarage.


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

LinkedIn

4 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Большое спасибо !

От хоч я і не люблю веб-дев, але Рельси така цяця :)

Наверное Rails 5.2.0! Спасибо за дайджест.

Спасибо за внимательность и фидбек, исправили

Подписаться на комментарии