rastam’s blog

東京在住のマレーシア人 Rubyist

Ruby Weekly #393: 日本語サマリー

職場の Slack の #ruby 窓で Ruby Weekly メルマガが毎週配信されます。その中から面白そうなものをピックアップして、日本語で簡単なサマリーを書くようにしています。そのサマリーをここでまとまさせていただきます。くだけた日本語で失礼いたします。

http://rubyweekly.com/issues/393rubyweekly.com

Highlights

An In-Depth Look at a Ruby Vulnerability

String#unpack 脆弱性の解説。

ImageProcessing 1.0: Image Processing Helper Library

Shrine でお馴染みの ImageProcessing gem が 1.0 にバージョンアップ。

  • ImageProcessing::MiniMagick がチェーン可能な API になった。
  • EXIF メタデータを元に自動回転補正。
  • サムネールをよりシャープにする後処理。
  • ImageProcessing::Vips でサムネール生成高速化。

News

Ruby Sass to Be 'Put to Pasture' on March 26, 2019

sass gem が deprecate され、来年メンテ終了。Dart Sass へ移行推奨。

Isle of Ruby 2018: A British Ruby Event on April 13-15 (Exeter, UK)

今週末はイギリス・エクセター市の Isle of Ruby カンファレンス。

Tutorial

Graceful Errors in Ruby SDKs

SendGrid、Twilio、Stripe、Contentful の SDK gem のエラー処理比較。

SendGrid は 400、401 発生時に例外を投げず、その後のヌルポなどで初めてエラーが発覚。

Twilio は Twilio::REST::TwilioError を投げるが、エラークラスでもエラーメッセージでもエラー内容が分からない。

Stripe は 400、401 それぞれ専用のエラークラスを投げ、分かりやすいエラーメッセージを添えてくれる。

Contentful は 400、401 それぞれ専用のエラークラスを投げ、API レスポンスをパースしてエラーメッセージに埋め込んでくれる。

The Local Variable Aversion Antipattern

ローカル変数アレルギーはアンチパターンだという主張。

Tools

Gemsmith: A Command Line Interface for Smithing New Ruby Gems

gem 開発用 CLI

Code

Blueprinter: A Declarative and Fast Object to JSON Serializer

JSON シリアライズ用 gem。

Grape: An Opinionated Framework for Creating REST-like APIs

RESTful API 開発用 DSL を提供するフレームワークRailsSinatra と併用可能。