Ruby/Rails дайджест #10: подкаст з DHH, новий блог про розробку, виступи на RubyKaigi

Привіт! Вересень виявився багатим на події у світі Ruby/Ruby on Rails, тому поспішаємо поділитися з вами останніми новинами.

У десятому ювілейному дайджесті зустрічайте множинні рекомендації та поради щодо поліпшення продуктивності роботи на Ruby/Rails, подкаст від Basecamp з участю David Heinemeier Hansson, новий блог про розробку, відео виступів з конференції RubyKaigi і важливі події в жовтні.

Почитати

Understanding the secret_key_base in Ruby on Rails — secret_key_base — відмінний спосіб скоротити нагруженность конфігурацій. У туториале наводяться приклади використання secret_key_base і йдеться про цінності цієї конфігурації для додатків Ruby on Rails.

Code simplicity — Command pattern — в цьому туториале ви знайдете інформацію, як застосовувати шаблон проектування 'Command' на прикладі сценарію купівлі товару в онлайн-магазині.

Superfast CSV imports using PostgreSQL'COPY s command — рекомендації, як максимально швидко імпортувати CSV, використовуючи команду PostgreSQL's COPY.

Серія з двох статей з докладним поясненням моделей паралелізму (concurrency models) в Ruby:

Teaching a Neural Network to play a game using Q-learning — у попередньому випуску нашого дайджесту ми пропонували прочитати статтю від Practical Artificial Intelligence про те, як навчити штучний інтелект грати в просту гру з використанням Q-learning . У цьому випуску пропонуємо вам дізнатися, як за допомогою нейронної мережі і Q-Learning створити штучний інтелект, який зміг би грати в комп'ютерну гру.

Using the scikit-learn machine learning library in Ruby using PyCall — з цього туториала ви дізнаєтеся, як використовувати набір простих і ефективних інструментів для машинного навчання і штучного інтелекту Scikit-learn. Scikit-learn написаний на Python, але Ruby розробники можуть з ним взаємодіяти через PyCall.

How we made our rspec test suite to run 2x faster — швидкість виконання автотестів відіграє важливу роль у розробці програмного забезпечення. Приклад у цій статті ви дізнаєтеся, як удвічі прискорити виконання RSpec.

Verify user phone numbers in Ruby on Rails with the Authy Phone Verification API — корисний туторіал про те, як перевірити достовірність номера телефону користувача в додатку на Rails 5 з допомогою Authy Phone Verification API.

Підбірка корисних статей від Engine Yard за вересень:

Rails: make sure you have proper DB indexes for your model's unique validations — стаття - нагадування про те, що треба не забувати про індекси бази даних при створенні власних валідаторів.

That time I wrote a query with прикутий ruby methods weighing in at 41 lines and 2844 chars — що робити, якщо вийшов SQL-запит на 41 рядок? Автор статті ділиться досвідом, як рефакторіть такі запити.

How to include Rails Associated Model Data in React components — в цьому туториале ви знайдете підказки, як отримати доступ до пов'язаних даними моделі з вашого компонента React на Rails.

DEALING WITH RUBY DEPENDENCY CONFLICTS — рекомендації, як уникнути конфліктів залежностей в Ruby і які для цього існують інструменти.

Ruby: pass by value or pass by reference? — існують суперечливі погляди на те, як в Ruby передаються параметри за посиланням або значенням. Автор блогу Rubyblog.pro пропонує розібратися, як це працює.

Improving spec speed in a huge, old Rails app — по мірі того, як зростає проект, все більше часу йде на виконання continuous integration, і швидкість spec стає однією з проблем. З цього кейса ви дізнаєтеся, як поліпшити швидкість виконання тестів у масштабному додатку на Rails.

Rails Best Practice — Persisting Addresses in PostgreSQL — рішення, яке пропонує послідовний, ефективний і надійний спосіб зберігання та вилучення складних типів даних з бази даних SQL.

A Puzzle About Ruby Constants — константи мови Ruby іноді можуть спантеличити навіть досвідчених розробників. У цьому туториале знайдуться поради, як розібратися з логікою Ruby для визначення константи.

Breaking Up the Behemoth — дуже часто багато програм з часом обростають великими, складними і постійно мінливими класами. У цій статті ви знайдете поради, як краще уникнути появи габаритного коду.

DateTime#to_time and Time#to_time preserves receiver's timezone offset info in Ruby 2.4 — методи DateTime#to_time and Time#to_time можуть бути використані для повернення об'єкта Time. У туториале ви знайдете відмінності роботи з цими методами у версіях Ruby 2.3 і Ruby 2.4.

3 ways that will make you React with Rails developer — поради та корисні ресурси, як краще ініціалізувати React.js в додаток на Rails.

Debugging Why Your Specs Have Slowed Down — якщо виконання spec-тестів займає, на ваш погляд, вічність, радимо взяти на озброєння ці підказки щодо визначення причин уповільнень і методи запобігання їх у майбутньому.

У вересні побачив світ новий блог від Ruby/Rails розробника Paul Martensen і вже встиг поповнитися кількома статтями:

Серія статей на тему застосування API-інтерфейсу GraphQL в Rails:

Підбірка статей про розробку від Arkency за вересень:

For Software Engineers — Scalability Introduction — у цій статті ви знайдете корисну інформацію про масштабованості і як її досягти при розробці програмного забезпечення.

Послухати

Rework — 03 — Pick A Fight (on Twitter) — подкаст від Basecamp з участю CTO Basecamp David Heinemeier Hansson, де David розповість про мистецтво сперечатися з людьми в інтернеті та безпосередньо в Twitter.

Подкасти від The Ruby Rogues продовжують радувати бесідами з відомими програмістами:

Свіжі подкасти від The Bike Shed у вересні:

П'ятий сезон подкастів на RWpod триває, і за вересень зібралося чимало випусків:

Подивитися

The 11-minute guide to building and launching an online store with Rails, Stripe Checkout and Heroku — короткий гайд по створенню інтернет-магазину на Rails. З відео ви дізнаєтеся, як налаштувати платежі для магазину через Stripe checkout.js і розгорнути його на Heroku.

Підбірка скрінкасти від GO RAILS у вересні:

Підбірка скрінкасти від Drifting Ruby за вересень:

RubyKaigi 2017 — International Conference — у вересні в Японії пройшла щорічна конференція RubyKaigi , на якій виступали відомі розробники з Японії, так і західні фахівці. У цій добірці пропонуємо виступу англійською:

Релізи та бібліотеки

Бібліотеки

Zen Rails Base Application — шаблон для нових Rails додатків, скоротити час на створення нового проекту.

ruby-vips — гем, який, забезпечує прив'язку Ruby до бібліотеки обробки зображень libvips.

Slack Neuralyzer — гем, для масового видалення повідомлень і файлів на Slack-каналах.

Gemfile's new clothes — незабаром очікується реліз Bundler 2.0 — менеджера для управління гемами. Рекомендуємо дізнатися, чого очікувати від нової версії, і бути в курсі всіх змін задовго до релізу. Також у статті зазначається, якими опціями вже зараз можна користуватися в останніх версіях.

Say Hi to Delivery Boy! — бібліотека Racecar забезпечує простий і інтуїтивно зрозумілий спосіб створення і налаштування споживачів (consumers) у Kafka, і може легко інтегруватися з додатком Rails.

BRAKEMAN: Rails Security Scanner — сканер безпеки Brakeman виявляє уразливості в програмах Rails з допомогою статичного аналізу. І, що дуже зручно, після сканування він створює звіт про всі проблеми безпеки, які він ідентифікував.

Awesome Data Science with Ruby — список туториалов, бібліотек і різноманітних джерел про різних додатках Data Science з використанням мови програмування Ruby.

Релізи

JRuby 9.1.13.0 Released — у вересні вийшла нова версія JRuby.

Welcome Release of Webpacker 3.0 — новини з недавнього релізу гема Webpacker.

Rubies 2.2.8, 2.3.5, and 2.4.2 are now available — у вересні вийшли оновлення на Ruby. Версії 2.2.8, 2.3.5 і 2.4.2.

Rails 5.1.4 and 5.0.6 released — 7 вересня вийшли оновлені версії Ruby on Rails. Повний список змін можна подивитися на GitHub .

Rails 4.2.10 released — також у вересні оновилася версія Rails 4.2. Як заявляють розробники, ця версія більше не буде підтримуватися, за винятком серйозних виправлень безпеки.

Karafka (Ruby + Kafka) framework 1.0.0 Release Notes — вийшов реліз Karafka 1.0 — це відносно свіжий фреймворк, авторам якого вдалося реалізувати безліч нових функцій і виправити помилки. Якщо ви хочете якомога швидше познайомитися з фреймворком і почати з ним працювати, пропонуємо вам ці примітки до випуску.

Книги

Рекомендовані

Effective Testing with RSpec 3 has been released! — в цьому місяці вийшла книга про тестування «Effective Testing with RSpec 3: Build Ruby Apps with Confidence». Замовити можна на Amazon і PragProg .

Релізи

The Unhappy Path. Failure Management Patterns in Ruby and Rails — книга від Benjamin Roth «The Unhappy Path. Failure Management Patterns in Ruby and Rails» ще в процесі написання, але передзамовлення вже відкритий.

Події

International Ruby Conferences Fall 2017 — список міжнародних Ruby-конференцій, які охоплюю земну кулю від Японії до Бразилії цієї осені.

Coderetreat — 6 жовтня в Києві Ruby Meditation влаштовує тренінг «Coderetreat» з Сергієм Сержиенко — представником мінського Ruby-спільноти.

RUBY Meditation #18 — 7 жовтня у Києві проходитиме митап Ruby Meditation #18. Повний список спікерів і розклад поки очікується, але вже можна реєструватися.

SphereCon — Ruby and Go Conference — 28 жовтня в Києві пройде конференція за технологіями Ruby, Go і Front-End. Вхід вільний, але не забудьте зареєструватися.

RUBY Meditation #19 — митап Ruby Meditation #19 також проводиться в Києві 4 листопада. Квитки вже у продажу.

RUBY Meditation — 20th Anniversary — 2 грудня в Києві пройде ювілейний митап Ruby Meditation #20. Новини з організації заходу можна відстежувати на сторінці в Facebook. Також є можливість придбати квитки .

Курси

Курси від Codaline — з 16 вересня по 1 жовтня 2017 оголошено набір на третій сезон курсів від Codaline, де одним з напрямків буде мова програмування Ruby. Курси будуть проводитися в режимі offline в Черкаському державному технологічному університеті.


Щодо тем/матеріалів/івентів, які варто додати в наступний випуск дайджесту, пишіть в коментарях або на volodymyr.vorobiov@rubygarage.org . Дякуємо за допомогу в підготовці дайджесту команді RubyGarage.


? Попередній випуск: Ruby дайджест #9

Опубліковано: 30/09/17 @ 10:00
Розділ Блоги

Рекомендуємо:

React 16: огляд нової архітектури fiber
DOU Labs: як харків'яни створили IT-музей
Кібербезпека по-українськи: про тиск силовиків, білих і чорних хакерів і цінності диванних експертів
Junior дайджест: курси, стажування, інтернатура. Жовтень'17
Кейс: від 0 до 13000 чоловік в місяць для сайту клініки лазерної медицини