Ruby/Rails дайджест #3: TDD вредит архитектуре, видео с RubyConfAU 2017 и новый гем Patme

Всем привет! Новый Ruby/Rails дайджест за март собрал самые интересные события в мире Ruby. Читайте статью Роберта С. Мартина о влиянии TDD на архитектуру приложения, смотрите видео с RubyConf 2017 в Австралии, обратите внимание на новый гем Patme и узнавайте о многих других полезных ресурсах! Всем интересного чтения!

Почитать

Using Database Replicas in Rails With Octopus Gem ‒ успешный кейс масштабирования приложения Freelitics с помощью гема Octopus.

ODBC and writing your own ActiveRecord adapter ‒ кейс от Localytics об имплементации ODBC (Open source database connectivity) адаптера для ActiveRecord, совместимого с последними версиями Ruby и Rails.

Chain RSpec Matchers for Improved Test Readability ‒ в статье говорится о том, как сделать тесты на RSpec еще более читабельными.

Prototypes in Ruby and the strange story of dup ‒ немного про рефакторинг, история о том, как избавиться от дублирования в Ruby с помощью прототипов.

Faster Rails: How to Check if a Record Exists ‒ оптимизация запросов к базе данных ‒ распространенная практика для улучшения скорости Rails-приложения. Статья раскрывает вопрос оптимизации проверки существующих записей в вашем Rails-приложении.

Setting up OAuth2 callbacks in Rails with HTTPS offloading on load balancers ‒ настройка OAuth2 колбэков в Rails-приложении с проксированием запросов, используя load balancers через HTTPS-протокол.

Towards Faster Ruby Hash Tables ‒ статья об устройстве и оптимизации хэш-таблиц в Ruby.

Understanding Ruby GC through GC.stat ‒ статья объясняет, как работает Ruby Garbage Collector (Ruby GC).

A Rubyist’s Guide to Postgresql’s Explain ‒ детальный гид по функции explain в Postgresql.

Refactoring Ruby: From Subclass to Registry ‒ столкнувшись с имплементацией responsive-изображений в legacy-приложении Rails, авторы статьи отрефакторили код и рассказали о своих находках.

50 Most Common Rails Mistakes: The Ruby Way ‒ топ-50 самых распространенных и критических ошибок, которые совершают Ruby-разработчики.

Посмотреть

RubyConfAU 2017 ‒ Если вы пропустили RubyConf 2017, которая проходила в Мельбурне, не расстраивайтесь. Видео с конференции уже появились на Youtube. Спикеры затронули следующие темы: Actors in Ruby! Why let Elixir have all the fun?, Open Source: Power and the Passion, Simple and Awesome Database Tricks, Defragging Ruby, Performance Optimization in Ruby и другие.

Ruby on Rails 5.1.0 Changes and New Features ‒ скринкаст от DriftingRuby о всех изменениях в Ruby on Rails 5.1.0: Yarn/Webpack, системные тесты с Capybara и другое.

Послушать

Ruby on Rails Podcast 225: Capital-R Rubyist by 5by5.tv ‒ очередной подкаст от 5b5tv о впечатлениях от RailsConfAU 2017 и размышлениях о том, что такое быть «настоящим Рубистом».

RR 302: Web Security by Ruby Rouges ‒ участники подкаста Ruby Rouges обсуждают web-безопасность и безопасность в Rails в частности.

Туториалы

Using Chef and Capistrano to deploy a Rails application on Ubuntu 16.04 ‒ пошаговая инструкция по развертыванию Rails-приложения с помощью Capistrano и настройки окружения сервера на Ubuntu 16.04, используя Chef.

Concurrency Deep Dive: Multi-process ‒ первая часть из цикла статей, посвященных распараллеливанию процессов в Ruby. Детальное объяснение мульти-процессов в Ruby.

Reading Ruby Code: ROM — Exploration ‒ завершающая статья из цикла Reading Ruby Code, которая объясняет, как работает метод Container.

Google Spreadsheets and Ruby ‒ пошаговый туториал по использованию гема google_drive для интеграции Google Spreadsheets в Rails-приложение.

SOLID Object-Oriented Design Principles with Ruby Examples ‒ туториал по принципам SOLID с примерами на Ruby.

Creating Powerful Command Line Tools in Ruby ‒ инструкция по созданию приложений командной строки в Ruby.

Towards Minimal, Idiomatic, and Performant Ruby Code ‒ статья о том, как писать минималистичный и производительный Ruby-код с подробными примерами.

Micro-optimizations matter: preventing 20 million system calls ‒ продолжая тему производительных приложений, говорим о микро-оптимизациях.

Principles of Effective Testing with Capybara ‒ материал о том, как сделать integration-тестирование проще и эффективнее с Capybara.

N+1 Problem or Memory Problems: Why not Solve Both? ‒ туториал объясняет, как решить распространенную проблему N+1 и оптимизировать использование памяти.

ActionCable: The Missing Guide ‒ коротко и по существу о назначении и использовании ActionCable.

Релизы

Rails 5.1.0.rc1: Loving JavaScript, System Tests, Encrypted Secrets, and more ‒ Rails-сообщество внесло более 380 коммитов в Rails 5.1 с момента его выхода. Подробности изменений ‒ в чейнджлогах на GitHub.

Ruby 2.4.1 Released: What’s Changed ‒ новая версия Ruby 2.4.1 включает в себя фиксы багов, обновления Onigmo, RubyGems, документации для rss/atom и многое другое.

Ruby 2.4.1, Ruby 2.3.4, Ruby 2.2.7 ‒ в марте Ruby пополнился многочисленными релизами. Детали в changelogs.

Patme gem — Elixir-style pattern matching for Ruby methods ‒ новый гем, который реализует поиск по шаблону для Ruby-методов в Elixir-стиле. Тем не менее, авторы гема Patme обращают внимание на то, что гем является экспериментом и пока что не рекомендуют его использовать в production.

EmailInquire ‒ библиотека для валидации email’ов (проверка формата, наличия опечаток, одноразовых email).

Uninterruptible помогает обновлять на лету socket-серверы.

Interferon ‒ с помощью Interferon можно отслеживать и получать информацию о состоянии инфраструктуры (например, AWS).

События

Ruby Meditation #14 состоится 8 апреля в Киеве. Спикеры будут говорить на следующие темы: When the Whole World is Your Database; Fairy Tale About Chat Bots or Why You Should Use Them; Real-Time Error Alerting & Debugging Tools: Rollbar; We Build Bots. For Real.

Ruby Meditation #15 13 мая в Днепре. Спикеры и темы уточняются, следите за обновлениями.

RubyC 2017 ‒ масштабная Ruby/Rails конференция состоится 3-4 июня в Киеве. Уже известны темы некоторых спикеров: Ruby 4.0: To Infinity and Beyond; Ruby Smells, Learning Elixir: Gotchas and Pitfalls. Следите за обновлением информации о спикерах и их темах!

Рандом

TDD Harms Architecture ‒ Роберт С. Мартин рассуждает в своем блоге на тему влияния TDD на архитектуру приложения.
RSpec tests for your servers configured by CFEngine, Puppet, Chef, Ansible, Itamae or anything else even by hand.


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


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

Похожие статьи:
Всё из-за бабок.Михаил Задорнов Так случилось, что государственным мужам понадобились наши деньги. Собственно, они нужны были всегда,...
На початку листопада Верховна Рада ухвалила новий закон, що регулює порядок бронювання військовозобов’язаних, які не підлягають...
Что должен знать и уметь тестировщик? Почему он играет очень важную роль в agile процессах? Об этом и не только, на мастер-классе...
В Україні визначили додаткові підстави для звільнення від війська та знищили ворожої техніки на $10 мільярдів. DOU публікує...
Андрей Черкашин — программист родом из Крыма. В 2014 Андрей переехал во Львов и открыл там собственную компанию. Позже...
Яндекс.Метрика