Commits at ad08276edc764f5f6eccf927872f5e4ba62c3eb3
feb97858
backend: テストのヘルパ関数を別ファイルに移動
他のテストでほしかったため。
Shota FUJI
authored at
2025-04-21 10:54:52 +0900
Shota FUJI
comitted at
2025-04-21 10:55:24 +0900
4d35044e
backend: テストのセットアップが失敗するのを修正
Shota FUJI
authored at
2025-04-21 10:53:22 +0900
Shota FUJI
comitted at
2025-04-21 10:53:50 +0900
cebef263
backend: Login でのログとエラーハンドリング
Shota FUJI
authored at
2025-04-21 10:28:44 +0900
Shota FUJI
comitted at
2025-04-21 10:28:56 +0900
3452ebee
backend: CreateInitialAdmin でのログとエラーハンドリング
Shota FUJI
authored at
2025-04-21 10:21:21 +0900
Shota FUJI
comitted at
2025-04-21 10:21:54 +0900
5693f6f0
backend: JWT の生成・検査ヘルパ
今後ほぼすべての RPC で必要となるため事前に整理した。
Shota FUJI
authored at
2025-04-21 10:10:46 +0900
Shota FUJI
comitted at
2025-04-21 10:11:44 +0900
663ceacd
backend: ログイン時に JWT を SameOrigin Cookie に焼き付ける
Shota FUJI
authored at
2025-04-20 16:33:16 +0900
Shota FUJI
comitted at
2025-04-20 17:30:08 +0900
36d31f78
backend: ログイン処理を別ファイルに移す
ファットになりすぎて見づらかったので。
Shota FUJI
authored at
2025-04-20 14:00:19 +0900
Shota FUJI
comitted at
2025-04-20 14:04:38 +0900
0fce04ca
proto: ユーザ作成リクエストをシンプル化
移行したのでフィールドを詰めた。デプロイとかしてないし。
oneof から別個のフィールドにしたのは使いやすさのため。
正直種々のコードジェネレーターの吐く oneof 実装がクソ過ぎて
使いたくない。将来的にも別個のほうが、例えば管理者から特定の
権限を外す場合などにも対応できる。まぁ oneof 外すのは簡単なん
だけどね。
Shota FUJI
authored at
2025-04-20 00:17:35 +0900
Shota FUJI
comitted at
2025-04-20 00:20:30 +0900
8842bc99
backend: 初期管理者ユーザ作成 RPC へ移行
Shota FUJI
authored at
2025-04-20 00:14:28 +0900
Shota FUJI
comitted at
2025-04-20 00:15:29 +0900
9231b3a0
proto: 管理者ユーザ作成メソッド
ユーザ作成暗黙の RPC に oneof みたいなフィールドが多く使い勝手が
悪いと感じたため。
backend のコードに触れているのは Connect Go のサービスが全てのメソッドを
実装していないとコンパイルエラーになるという欠陥設計によるもの。
Shota FUJI
authored at
2025-04-19 15:57:37 +0900
Shota FUJI
comitted at
2025-04-19 16:16:23 +0900
ed45ac44
backend: 管理者作成のテスト
Shota FUJI
authored at
2025-04-18 15:07:36 +0900
Shota FUJI
comitted at
2025-04-18 15:07:48 +0900
c0522153
backend: -h がヘルプになるのを修正
kong は無条件で -h を設定するため、デフォルトのヘルプを無効化する
必要がある。
Shota FUJI
authored at
2025-04-18 14:25:53 +0900
Shota FUJI
comitted at
2025-04-18 14:27:28 +0900
4a363d11
backend: HTTP サーバのホストとポートを CLI 系で変更可能にした
ぶっちゃけログのほうがメインだったり。実際に何度も立ち上げて
わかりづらかったので。
Shota FUJI
authored at
2025-04-18 14:07:14 +0900
Shota FUJI
comitted at
2025-04-18 14:10:18 +0900
7627d966
backend: まともに CLI 引数を渡せるようにする
Go の flag パッケージは普通の `-a`/`--a-long` 形式をサポートせずに
`-a-long` で全部ポインタのため。楽だが、成果物の UX が悪くなるという
アンチパターン。 Go の標準ライブラリ割とだめじゃね...?
Shota FUJI
authored at
2025-04-18 13:38:32 +0900
Shota FUJI
comitted at
2025-04-18 13:52:16 +0900
dafd1a3c
backend: テキストログ出力をまともに見れるように修正
Shota FUJI
authored at
2025-04-18 13:37:10 +0900
Shota FUJI
comitted at
2025-04-18 13:37:37 +0900
0b23f623
backend: テキストログと JSONL ログを選べるようにした
JSONL は便利だがテスト時などは見にくい。
Shota FUJI
authored at
2025-04-18 10:28:35 +0900
Shota FUJI
comitted at
2025-04-18 10:29:43 +0900
e95f3a9c
backend: デバッグログを見れるようにする
見れなきゃ出しても意味ないので。
Shota FUJI
authored at
2025-04-18 10:21:46 +0900
Shota FUJI
comitted at
2025-04-18 10:22:17 +0900
4440b52c
backend: 管理者作成パスワードの初期指定
自動テストが書けないので。
Shota FUJI
authored at
2025-04-18 10:15:11 +0900
Shota FUJI
comitted at
2025-04-18 10:17:45 +0900
6b71ff4f
proto: ユーザの権限モデル定義
Shota FUJI
authored at
2025-04-17 17:25:33 +0900
Shota FUJI
comitted at
2025-04-17 19:51:06 +0900
f1497f78
backend: ログイン RPC
Shota FUJI
authored at
2025-04-15 14:01:45 +0900
Shota FUJI
comitted at
2025-04-15 14:46:13 +0900
05bda859
backend: イベント生成のヘルパ関数
自動生成されるコードがあまりにも酷くノイズでしかないため。
Shota FUJI
authored at
2025-04-15 13:51:17 +0900
Shota FUJI
comitted at
2025-04-15 13:53:01 +0900
a20b0398
backend: 管理者ユーザ作成時に PW を設定する
単純な抜け。
Shota FUJI
authored at
2025-04-15 13:26:48 +0900
Shota FUJI
comitted at
2025-04-15 13:27:18 +0900
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
2025-04-13 23:14:50 +0900
Shota FUJI
comitted at
2025-04-13 23:38:31 +0900
9aef8519
Zig 関連の設定を削除
利用しなくなったため。
Shota FUJI
authored at
2025-04-11 21:09:45 +0900
Shota FUJI
comitted at
2025-04-11 21:11:23 +0900
dd213fe7
vendor/go-sqlite3-js: WASM で DB が開けないのを修正
そもそもこのコードが動いていたのか甚だ疑問。
Shota FUJI
authored at
2025-04-11 16:07:11 +0900
Shota FUJI
comitted at
2025-04-11 16:08:07 +0900
516cab77
backend: SQLite3 の導入
WASM でも動かすために色々追加している。
ただ、これ以上環境依存のツールを導入しなければ後は共通の
コードを書くだけになるはず。
Shota FUJI
authored at
2025-04-10 21:26:57 +0900
Shota FUJI
comitted at
2025-04-11 16:06:24 +0900
115fc47f
backend: すべて Go で書く
WASM の出力がおかしいのはどうやら v1.24.1 限定のバグだった模様。
v1.23.8 と v1.24.2 では再現しなかった。リリースノートにはないので
バレないようにしれっと直したのだろう。
pwa パッケージにサンプル的なコードが入っているが、これは動作確認用。
後で消す予定だが、どのみち pwa パッケージは使わなくなるのでそのまま
になる可能性も。
Shota FUJI
authored at
2025-04-09 15:49:19 +0900
Shota FUJI
comitted at
2025-04-10 21:06:00 +0900
82244747
backend: SQLite3 での Event Sourcing スキーマ
SQL 文の正常性確認は実際に行いそうなクエリや INSERT を書いたものを
`001_test.sql` と保存した上で、
```
$ cat migrations/*.sql | sqlite3 -table
```
を実行した。
本来であればマイグレーションの実行までを一纏めにしたかったが、
ここに来て Zig の protobuf である Gremlin のコード生成が全然ダメ
なことが発覚。特に `oneof` を普通のメッセージと同様に出力するため
利用側でどのフィールドが判別できない ("_" でプリフィクスされてる
フィールドが `null` かどうかを見ればわかるが、非公開だしハック)
ので実用に耐えないことが分かった。他の Protobuf コード生成ツールは
Protobuf3 しか対応しておらず、 edition 向けのちゃんとしたツールを
書くしかない。しかし工数的に、というかペース的にそんな余裕がないので
Go (WASM 出力できれば) か Rust (Go がウンコだったら) での書き換えを
する予定。そうなると更に低レベルな内容のコミットとなるため、別の
コミットにすることとした。
要約すると、大量の環境整備が入るけどこの SQL 捨てるの勿体ないから
コミットしたよ。
Shota FUJI
authored at
2025-04-07 09:29:30 +0900
Shota FUJI
comitted at
2025-04-07 20:38:34 +0900
7db4a3ee
backend: server.zig を削除
サーバも WASM を使うことにしたため。
Shota FUJI
authored at
2025-04-06 21:53:59 +0900
Shota FUJI
comitted at
2025-04-06 21:54:34 +0900
f6062794
proto: ユーザ作成 RPC
Shota FUJI
authored at
2025-04-06 15:35:13 +0900
Shota FUJI
comitted at
2025-04-06 15:36:52 +0900
Commits for
ad08276edc764f5f6eccf927872f5e4ba62c3eb3
Viewing range
feb97858
~ f6062794