Ruby/Rails дайджест #13: главные события в мире Ruby on Rails в 2017 году, а также релиз версии Ruby 2.5.0
Всем привет! В этом праздничном дайджесте мы подготовили для вас подборку самых интересных статей и событий, которые случились в Ruby сообществе в 2017 году, включая обзоры, туториалы и занимательные видео с главных конференций прошедшего года. Также мы не забыли и про свежие материалы декабря, ведь наконец-то состоялся релиз Ruby версии 2.5.0! Приглашаем ознакомиться с новой порцией обзоров, подкастов и скринкастов.
ТОП 2017
19 Ruby on Rails Gems Which Can Amaze — в этом году команда Rubyroid порадовала подборкой самых интересных Ruby гемов, которые стоит знать самым креативным разработчикам.
SOLID Object-Oriented Design Principles with ruby Examples — наша команда RubyGarage очень постаралась и сделала туториал по принципам SOLID с примерами на Ruby.
Ruby 2.5 series from Big Binary — в этом году вышла новая версия Ruby 2.5, предлагаем повторно ознакомиться с подробным циклом обзоров новых методов в блоге Big Binary.
Ruby on Rails Web Application Vulnerabilities: How to Make Your App Secure — статья от нашей команды RubyGarage, в которой рассматриваются уязвимые места RoR приложений, а также способы, как улучшить их защиту.
Best Ruby & Ruby On Rails Books in 2017 — перечень лучших книг Ruby и Ruby on Rails, курсов, видеороликов и учебных пособий 2017 года, которые помогут изучать Ruby и Ruby on Rails.
В этом году RubyConf 2017 была полна на события и яркие впечатления, о чем подробно можно узнать из серии обзоров от James Thompson:
- RubyConf 2017 Retrospective — Day 1
- RubyConf 2017 Retrospective — Day 2
- RubyConf 2017 Retrospective — Day 3
RubyKaigi 2017 — RubyKaigi 2017 также не разочаровала количеством спикеров и интересных тем. Предлагаем ознакомиться с полной подборкой выступлений на конференции.
RedDotRubyConf 2017 — видео выступлений с конференции RedDotRubyConf 2017. Среди выступающих звезды Ruby-сообщества — Yukihiro Matsumoto, Tim Riley, Aaron Patterson и многие другие.
Почитать
Big Binary
Rails 5.2 implements fetch_values for HashWithIndifferentAccess — обзор имплементации метода fetch_values для HashWtihIndifferentAccess в Rails 5.2.
Туториал из трех частей Evil Front: Modern Front-end in Rails, в котором автор расскажет о современном подходе front-end разработки с помощью Rails:
Часть 1 — evilmartians.com/...onicles/evil-front-part-1
Часть 2 — evilmartians.com/...onicles/evil-front-part-2
Часть 3 — evilmartians.com/...onicles/evil-front-part-3
How Dishwashers Ruin Ruby Apps — сравнивая работу веб-приложения с работой ресторана, автор говорит о проблеме deferred work и ее решениях.
How’s Progress on Ruby 3×3? — статья о том, как разработчикам из Appfolio работается с версией Ruby 3.
Malloc Can Double Multi-threaded Ruby Program Memory Usage — автор рассказывает о решении проблемы фрагментации памяти в программах CRuby с помощью расширения malloc.
10 More New Features in Ruby v2.5 — в новой версии Ruby 2.5, которая вышла 25 декабря, появилось множество новых (и доработанных) фич. Читайте обзор десяти новых возможностей версии Ruby 2.5.
Smarter Rails Services with Active Model Modules — в статье говорится о применении service objects в качестве дополнения MVC паттерна.
Ruby Is Hiding Errors From You! — в отдельных случаях Ruby может скрывать ошибки в коде, что в итоге негативно влияет на debugging сессии. Автор демонстрирует на примерах, как можно выявлять такие вещи.
Ruby on Rails Invoicing Solutions Comparison — разработать функционал инвойсов — та еще задачка даже для опытных разработчиков. К счастью, в Rails есть множество готовых решений и вам не надо придумывать велосипед. В статье сравниваются самые эффективные гемы для invoicing-функционала.
On ActiveRecord callbacks, setters and derived data — автор рассматривает типичные ошибки при написании ActiveRecord коллбэков и приводит легко тестируемый пример их использования.
Using ruby parser and AST tree to find deprecated syntax — туториал по использованию гема Parser и AST Tree для поиска устаревшего синтаксиса.
Jekyll on Heroku — хотя изначально предполагалось, что Jekyll (генератор статических сайтов, написанный на Ruby) будет запускаться на GitHub Pages, Heroku тоже может использоваться для этих целей. Читайте пошаговый туториал по запуску Jekyll на Heroku.
Running Jekyll with Docker and OpenShift — еще немного Jekyll. В этот раз учимся запускать Jekyll с Docker и OpenShift.
Subscribing to RabbitMQ using Rails on Heroku — туториал рассказывает, как настроить подписку на RabbitMQ в Rails-приложении, развернутом на Heroku.
SWOT Analysis of Ruby on Rails — SWOT-анализ, известный каждому маркетологу: кратко говоря, в ходе анализа вы выявляете сильные стороны (strengths), слабые стороны (weaknesses), возможности (opportunities) и угрозы (threats) для продукта. Автор статьи использует SWOT-анализ для того, чтобы лучше понять наш любимый фреймворк — Ruby on Rails.
Послушать
The Bike Shed
- 134: Fastributes — ведущие подкаста обсуждают самые интересные презентации с последней RubyConf и как ускорить распределение атрибутов в ActiveRecord с помощью Rust.
- 135: A Series of Unfortunate Examples — в этом выпуске ведущие обсуждают возможный баг в ActiveRecord и двусмысленность лучших практик форматирования в SQL.
Ruby Rogues
- RR339: Typical Day of a Developer — ведущие подкаста обсуждают, как проходит типичный рабочий день Ruby разработчика, а также делятся собственными методами поддержания мотивации в работе.
- RR 340: Strings and Encodings in Ruby with Aaron Lasseigne — тема очередного подкаста The Ruby Rouges — Strings and Encondings. Кроме того, ведущие подкаста и гость выпуска Aaron Lasseigne, автор книги «Mastering Ruby: Strings and Encodings», обсуждают его работу над гемом Active Interaction.
RW Pod
- RWPod Кафе 6: Volodya Sveredyuk и Pivorak
- 48 выпуск 05 сезона. ComfortableMexicanSofa, Partitionable, GiraffQL, Reactopt, Vuetron, Rapid.js, JSRobot и прочее
- 49 выпуск 05 сезона. Redmine Security Scanner, A recap of front-end development in 2017, Parcel, Electron-toolkit, WordPressify и прочее
- 50 выпуск 05 сезона. Ruby 2.5.0-rc1, Rust for Rubyists, Being in control of font-display, Docusaurus, Popmotion и прочее
Посмотреть
Reimagining 2D graphics and game development with Ruby — выступление с RubyConf 2017, на котором Tom Black презентовал свой доклад на тему создания игр и 2D графики на Ruby.
Новая подборка серии скринкастов от Go Rails за декабрь, в которой рассматривается взаимодействие Rails с фреймворком Vue.js:
- Vue.js Trello Clone in Rails — Part 1
- Vue.js Trello Clone in Rails — Part 2 | Preview
- Vue.js Trello Clone in Rails — Part 3 | Preview
- Vue.js Trello Clone in Rails — Part 4 | Preview
Подборка платных скринкастов Drifting Ruby в этом месяце:
- Episode #109 — Using React-Rails and Loading Data from Rails into React | Preview — в эпизоде рассматриваются способы интеграции JavaScript и ReactJS в RoR приложение и взаимодействие компонентов React с базой данных.
- Episode #110 — React State Changes and Posting to the Rails App | Preview — в продолжении предыдущего эпизода ведущие рассматривают, как меняется состояние React при взаимодействии с RoR приложениями.
- Episode #111 — In-depth Look into ActiveStorage — этот выпуск посвящен подробному обзору ActiveStorage — новому интерфейсу загрузки файлов в Ruby 5.2.
Релизы
JRuby 9.1.15.0 Released — обзор релиза JRuby версии 9.1.15.0.
Ruby 2.5.0 Released — долгожданный релиз Ruby версии 2.5.0.
Спасибо, что были с нами круглый год: устраивали обсуждения, делились своими мыслями и поддерживали Ruby-community. В следующем году будет еще больше интересного материала. С наступающим Новым годом и Рождеством!
← Предыдущий выпуск: Ruby дайджест #12