Quantcast
Channel: Найцікавіше на DOU
Viewing all articles
Browse latest Browse all 8115

Ruby/Rails дайджест #16: официальный релиз Rails 5.0.7 и 5.1.6, новая бета-версия Hanami, создаем Slack bot на Rails

$
0
0

Всем привет! Март порадовал Ruby-сообщество множеством интересных событий.

Прежде всего, вышли официальные версии Rails 5.0.7 и 5.1.6, а также бета-версия фреймворка Hanami — v1.2.0.beta2. Во-вторых, появились первые бенчмарки превью-версии Ruby 2.6 с JIT. Также обратите внимание на статьи Daniel P. Clark о Vue.js в качестве фронтенд-фреймворка для приложений на Rails.

Почитать

Ruby 2.6 preview 1: Timing JIT — в конце февраля вышла превью-версия Ruby 2.6, а уже в марте появились первые бенчмарки. Насколько эффективен JIT-компилятор? Все ответы — в статье.

Towards The Ruby 3×3 Performance Goal — узнайте, как сообщество Ruby работает над проектом CRuby и сможет ли версия 3 в три раза превосходить по производительности версию 2.

If the OS landscape was disrupted, would Ruby have survived until today?! — Keynote by Mr. Yukihiro «Matz» Matsumoto at Ruby25 — не пропустите главное из речи создателя языка Ruby Юкихиро Мацумото (Matz) на конференции Ruby25.

A New Ruby Application Server: NGINX Unit — обзорная статья о том, насколько сервер приложений Nginx подходит для приложений на Ruby.

TIOBE Index for March 2018 — Ruby вытеснил Delphi в первой десятки рейтинга популярности языков программирования по версии TIOBE.

Passenger 5.2.2: passenger_base_uri fixed, new Phusion product spoiler — если ваше приложение использует сервер Passenger, то самое время сделать апгрейд до версии 5.2.2. В статье говорится, как это сделать.

RabbitMQ is more than a Sidekiq replacement — автор подробно рассказывает о преимуществах RabbitMQ в сравнении с Sidekiq при работе с фоновыми задачами.

Practical Differences between Working in Ruby and iOS — на основе собственного опыта автор сравнивает разработку на Ruby и Swift; статья будет полезна full-stack программистам, а также тем Ruby-программистам, которые собираются попробовать себя в мобильной разработке под iOS.

My thoughts on Hanami — Райан Бигг делится своим мнением о Ruby-фреймворке Hanami.

Implementing a basic debug mode for your Ruby CLI — автор подробно описывает, как настроить сообщения об ошибках с помощью имплементации отладочного режима для Ruby CLI.

How I Built Timeasure: Part 1 — Motivation & Method Wrapping — первая статья из цикла, в котором автор детально описывает процесс создания гема Timeasure.

Solving CAPTCHAs with TensorFlow and Ruby — узнайте, как научить Ruby-приложение автоматически преодолевать капчи с помощью инструмента TensorFlow.

Using `yield_self` for composable ActiveRecord relations — автор рассказывает о том, как метод yield_self можно использовать в работе с Active Record.

Why proxying Bugsnag (or similar service) might be a good idea?— на примере сервиса проверки качества кода Bugsnag автор показывает, как проксировать сообщения об ошибках через back end.

An overview of Desktop Ruby GUI development in 2018 — краткий обзор инструментов для создания desktop-приложений на Ruby.

Setting up a Rails app for CodeBuild, CodeDeploy, and CodePipeline on AWS — читайте, как настроить continuous integration/delivery/deployment Rails-приложения с помощью сервисов AWS.

The correct emails configuration in Rails — простые советы о том, как правильно настроить отправку имейлов в Rails-приложениях.

Ruby on Rails: 5 Checks to Make Before Launching Your App — чек-лист по пунктам, на которые стоит обратить внимание перед запуском вашего Ruby on Rails приложения.

Use Ruby Objects to Keep Your Rake Tasks Clean — автор делится опытом оптимизации Rake-задачи с помощью объектов в Ruby.

Why Service Objects are an Anti-Pattern — многие Ruby-разработчики используют service objects в Rails-приложениях, однако автор статьи считает этот подход неверным. Узнайте почему!

Introducing Blueprinter — Blueprinter — новый инструмент для форматирования и сериализации API.

Is Ruby on Rails a Good Framework for Building a SaaS product?— в статье подробно разобран вопрос, насколько Ruby on Rails подходит для создания SaaS-приложений.

Qyu: A distributed task execution system for complex workflows — автор рассказывает о новом инструменте для распределения задач для Ruby.

Better passwords in Ruby applications with the Pwned Passwords API — если вы хотите обеспечить максимальный уровень защиты аккаунтов пользователей, используйте Pwned Passwords API.

From Rails to Clojure, then to Java, then back to Rails — почитайте мнение автора о нескольких языках программирования, а также плюсы и минусы каждого из них.

Rails test coverage: Measuring what matters with SimpleCov — статья рассказывает, почему важно анализировать степень покрытия кода тестами при помощи библиотеки SimpleCov.

Why should you learn multiple programming languages?— даже если вы первоклассный специалист по Ruby, не стоит пренебрегать другими языками программирования. Почему? Автор делится своим мнением.

Monitoring Sidekiq Using AWS Lambda and Cloudwatch — функционала Sidekiq может быть недостаточно для анализа обработки фоновых задач; данная статья расскажет, как это исправить с помощью AWS Lambda.

Ruby Benchmarking — если вы строите крупное приложение на Ruby, то наверняка вы хотите измерить его производительность. Статья ознакомит вас с тем, как качественно протестировать приложение.

Подборка от Mensfeld

Подборка от Arkency

Подборка от Engine Yard

Подборка от BigBinary

GPG decryption without pin entry pop up using GPGME — краткое руководство о том, как раскодировать файлы, зашифрованные с помощью инструмента GnuPG (он же GPG).

Также продолжение серии статей о Ruby 2.5:

Подборка от AppSignal

  • Fragment caching in Rails — узнайте, как ускорить работу приложений с помощью кэширования фрагментов кода.
  • Exceptions in Ruby — автор на примерах рассказывает о типах исключений в Ruby.

Подборка от Paweł Dąbrowski

Подборка от Nopio

  • How to Setup Rails Application on Heroku — Redis, Sidekiq, Action Cable and Cron Configuration — статья описывает процесс установки Rails-приложения на хостинг Heroku, подробно останавливаясь на настройке отдельных элементов инфраструктуры.
  • Blockchain App with Ruby — блокчейн — одна из самых горячих тем в мире технологий; эта статья расскажет вам, как создать децентрализованное приложение на Ruby.

Подборка от End Point

  • Multi-Tenant Architecture — автор рассказывает о том, как реализовать multi-tenant архитектуру в Rails-приложениях с помощью гема Apartment.
  • Rails Active Storage — узнайте, как с помощью Active Storage в Rails 5.2 можно загружать файлы в облачные хранилища (AWS, Google Cloud и Microsoft Azure).

Туториалы

Capistrano deploy to ubuntu with systemd, nginx/puma and rbenv — туториал по развертыванию приложения и (или) среды разработки на одном сервере при помощи Capistrano.

Bare Bones Rails Action Cable Tutorial — туториал по созданию чат-сервера при помощи Action Cable.

Upgrade Rails from 4.2 to 5.0 — статья обращает внимание на важнейшие аспекты при обновлении Rails-приложения с версии 4.2 до 5.0.

How to Track Down and Fix Slow Active Record SQL Queries in Rails — недовольны производительностью своего Rails-приложения? Не спешите вносить изменения в стак, возможно, проблема в базе данных, а этот туториал научит вас оптимизировать работу Active Record SQL запросов.

How I’ve Built a Profitable Slack Bot as a Side Project in Rails — чатботы становятся все более популярны; почитайте, как создать Slack-бота при помощи Ruby on Rails.

The Proxy pattern revisited — узнайте, как использовать Proxy дизайн-паттерн при помощи метода Module#prepend.

How to run Capybara feature specs with Selenium and headless Chrome — CircleCI 2.0 case study — туториал учит, как избежать проблем с популярными инструментами Capybara и Selenium при переходе с CircleCI 1.0 на CircleCI 2.0.

Yes, Ruby 1.9 can support TLSv1.2!— можно ли использовать TLSv1.2 в приложении на Ruby 1.9? Да! И этот туториал покажет, что нужно делать.

Only use named scopes outside models — как улучшить организацию кода и увеличить продуктивность, используя поименованные области действия.

Memoizing in Ruby — туториал по оптимизации работы приложения с помощью мемоизации.

The Local Variable Aversion Antipattern — многие Ruby-разработчики избегают локальных переменных, предпочитая извлеченные методы, однако насколько этот подход хорош? Автор делится опытом и показывает, как можно использовать локальные переменные.

Grpc Tutorial With Ruby — автор решил обновить руководство по настройке grpc для Ruby.

Convert an ActiveRecord object into the fixture — туториал демонстрирует, как превратить объект ActiveRecord в yaml формат.

Refactoring views with Ruby on Rails’ ActiveSupport helpers — автор делится опытом рефакторинга кода при помощи инструментария ActiveSupport.

JSON API Phase 3: API Server — третья из четырех статей цикла о разработке API при помощи Express и Swagger; в этой части описан процесс создания API сервера.

Dry Behaviour aka Protocol Pattern in Ruby — как использовать паттерн Protocol при создании приложения на Ruby.

Managing db schema changes without downtime — автор показывает, как избежать проблем при изменениях схемы данных в Rails-приложении.

JSONify your Ruby Translations — узнайте, как использовать формат JSON для Ruby трансляций.

How to test logs using RSpec expectations and StringIO in Ruby — статья показывает два способа тестирования логов.

UPGRADING TO RAILS 5.1X — разработчик компании RED Panthers делится опытом обновления одного из продуктов до версии Rails 5.1.

Focused `puts` debugging with STDERR — туториал поможет провести отладку не только написанного вами кода, но также кода используемых вами гемов.

Elapsed time with Ruby, the right way — узнайте, как правильно запрограммировать подсчет времени выполнения в Ruby-приложении.

JetRockets

RubyGuides

  • The Definitive Guide to Loops in Ruby — статья научит вас нескольким способам создавать циклы в Ruby.
  • How to Write a Ruby C Extension — автор детально описывает, как создать расширение C для увеличения производительности Ruby-приложений.

Codeship

  • VueJS as a Frontend for Rails — популярность Vue.js растет и самое время узнать, как использовать его в качестве frontend-фреймоворка в Rails-приложениях.
  • VueJS Components with CoffeeScript for Rails — продолжение предыдущей статьи; автор показывает, как использовать компоненты Vue.JS с помощью CoffeeScript в Ruby on Rails.

Релизы

Rails 5.0.7 and 5.1.6 have been released — официально вышли новые версии Rails: 5.0.7 и 5.1.6. Узнайте, что изменилось по сравнению с предыдущими версиями!

Announcing Hanami v1.2.0.beta2 — вышла бета-версия фреймворка Hanami v1.2.0.beta2.

Rails 5.2.0 RC2: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials — Rails-сообщество завершает работу над новой версией нашего любимого фреймворка. Узнайте, что нового во второй предвыпускной версии 5.2.0 RC2.

NGINX Unit Beta — вышла бета-версия сервера приложений Nginx с поддержкой Ruby.

Ruby Gems

Interesting Methods — этот новый гем позволяет быстро просмотреть методы объектов в Ruby.

Deferral — гем позволяет использовать в Rails-приложениях метод defer по образцу Golang.

Pwned — Pwned позволяет использовать Pwned Passwords API для Rails.

Послушать

241: Upgrading Kickstarter to Rails 5 with Logan McDonald — ведущие подкаста обсуждают обновление приложения Kickstarter с Rails 4 на Rails 5.

The Bike Shed

  • 147: Is a Lambda a Sandwich?— ведущие обсуждают новинки в Ruby 2.5, в том числе разницу между понятиями block, proc и lambda.
  • 144: Fisher Price™ Tools — в этом подкасте авторы обсуждают повестку апрельской конференции RailsConf 2018, опыт использования Rails Твиттером и многое другое.

Ruby Rogues

RWpod

Greater Than Code

Посмотреть

Method Driven Development — автор описывает Method Driven Development (MDD) — технику, которую он использует при работе с гемом Geocoder.

Develop a Messenger Bot in Pure Ruby — Andy Barnov — Не пропустите видеотуториал о том, как создать чатбота на Ruby при помощи фреймворка Rubotnik.

CSV & XML Injections — YYCRuby Presentation — презентация Гэвина Миллера с митапа YYCRuby; узнайте, как предотвратить CSV и XML injections.

Новая подборка от GoRails, в которой ведущий рассматривает возможности ActiveStorage в Rails 5.2, а также учит создавать шаблоны для Rails-приложений:

Подборка платных скринкастов от Drifting Ruby в марте

Мартовские выпуски платных скринкастов от Ruby Tapas

События

Remote Ruby — 5 апреля пройдет ежемесячный онлайн-ивент Remote Ruby. Идеально для тех, кто хочет быть в курсе событий в мире Ruby, не выходя из дома!

Rails Girls Rotterdam — 14 апреля в Роттердаме Rails Girls проведут бесплатный однодневный воркшоп.

Конференции

Ruby Meditation #21 — еще не поздно зарегистрироваться на Ruby Meditation, которая пройдет Харькове 14 апреля. Вас ждут интересные и полезные доклады, живое общение и дружеская атмосфера.

RailsConf — если у вас открыта виза в США, не пропустите RailsConf 2018, крупнейшую Ruby-конференцию в мире, которая пройдет 17-19апреля в Питтсбурге, штат Пенсильвания.

Isle of Ruby — с 13 по 15 апреля в Великобритании пройдет Isle of Ruby — фестиваль, где разработчики делятся опытом и отдыхают всем Ruby-комьюнити.

RubyConfBY 2018 — 21 апреля в Минске пройдет третья конференция RubyConfBY. Темы включают ускорение Ruby при помощи JIT-компилятора и перспективах использования языка Ruby в машинном обучении.


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


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


Viewing all articles
Browse latest Browse all 8115

Trending Articles