Ruby Weekly #496: 日本語サマリー
Highlights
Ruby で実装されたプラットフォーム・ゲーム。
70+ Ruby and Rails Security Best Practices and Vulnerabilities
Rails が提供してくれるセキュリティ機能。
X-Frame-Options
ヘッダーX-XSS-Protection
ヘッダーX-Content-Type-Options
ヘッダーX-Download-Options
ヘッダーX-Permitted-Cross-Domain-Policies
ヘッダーReferrer-Policy
ヘッダーContent-Security-Policy
ヘッダーFeature-Policy
ヘッダー- SQL インジェクション防止
- データサニタイズ
- CSRF
- セッション周りセキュリティ
- SSL 制御
Rails 外セキュリティ機能。
- devise でユーザ認証
- pundit or cancancan で認可
- API トークンは JWT が人気
- Rack::Attack gem でリクエスト数制御
- brakeman or(メンテされなくなった) dawnscanner で脆弱性検知
- bundler-audit で Gemfile の脆弱性検知
- セキュリティ系 SaaS
Test Double 社エンジニアが愛用している CLI ツール集。
- Homebrew
brew
- 簡略化した
man
ページを提示してくれるtldr
- 高速検索用 ripgrep
rp
または The Silver Searcherag
- GitHub 操作用
hub
またはgh
- localhost の URL 化用
ngrok
- コピペ用
pbcopy
(MacOS) またはxclip
(Linux) - ファジー検索用
fzf
ls
代替用exa
cat
代替用bat
- 色付きログ出力用
grc
curl
+αのhttpie
またはcurlie
- JSON フォーマット・フィルター用
jq
- git ログ閲覧用
tig
- ポート調査用
lsof
xargs
AppSignal 社の Citadel アーキテクチャー解説。
Articles & Tutorials
HEREDOC 使い方まとめ。
<<HEREDOC
<<-HEREDOC
<<~HEREDOC
<<-HEREDOC.strip_heredoc
<<~HEREDOC.squish
FastRuby 社の Rails バージョンアップ手順。
- production.log、test.log の deprecation 撲滅
- next_rails gem で dual boot 設置
- 各 gem バージョンアップ可否調査
- 新規 Rails バージョン用ブランチ・PR 切る
- 非互換性 PR は新規 Rails バージョン用ブランチに向ける。それ以外は master。
- QA・動作確認
- 新規 Rails バージョン用ブランチを master にマージ
PostgreSQL で位置情報を管理するだけなら、PostGIS は YAGNI。緯度・経度カラムだけで十分。距離も earth_distance
関数でできちゃう。
デプロイ時 Sidekiq 再起動手順。
- sidekiq.service ファイル作成・設定
- 必要な環境変数を sidekiq.service の
EnvironmentFile
で設定 systemctl enable sidekiq
でサービス登録。service sidekiq start
でサービス起動。
binding.pry
next
continue
Code and Tools
グラフ画像生成用 gem。
色付きでフォーマットされた Ruby オブジェクトを puts してくれる gem。
Slack ボット用フレームワーク。
Brutal: A Code-First Approach to Automate The Writing of Unit Tests
YAML を元にテストを生成せいてくれるテストフレームワーク。