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

Похожие статьи:
Компания Logitech представила в России свой обновлённый модельный ряд беспроводных колонок линейки Ultimate Ears – UE ROLL, UE BOOM 2 и UE MEGABOOM. Также...
Станом на 31 березня рекрутингові платформи, які співпрацюють з Міноборони, отримали майже 146 тисяч відгуків на вакансії...
IT-компанія Intellias і Львівський національний університет імені Франка підписали Меморандум про довгострокову співпрацю....
В последнее время дисплей стал самым большим по размеру элементом любого мобильного телефона. У большинства смартфонов...
У п’ятницю, 10 березня, Дмитро Швець, один із семи співзасновників української продуктової компанії Reface, повідомив...
Яндекс.Метрика