rastam on rails

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

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

rubyweekly.com

Highlights

Introducing Hanami::API

Hanami の APIフレームワーク登場。パフォーマンスが速いらしい。

AWS Lambda Now Supports Ruby 2.7

Ruby 2.7 も使えるようになった AWS Lambda。

RubyKaigi 2020 Schedule Revealed

4 月の RubyKaigi 2020 スケジュール発表。

Articles & Tutorials

How to Test Static Sites with RSpec, Capybara, and Webkit

Jekyll 静的サイトのリンクが全て遷移できるかどうかを、Capybara でテストした話。

Rails Mistakes That Could Break Your Production Servers

ダウンタイムをうっかり起こしちゃう方法。

  • ActiveRecord::Base.transaction 乱用
  • rails console --sandbox
  • 重い migration
  • DB コネクションプール不足
    • puma、sidekiq などの設定が config/database.yml の pool を超えないように要注意
    • PostgreSQLmax_connectionsPGTune で調整

Rails Has Added a 'Strict Loading' Mode to Prevent Lazy Loading

N+1 防止用 Rails 6.1 の strict_loadingincludes 付け漏れたら ActiveRecord::StrictLoadingViolationError を投げてくれる。

Using 'Pending' Cops in Rubocop to Make Upgrades Easier

Rubocop の新規 cop の Enabled フラグを明示的に設定するまでは警告を出力するようになった。

Deep Dive Into rackup

rackup コマンドのコードリーディング。.ru ファイルは Rack::Builder オブジェクトの binding で eval される。

Partitioning Parallel Tests On Heroku CI

Heroku CI でテストを並列実行するように設定する手順。。

Code and Tools

Better Errors: A 'Better Error Page' for Rack Apps

エラー調査に役立つ画面を表示してくれる Rack ミドルウェア gem。

Rpush 5.0: A Push Notification Service for Ruby

プッシュ通知用 gem。

will_paginate 3.3: A Pagination library for Rails, Sinatra, and More

ページネーション用 gem の Ruby 2.7・Rails 6 に対応したマイナーバージョン。

acts_as_list 1.0: An ActiveRecord Plugin for Managing Lists

ActiveRecord 表示準操作用 gem。