Commits at master
-
87be8e69
proto: ログアウト RPC
Shota FUJI
authored at
Shota FUJI
comitted at
-
c433adc6
proto: ログイン RPC
Event Sourcing をするにしろ通常の CRUD SQL にするにしろ、
まずこれが必要になる。このあとのユーザ周りの設計にも必要
になってくる。
Shota FUJI
authored at
Shota FUJI
comitted at
-
b24ca3f0
backend: connectrpc を使ったサーバ
リクエストを受けると Go -> Zig (WASM) -> Go という順番で処理を
行う。 connectrpc のデザイン制約上 binary -> Go struct -> binary
-> Zig struct -> binary -> Go struct -> binary と非常に非効率な
シリアライズ・デシリアライズをしてしまっている。ただ、現状 Zig で
まともな gRPC ライブラリがないこと、自前の HTTP2/3 をベースにした
実装だとプロファイルやテストで実装コストが膨らむことから当面は
この非効率実装を妥協点とする。
長期的には独自の protobuf 用 RPC + rate limit 付きの (非効率な)
現状と同じ connectrpc 経由の外部向け gRPC というのが無難そうか。
Shota FUJI
authored at
Shota FUJI
comitted at
-
75d721c8
backend: Wazero を使った Go からのコア呼び出し
gRPC やらサーバ周りは Go が充実しているため。
また、サンドボックスで実行されることにより I/O を限定でき、
安全にコアを実行できる。
Shota FUJI
authored at
Shota FUJI
comitted at
-
f5eafc11
backend: WASM バックエンド
DB とかはない。そもそもどんな DB アクセスにするのかとか
設計とか考えてないし。
Shota FUJI
authored at
Shota FUJI
comitted at
-
62a6766e
backend_core: Zig から protobuf を利用する
使っている Gremlin というコード生成ライブラリと Zig という言語の
仕様上、 proto でライブラリを出力、というのはハックになってしまう。
そのため、多少効率は悪くなるが利用側で都度出力する形にした。
Protobuf は .proto 毎にソースファイルを生成、という形だが Zig は
配布形態に合わせたパッケージングとなる。つまり、静的・動的な
ライブラリや実行ファイルがモジュールの単位となる。そのため「複数
ファイル群をモジュールとして公開」ということはできない。
このコミットでは protobuf の wkt (well-known types) の追加も
含まれている。これは Gremlin が protoc に対応しておらず wkt が
含まれていないため。このベンダリングに伴うライセンス周りの変更も
入っているため少し変更ファイル数が多くなっている。
Shota FUJI
authored at
Shota FUJI
comitted at
-
e551c6fc
proto: 単一ワークスペース向け構成 RPC
現実的な運用としてマルチワークスペースはなさそうということが判明。
自分の組織だけのデプロイなのにワークスペース選択やらがあるのは不便なので
単一ワークスペース向けのフローを考えそれに必要な RPC を実装した。
Shota FUJI
authored at
Shota FUJI
comitted at
-
90396a7f
proto: 疎通確認RPC
実装初期やテスト、ステータス確認などいろいろ便利なため。
Shota FUJI
authored at
Shota FUJI
comitted at
-
25753283
test_go_consumer: サンプルパッケージの削除
Shota FUJI
authored at
Shota FUJI
comitted at
-
1fcfa4b3
proto: Go バインディングの出力
サンプル用にテストのパッケージも追加している。
Shota FUJI
authored at
Shota FUJI
comitted at
-
24c1c392
docs: アーキテクチャ図を更新
"ship fast" を優先するため使いやすい技術スタックにした。
また、 web ホスティングが優先要件となったためそこも含めた。
Shota FUJI
authored at
Shota FUJI
comitted at
-
5a71f21c
react_ui: 勤怠記録編集ダイアログ
ショートカットキーだけでは半日の入力に無理があるため。
半日の記録の頻度などを考え、一先ずこれでどうにかなるのでは?と
いうことで実装した。
Shota FUJI
authored at
Shota FUJI
comitted at
-
7d060f01
react_ui: 改善された勤怠履歴のフィールドへ移行
ひとまずバックエンド、そしてスキーマから旧フィールドを削除するために
旧フィールドの利用を消した。
UI 上での変更はまだ。
Shota FUJI
authored at
Shota FUJI
comitted at
-
029baa80
idb_backend: 改善された一日未満へのデータモデルへ移行
Shota FUJI
authored at
Shota FUJI
comitted at
-
72e12b4e
idb_backend: 改善された一日未満のデータのストレージ移行
Protobuf メッセージの移行もしてしまうと変更がかなり大きくなって
しまうため、内部のストレージ設計のみ変更した。
Shota FUJI
authored at
Shota FUJI
comitted at
-
9bc9de45
idb_backend: 解消済みのTODOコメントを削除
Shota FUJI
authored at
Shota FUJI
comitted at
-
6a2e0bb6
proto: 一日未満の勤怠記録のデータ設計を改善
以前のままでは半日公休+半日出勤&時間単位年休といった記録が
つけられなかった。オフラインで議論を重ねてこの形なら汎用性
とシンプル性が保てるという結論に達したものをコードにした。
Shota FUJI
authored at
Shota FUJI
comitted at
-
4e25a2f1
idb_backend: マイグレーションを個別のファイルに分割
大きくなりすぎて書いたり読んだりするのが大変になってきたため。
Shota FUJI
authored at
Shota FUJI
comitted at
-
427faaf9
react_ui: CSV/TSVダウンロード
Shota FUJI
authored at
Shota FUJI
comitted at
-
8689f7f2
react_ui: 集計画面に未入力日数を表示する
Shota FUJI
authored at
Shota FUJI
comitted at
-
eeffc205
react_ui: 勤怠記録書き込み成功時にトーストを出さない
複数日に纏めて書き込む場合は問題ないが、キーボードショートカット
で一日ずつ書き込む場合は非常に邪魔で仕方ない。
Shota FUJI
authored at
Shota FUJI
comitted at
-
538052dd
react_ui: サマリ画面のタイトルを変更
わかりやすいタイトルはないか意見を聞いたところ、このデータは
集計データであり月次集計などが適当であるという意見をもらった
ため。ページとしては期間は任意のため、月次・年次という装飾は
つけずに集計表とぼかした。
Shota FUJI
authored at
Shota FUJI
comitted at
-
3afd26fe
react_ui: ワークスペースサマリ画面
Shota FUJI
authored at
Shota FUJI
comitted at
-
4f8e1c68
README の実装状況を更新
Shota FUJI
authored at
Shota FUJI
comitted at
-
b4deadf5
react_ui: 勤怠記録編集のキーボードショートカット
Shota FUJI
authored at
Shota FUJI
comitted at
-
c808f6cc
react_ui: 勤怠記録編集処理をモジュールに切り出し
メニュー以外からも呼び出したかったので。リファクタだけでもボリュームが
あるため個別のコミットにした。
Shota FUJI
authored at
Shota FUJI
comitted at
-
30b9a80d
react_ui: 省略表記
Shota FUJI
authored at
Shota FUJI
comitted at
-
cbca2b2c
idb_backend: 省略表記
Shota FUJI
authored at
Shota FUJI
comitted at
-
7f34578c
proto: 省略表記フィールド
カレンダーで詰めて表示する際に、この設定がないと一文字しかでなかったり
わかりづらい省略になったりで不便なため。
Shota FUJI
authored at
Shota FUJI
comitted at
-
d9413a5d
react_ui: カレンダーの行ヘッダを労働者詳細へのリンクにする
使っていてジャンプできないのは不便だと感じたため。
Shota FUJI
authored at
Shota FUJI
comitted at