yamori

有給休暇計算を主目的とした簡易勤怠管理システム

Commits at 06101bb6ee8ac7d136557e5712e14429707e7a9a

  1. 9c62df7f backend: サーバの終了コードを定義する わかりづらいため。 Shota FUJI authored at Shota FUJI comitted at
  2. b6ea07de backend: main 終了時に DB を閉じる Go の main のシグネチャは本当に終わってる。 Shota FUJI authored at Shota FUJI comitted at
  3. d5f22577 proto: CapabilityKey を削除 このシステムのユーザ認可には合わなかったため。 ワークスペースの v2 では CapabilityKey に触れる実装をしていないため フィールド定義ごと削除した。 Shota FUJI authored at Shota FUJI comitted at
  4. 7524073c backend: ワークスペース取得処理 認証付きだが、ワークスペースの初期管理者作成の必要可否は別の メソッドにしたほうがいいと気づいたため。 Shota FUJI authored at Shota FUJI comitted at
  5. 2cea57dd backend: ワークスペースの初期表示名 Shota FUJI authored at Shota FUJI comitted at
  6. 90abb48b backend: ワークスペース表示名のイベントとプロジェクション Shota FUJI authored at Shota FUJI comitted at
  7. b6d8311d backend: ログインのテスト Shota FUJI authored at Shota FUJI comitted at
  8. feb97858 backend: テストのヘルパ関数を別ファイルに移動 他のテストでほしかったため。 Shota FUJI authored at Shota FUJI comitted at
  9. 4d35044e backend: テストのセットアップが失敗するのを修正 Shota FUJI authored at Shota FUJI comitted at
  10. cebef263 backend: Login でのログとエラーハンドリング Shota FUJI authored at Shota FUJI comitted at
  11. 3452ebee backend: CreateInitialAdmin でのログとエラーハンドリング Shota FUJI authored at Shota FUJI comitted at
  12. 5693f6f0 backend: JWT の生成・検査ヘルパ 今後ほぼすべての RPC で必要となるため事前に整理した。 Shota FUJI authored at Shota FUJI comitted at
  13. 663ceacd backend: ログイン時に JWT を SameOrigin Cookie に焼き付ける Shota FUJI authored at Shota FUJI comitted at
  14. 36d31f78 backend: ログイン処理を別ファイルに移す ファットになりすぎて見づらかったので。 Shota FUJI authored at Shota FUJI comitted at
  15. 0fce04ca proto: ユーザ作成リクエストをシンプル化 移行したのでフィールドを詰めた。デプロイとかしてないし。 oneof から別個のフィールドにしたのは使いやすさのため。 正直種々のコードジェネレーターの吐く oneof 実装がクソ過ぎて 使いたくない。将来的にも別個のほうが、例えば管理者から特定の 権限を外す場合などにも対応できる。まぁ oneof 外すのは簡単なん だけどね。 Shota FUJI authored at Shota FUJI comitted at
  16. 8842bc99 backend: 初期管理者ユーザ作成 RPC へ移行 Shota FUJI authored at Shota FUJI comitted at
  17. 9231b3a0 proto: 管理者ユーザ作成メソッド ユーザ作成暗黙の RPC に oneof みたいなフィールドが多く使い勝手が 悪いと感じたため。 backend のコードに触れているのは Connect Go のサービスが全てのメソッドを 実装していないとコンパイルエラーになるという欠陥設計によるもの。 Shota FUJI authored at Shota FUJI comitted at
  18. ed45ac44 backend: 管理者作成のテスト Shota FUJI authored at Shota FUJI comitted at
  19. c0522153 backend: -h がヘルプになるのを修正 kong は無条件で -h を設定するため、デフォルトのヘルプを無効化する 必要がある。 Shota FUJI authored at Shota FUJI comitted at
  20. 4a363d11 backend: HTTP サーバのホストとポートを CLI 系で変更可能にした ぶっちゃけログのほうがメインだったり。実際に何度も立ち上げて わかりづらかったので。 Shota FUJI authored at Shota FUJI comitted at
  21. 7627d966 backend: まともに CLI 引数を渡せるようにする Go の flag パッケージは普通の `-a`/`--a-long` 形式をサポートせずに `-a-long` で全部ポインタのため。楽だが、成果物の UX が悪くなるという アンチパターン。 Go の標準ライブラリ割とだめじゃね...? Shota FUJI authored at Shota FUJI comitted at
  22. dafd1a3c backend: テキストログ出力をまともに見れるように修正 Shota FUJI authored at Shota FUJI comitted at
  23. 0b23f623 backend: テキストログと JSONL ログを選べるようにした JSONL は便利だがテスト時などは見にくい。 Shota FUJI authored at Shota FUJI comitted at
  24. e95f3a9c backend: デバッグログを見れるようにする 見れなきゃ出しても意味ないので。 Shota FUJI authored at Shota FUJI comitted at
  25. 4440b52c backend: 管理者作成パスワードの初期指定 自動テストが書けないので。 Shota FUJI authored at Shota FUJI comitted at
  26. 6b71ff4f proto: ユーザの権限モデル定義 Shota FUJI authored at Shota FUJI comitted at
  27. f1497f78 backend: ログイン RPC Shota FUJI authored at Shota FUJI comitted at
  28. 05bda859 backend: イベント生成のヘルパ関数 自動生成されるコードがあまりにも酷くノイズでしかないため。 Shota FUJI authored at Shota FUJI comitted at
  29. a20b0398 backend: 管理者ユーザ作成時に PW を設定する 単純な抜け。 Shota FUJI authored at Shota FUJI comitted at
  30. e3344e20 backend: 初期管理者作成フロー テストは一パターンしかないが、初期パスワードを明示的に指定する機能が ないとテストができないので (ログをキャプチャするとかは勘弁) とりあえず サンプル的に書いてあるだけ。ちゃんと書くならある程度ヘルパ関数に出して いく必要がありそう。 スナップショットやプロジェクションあたりは PoC をベースにシンプルで クリーンな感じを目指して書いたが、もう少し詰めてきれいにできそうな 気がする。 Go 特有のボイラープレートは全然問題ではなかったが、 Protobuf/Go の吐く コードがやばすぎてやばさがやばい。現状、 * WASM 出力ができる * 2023 edition の Protobuf に対応している * ランタイムオーバヘッドが大きくない 言語が Go しかなくスイッチはできないので、ヘルパなり何なりで早めに対策 をする必要がありそう。特に `oneof` のコード生成がオワコンすぎる。 Protobuf 2024 edition が出たら生成コードが Opaque になって Builder 系の ヘルパが生成されるのでそれまで待つのもあり? 2025 Q3 あたりでようやく 仕様が固まる見通しっぽいからあまりにも酷ければ移行を見越したヘルパなり Builder と似た機構を用意したほうがいいかも。 色々と中途半端なところや TODO コメントがあるが、これ以上完璧を目指すと diff を読むのが地獄なのでここで一区切り。 Shota FUJI authored at Shota FUJI comitted at