Ruby Weekly #399: 日本語サマリー
職場の Slack 窓で Ruby Weekly メルマガが毎週配信されます。その中から面白そうなものをピックアップして、日本語で簡単なサマリーを書くようにしています。そのサマリーをここでまとまさせていただきます。くだけた日本語で失礼いたします。
http://rubyweekly.com/issues/399rubyweekly.com
Highlights
Ruby 2.6 の exception
キーワード引数で例外を投げるかどうか指定できるようになる。
deprecated ソースコードを parser gem で AST に変換して書き換える話。
ActiveStorage がリリースされたため、Paperclip gem が deprecated になった。
Gotham Ruby Conf 2018: A One Day Ruby Event in NYC on June 16
ニューヨークの GORUCO がいよいよ。
Passenger の development モードのエラー画面のデザインを改善した話。
Tutorials
Rack::Attack ミドルウェアで DDoS 防止。
筆者自慢の初期 CI/CD パイプライン。
push するたびに
- test 環境コンテナにデプロイされる
- staging 環境で migration が実行される
- テストが実行される
テストが通ったコミットを master ブランチに push するたびに
- staging 環境コンテナにデプロイされる
- production 環境 DB がバックアップされ、staging 環境でダンプされる
- staging 環境で migration が実行される
テストが通ったタグを push するたびに
- production 環境コンテナにデプロイされる
- production 環境 DB がバックアップされる
- production 環境で migration が実行される
attr_encrypted gem で DB 内メアドを暗号化し、blind_index gem で検索可能に。
Rails アプリ、ブログの GDPR 対策。
- Nginx ログロテ、IP 匿名化
- Rails ログ匿名化
- Google Analytics IP 匿名化
- 利用規約、承諾チェックボックス追加
- 既存ユーザに利用規約承諾メール送信
How to Create Charts in a Rails App with Just One Line of Code
chartable gem で .analytics
取得用メソッドを ActiveRecord モデルに生やし、chartkick gem で可視化。
Code & Tools
paranoia gem のメンテナーが新しく作った ActiveRecord 論理削除用 gem。
acts_as_paranoid、paranoia gem よりは魔術が少ない:
default_scope
を生やさない#delete
#destroy
を上書きせず、新しいインタフェースを生やすdependent: :destroy
で関連レコードを削除しない
aws_public_ips: Fetch All Public IP Addresses Tied to Your AWS Account