NGW開発BLOG をはじめます
自治体向け行政システム NGW の設計判断や実装の裏側を、少しずつ言葉にして残していくブログを開設しました。その辞(ことば)です。
なぜブログを書くのか
NGW は自治体の業務を支える行政システムです。日々の開発では、画面や帳票の裏側で数えきれない 設計判断 を積み重ねています。「なぜこの実装にしたのか」「別の選択肢はなかったのか」——その多くは、コミットログや仕様書には残りきりません。
このブログ NGW開発BLOG は、そうした技術的な背景やアイデアを、開発者自身の言葉で書き留めておく場所です。製品そのものは PR も兼ねて ngw.ictcacao.com で公開していますが、ここではもう一歩踏み込んで、判断の過程 を残していきます。
完成したコードは「何をしたか」を語りますが、「なぜそうしたか」は語りません。ブログはその欠けている半分を埋めるためにあります。
何を書くのか
扱うのは、たとえば次のようなテーマです。
- 一見単純な機能の裏にある 仕様の難しさ
- 既存設計との整合を取るための 落としどころ
- パフォーマンスや権限まわりの 地味だが効く工夫
- ライブラリ更新や移行での 互換性の保ち方
派手な新技術の話よりも、現場の制約の中でどう筋を通したか に重きを置くつもりです。
サイトの作り方 — CMS を使わない
このブログ自体も、ひとつの小さな技術判断の産物です。方針はシンプルにしました。
| 項目 | 選択 |
|---|---|
| CMS | 使わない |
| 構成 | 単独ディレクトリ NgwTechBlog/ で自己完結 |
| 執筆 | Markdown(.md)で書く |
| 公開 | ビルドで純粋な静的 HTML を生成 |
| 依存 | なし(Node 標準ライブラリのみ) |
記事を増やす手順は、.md を 1 枚置いてビルドするだけです。
# 記事を追加したら
node build.mjs
# dist/ に静的 HTML が出力される
データベースも管理画面もありません。生成物はただの HTML と CSS なので、どんな環境にもそのまま置けて、10 年後でも壊れにくい——という 可搬性 を優先しました。この判断自体、いつか 1 本の記事にするかもしれません。
これから
次回からは、実際の機能を題材にした技術記事を書いていきます。手始めは、文書管理の プライバシー保護 ——「見せない」を権限モデルでどう設計したか、という話になる予定です。
どうぞ気長にお付き合いください。