じぶん ReleaseNote v0.1
ふと月1ぐらいでその月何をやってたのかまとめてみようかな、と思いたったのでまとめます。
基本的にGitHubのprivate repoで行ってた作業のまとめになると思います。
- ActiveRecordのissueを立てた Test fixtures don't raise ReadonlyError when using replica connection · Issue #37765 · rails/rails · GitHub
- 6.0.2のrcのリリースログを見てたらこの問題っぽいのが直ってるようなことが書かれていた
- 時間がなくて検証できていないのでまた検証したい
- ざっくりいうとテスト環境で
use_transactional_tests = true
だとActiveRecord::ReadOnlyError
が発生しないという報告
- 6.0.2のrcのリリースログを見てたらこの問題っぽいのが直ってるようなことが書かれていた
- cert-managerの更新
- v0.9.1 => v0.10.1 に更新
- 特別なことなく、README通りに行った
- makefileを修正して入れる手順の変更も追従
- v0.11系は破壊的変更があるようだったので更新時に出ていたが見送り
- ちゃんと読んでいないが、upgradeとしてhelmのuninstall/installが必要っぽい
- 既存の証明書が失効されると影響範囲が広いのでまとまった時間が取れたときにやる...
- こういう変更がガンガン来ると厳しいのでv1になるまでv.10系で耐えられないかなぁと思ってたりする
- v0.9.1 => v0.10.1 に更新
- golangci-lintの更新
- v1.19.1 => v1.21.0 に更新
- timeoutフラグで正しくtimeoutを指定できるようになっていたので変更に追従
- もともとdeadlineというフラグだったのがこのあたりのversionでtimeoutというフラグ名に変換された
- ドキュメントからdeadline指定も消え、ぱっと見timeoutフラグを見るようになっていたが、バグっててdeadlineフラグで指定する必要があった
- golangの更新
- helmの更新
- v2.14.3 => v2.16.1 に更新
- v3に行くには割と腰を入れてやらないといけないので一旦v2の最新版にした
- GKEクラスタの更新
- GitHub Contributionsを教えてくれるbotを作った
- 昔使っていたドメインで動かしているサービスのリダイレクト対応
- appのpodが立ち上がる前にpostgres/redisが起動していることを待つようにした
- sidekiqのpodが殺される前にredisにpush backしてくれたjobがpod再起動時にmiddlewareと繋げないとraiseして消失するケースの対策
- pumaやsidekiqはdb/cacheのpodがいないときに立ち上がってもまともに動かないので立ち上がるまでwaitする対応を入れた
- 既存サイトにgoogleログイン機能を入れた
- 昔に作ったやつでそのサイトだけ入っていなかったが、手元で本番データをimportした後パスワードを変えないと入れないのが面倒だったので
- 普通にprod環境で見るときにも1passwordを使うのがちょっと面倒だった
- static ipの紐付け手順のドキュメント化
- 上で書いたGKEの更新時にstatic ipが外れてしまうのでアップグレード手順に追記した
- 自動化したい
- GitHub Actionsのキャッシュ対応
- tslintからeslint + prettierに移行
- tslintはdeprecatedと出ていたので全体的に移行した
- package.json及びyarn.lockの行数が増えたなーという印象
- 基本的にprettierの機能だけで十分だなと感じた
- typescript 3.7更新
- Nullish Coalescingとoptional chainingが使いたかった
- Nullish Coalescingでイケイケだぜ、とか思って改修してたら1個バグを埋め込んでしまっていた
if (hoge === undefined || hoge === null)
みたいなのを書くのが面倒なのでこれをシュッとかけるやつがほしいなぁ- (追記: 同日) twitterで
if (hoge == null)
でいけるよと教えてもらった - lintのルールにも引っかからなくて運用できることがわかったので今後はこの記法を使っていく
- (追記: 同日) twitterで
- bundle update
- 色々更新した、sprocketsが4系に上がったときにSEGVを吐くようになってしまった
- webpackerと併用していると起きやすいような印象だが、どういうリポジトリだと起きるのかよくわからない
- 当面は3.7.2で固定するようにした
- 脆弱性の対応
- reactからsentryに送るプラグインの乗り換え
- raven-for-reduxというのを使っていたが、redux-sentry-middlewareというやつのほうが良さそうだったので移行
- ransack周りのデフォルト値改善
- アプリ固有の話だが、ransackのデフォルト値を制限したリンクにすることでユーザが好んでいるページをfirst actionで表示できるようにした
- 謎joinによる例外修正
- 過去のコミットを見ても全く理由がわからないが、謎にtableをjoinしているせいでransack周りで一定条件でエラーを吐く問題を修正した
- クソコミットで何の情報もなかったので過去の自分に憤りを覚えた
- 大量レコードの集計処理リファクタリング
- activerecord-importをもともと使っていたが、rails6からinsert_allの機能が入ったので修正した
- 書いてたときに疑問に思って放置していたが、upsert_allのときでもcreated_atを指定しないといけない気がしていて、updateなら更新したくないんだけどなぁと思った
- ブックマークレットの機能をrailsリポジトリから剥がして専用のリポジトリにした
- ブックマークレットリポジトリ(react + typescript)の環境構築
1ヶ月何してたんだろう、と思ったけど割と色々してた。
この中で面白そうなトピックがあれば切り出して記事にしてもいいかもしれない…。
来月もちゃんと書けるように趣味コードを書いていきたい。