5/15~6/3のメモ
Active Storage: allow serving files by proxying · rails/rails@dfb5a82
- cdnでactive storage使えるようになって素敵
バケットポリシー
バケットポリシーで有効であれば、ユーザのポリシーがなくてもアクセス可能
S3のアクセスコントロールリスト
画像アップロードして閲覧する、みたいなサービスのとき、バケットのアクセスコントロールリストの「オブジェクトの一覧」をチェックしていたのだけど不要だった
S3のバケットポリシーでハマったので、S3へのアクセスを許可するPrincipalの設定を整理する | Developers.IO
UPS
電気ケトルなどを使っているとルーターも属しているサブブレーカーがよく落ちてインターネット接続が死ぬので、VDSL装置とルーターをUPSにつなげたいのだけどどれがいいのか全然わからない…。瞬断があると困るのだけど、瞬断がないやつはざっと見た限り10万くらいから。さすがに高い。
「UPS」を正しく選ぶコツ――容量の計算方法は? 給電方式とは? (1/3) - ITmedia PC USER
他の記事見た感じ、別に高いやつじゃなくても大丈夫そう?
savanna.io公式twitterアカウントをruby-jpのsavannaチャンネルに流すようにした
TwitRSS.me - rss of twitter user feeds by screenscraping with perl を使った
Add signed ids to Active Record (#39313) · rails/rails@1a3dc42
パスワードリセット機能なんかを作るときに便利そう
Rails Bytes
rails templates共有サイト。gemの導入に複数ステップ必要な場合にこれを活用すると一ステップに縮まるのでいいんじゃないかと思った
StimulusReflex
stimulusの拡張で、サーバが送ったHTMLを既存のHTMLといい感じにマージさせて更新させることで、jsを頑張らなくてもSPAできるぞ!というやつらしい。ちゃんと時間をとってドキュメント読んだり試してみたい
Each form gets its own CSRF token in Rails 5 | BigBinary Blog
YAMLやMarshalをロードするとRCEになる、みたいなの具体的にどういう感じなんだっけ
MarshalでRCEになるのはそれ使ってsendしてるコードがアプリケーション内にある、とかなのかなあ
The dash of sugar used to support the key architectural pattern in BC3 + HEY by dhh · Pull Request #39341 · rails/rails
Railsでクラステーブル継承機能ができそう。よいのでは
画像ファイルによるクロスサイト・スクリプティング(XSS)傾向と対策 | 徳丸浩の日記
- nosniffつけない状態で脆弱性となる具体的なケース、よく忘れる
- ↑はjsを画像と偽る例
https://qiita.com/noob1234/items/0d9e0f94eb26e4087d8e
aws cliでのログイン、profileごとに設定を分けられるのかな
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-profiles.html
なるほど単に~/.aws/credentials
に規定の書き方で書いておけばいいかな(オプション覚えるのがだるい)。
AWS Chatbot(beta版)を用いたSlack通知 | SEEDS Creators' Blog | 株式会社シーズ
https://github.com/puma/puma-dev/blob/e264766d07b2c78e0e6f60b8219b9bb487b51f81/dev/resolver.go#L12
macOS Catalina 10.15.4の不具合:Macがスリープから復帰後に強制再起動する問題が発生中 | ゴリミー
- 完全に一致
- comboってなに?と思ったので調べたMacのcombo(統合)アップデートと通常のアップデートの違い | MacRuby
- 普通にアップデートするのとなにか違うんかな
- とりあえずpowernapをオフにしておいた→改善した
https://github.com/rails/rails/commit/6c4f3be929f1f427d6767050848f2fbee8c1f05f
コントローラ単位でraise_on_missing_translationsできるようになった
automatorで作業自動化したい
普段、自宅では縦2枚にしたディスプレイを使っているのだけれど、zoomなどで画面共有をするときには横にして使っている。毎回システム設定を起動してディスプレイを選択して、横(縦)にする方のディスプレイ設定を変更するというのが面倒なので、自動化設定したいな、と思いautomatorを試してみた。
automatorは操作を記録して自動化できるので一見できそうだったが、初期状態(例: システム設定が起動している、していない)やマウスクリックの座標が状況によって異なるのが影響しているようでうまく自動化できなかった。うまいやり方があるような気もするが、気力がないのでとりあえず今日はここまで。automatorの知見があるひとに話を聞いてみたい(ググっても簡単な使い方しか引っかからない)
deep-cover/deep-cover: The best coverage tool for Ruby code
ruby標準のcoverageを置き換えるgem。ぱっとみ良さそうではある
Dependabot
- dependabot、web上からだけではなくてconfig.ymlで設定できる
- 編集できる内容はwebで編集するのと変わらなそう
【新機能】Amazon CloudFrontに「Maximum TTL / Default TTL」が設定できるようになりました! | Developers.IO
それぞれどういうときに使われるかよくわかっていなかったので勉強になった
https://github.com/rails/rails/pull/39445
- arelをwhereのブロック中で指定できる
- べんりだけど、どんなクエリになるのかわかりづらくなりそうだなー
依存性の注入 - Wikipedia
rubyだとDI使うこと無いから、具体的にどんなんだったっけ?となってググった
Dockerのマルチステージビルドを使う - Qiita
イメージの大きさを小さく保つためのテクニック。本番環境でDocker使うなら積極的に使いたいところ
Understanding if your Deployment is CPU or Memory Bound
- 参考になった
- Railsは高トラフィックでもメモリ使用量はかわらない。時間経過でメモリが増えるのはある
- CPUは逆に高トラフィック下でCPU使用量が増える。時間経過では変わらない
- メモリは計測しやすいけどCPUは高トラフィックなときじゃないと計測できない
- Railsのプロセスを1つ増やすか(もしくはunicornからpumaに移行するか)どうかは、1つ増やして高トラフィックなときにCPUとメモリを使い切っているかを考える
- CPU使い切っていたらどうしようもない。pumaはメモリ効率よくなるけどCPUに関しては変わらない
- メモリ使い切る(そしてCPUに空きがある)場合はunicorn→pumaにして、スレッド数を2以上にしてもうまくいくかも