yamori

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

Commits at 8e052c379a38585df57220424fb5b2ee7eba969e

  1. 8e052c37 docs: アーキテクチャを更新 現状の最新版の構想に更新した。 D2 のフォーマッタを設定していないが、これは意図的なもの。 "d2 fmt" 、というより D2 の CLI 自体が非常に低品質のため * stdin から読み込んで変更がない場合に出力がない * ファイルパスを指定して stdout に出力するフラグがない * そもそもサブコマンドごとのオプションがない * etc. と現状使い物にならない。 Shota FUJI authored at Shota FUJI comitted at
  2. e3e8304d flake-utils を使わない flake-utils はアンチパターンと言われている。実際 diff を見てわかる通り 素で書いても大したことはやっておらず、また何をやっているのかもこちらの ほうが圧倒的にわかりやすい。 Shota FUJI authored at Shota FUJI comitted at
  3. 54938d63 docs: 利用されなくなったコマンドを削除 Shota FUJI authored at Shota FUJI comitted at
  4. 88cfb5e8 nix fmt で使う Zig を v0.16 にアップグレード 単純にこっちのバージョンを上げ忘れただけ。 Shota FUJI authored at Shota FUJI comitted at
  5. bdd3206f zig2zon とその生成ファイルを削除 消し忘れ。 "zig.fetchDeps" を使う前に導入していたが、コミットする 際に残っているのに気づかずそのままになっていた。 Shota FUJI authored at Shota FUJI comitted at
  6. 8fdb081d 開発用ツールを devShell から apps に移動 devShell だと使うかどうかに関わらずダウンロードされるため。 apps なら使うときに必要な分だけダウンロードするため、時間や スペースの節約になる。 Shota FUJI authored at Shota FUJI comitted at
  7. cac9249d docs: Pandoc を使った構成にリニューアル mkdocs はウスノロポンコツ言語もとい Python を使い更にライブラリ もりもりのためセットアップからビルドから非常に遅い。また API デザイン、設定、サードパーティのテーマまで全体的に質が低い。 対して Pandoc は Haskell という敷居が天井に接しているような言語 で書かれており、クオリティが段違いで高い。というかカスタマイズ性 が天と地ほど違う。 内容に関しては単純に更新が放置されていたのを削除して、現状の プランをざっくりと記載した。方向性などが言語化されていないと 実装しているうちに少しずつずれていって一貫性がなくなったりする ので、ここを SSoT として開発を進める。 Shota FUJI authored at Shota FUJI comitted at
  8. 89935f03 demo: Zig を v0.16 アップグレード 変更が必要になると思って "nix flake update nixpkgs" のコミットとは 別にしていたが、マイグレーションなしでアップグレードできてしまった。 Shota FUJI authored at Shota FUJI comitted at
  9. 95486790 nixpkgs を最新版に更新 "nix flake update nixpkgs" Shota FUJI authored at Shota FUJI comitted at
  10. 1253a86e デプロイ & インフラを外部リポジトリに移行 デプロイやインフラはシークレットまみれであり、また利用者ごとに プラットフォームや設定などが変わってくるためソフトウェア本体に 同梱するメリットが非常に薄い。 このプロジェクトは Nix Flakes を採用しているため、デプロイ側の Flake でこのプロジェクトをインポートしからデプロイディレクトリ に "yamori.packages.${system}.demo" のようにすれば、ビルド設定 をデプロイ側で指定することなく "ビルドされたファイル" を直感的 に利用することができる。 Shota FUJI authored at Shota FUJI comitted at
  11. aa88eaf6 demo: 労働者一覧画面 現在の状況まで一覧で出すと大変なことになりそうなので、そこら辺は 詳細に遷移させて見させたほうがよさそう? GitHub のアクティビティ みたいな感じでコンパクトな表現があれば一覧に出してもいいかも。 あとは 5日未消化時みたいな要アクションのインジケータとか。 Shota FUJI authored at Shota FUJI comitted at
  12. dc7bd731 demo: 労働者の予定一覧画面 Shota FUJI authored at Shota FUJI comitted at
  13. 7b72854d demo: モデルデータを改善 ページを追加しようとしたが触りづらかったのでちゃんとモデリングした。 Shota FUJI authored at Shota FUJI comitted at
  14. 61e7d19d demo: 使用者側のホーム画面 とりあえず Lunacy で作成した WF の分だけ実装。 Shota FUJI authored at Shota FUJI comitted at
  15. 06101bb6 demo: 労働者ホームのモック とりあえず取っ掛かりというか、最初にイメージとして見せるものが 欲しかったので最小限。 Shota FUJI authored at Shota FUJI comitted at
  16. 88f322e4 demo: デプロイスクリプト Shota FUJI authored at Shota FUJI comitted at
  17. 66392c77 demo: 最小 Elm アプリケーション基礎 ワークフローの検証用のためスタイルとかは不要。 CSS ベタ書きや最悪 elm-css みたいなので十分。 Shota FUJI authored at Shota FUJI comitted at
  18. 2971f0a8 nix flake update ちょっと古くなってたので。 Shota FUJI authored at Shota FUJI comitted at
  19. 705a4d06 docs: デプロイ工程を刷新 AWS CLI は "s3 sync" 時に同じファイルサイズのものはタイムスタンプを参照 して新しい方で上書きする、というなんとも稚拙な仕様となっている。そのため Nix でビルドした、タイムスタンプが UNIX 0 秒となっている静的サイトは常に ファイルサイズのみでの更新判定となる。 rclone は S3 で使われているハッシュを使って変更判断を行う。AWS CLI でも 同じことができるはずだが怠慢により放置されている。 Go で書かれていると変更もソースコードの閲覧も面倒だったので bash に変え た。そこまで複雑なことをしているわけではないのでまあ大丈夫だろう。 Shota FUJI authored at Shota FUJI comitted at
  20. cfb8b677 docs: デプロイに .env を使わない リポジトリ内にファイルを置くことになるため。コンテナにプロジェクトの ディレクトリをバインドマウントする場合は開発用コンテナにシークレット を渡すことになる。環境変数は名前の通り "環境の" 変数であるため、それ ぞれの環境ごとに設定するべき。 Shota FUJI authored at Shota FUJI comitted at
  21. 0f5a9b41 "nix fmt" でフォーマットできるように設定 dprint-plugin-exec が FHS でしか動かないため。 Shota FUJI authored at Shota FUJI comitted at
  22. ad08276e docs: クイックスタートのガワを作成 とりあえずイメージを掴みたかったので。 Shota FUJI authored at Shota FUJI comitted at
  23. f25d3d77 docs: 文章校正 少し不自然というか、含みがあるような言い回しだったので。 Shota FUJI authored at Shota FUJI comitted at
  24. 04bbead1 docs: 仕様のファイル形式ページを削除 トップレベルのファイル形式以上の内容を含んでいないため。 というか圧倒的にそれ未満。 Shota FUJI authored at Shota FUJI comitted at
  25. 1f015888 docs: 概要ページを作成 仕様だと掴みづらすぎる。開発者でもなければ理解は難しい。 Shota FUJI authored at Shota FUJI comitted at
  26. 8d34f24d docs: トップページにリンクを追加 なんか寂しかったので...。 Shota FUJI authored at Shota FUJI comitted at
  27. 67903c8c docs: ファイル名に日本語を使わない パスにもそのまま日本語が使われてしまい、URL がほぼエンコード文字列のみ、 といった状態になってしまっていた。わかりにくいうえに不審に見えてしまう。 そもそも日本語ファイル名を使い始めたのはディレクトリのエイリアスを MkDocs 上で設定できないので、どうせだったらファイル名も日本語にしよう、という ものだった。しかし、結局ページの順番を指定するためにナビゲーションを 手入力することになったため、日本語ファイル名を使うメリットがなくなった。 Shota FUJI authored at Shota FUJI comitted at
  28. 19a47b80 docs: ドキュメントサイトの言語を日本語に設定 デフォルトで "en" が "lang" 属性に指定されてしまうため。 その他はろくに翻訳されていないのであまり大きな違いはない。 Shota FUJI authored at Shota FUJI comitted at
  29. 19c79aef .env の読み込みを Flake から行う mise は usage の利用といった、ツールとしての品質が怪しいため。 Go の dotenv 系モジュールはまともそうなのがなさそうだったので、 アプリケーションをシンプルにする意味でも上層で読み込むことにした。 Shota FUJI authored at Shota FUJI comitted at
  30. 3f122466 Terraform 表記を OpenTofu に置換 置き換えきったと思っていたが残っていた。 Shota FUJI authored at Shota FUJI comitted at