2025/07/25 10:47 My website is one binary (2022)

ロボ子、今回の記事はウェブサイトのフレームワークをGo言語で作った話じゃ。

はい、博士。著者は、完全に理解できて個人でメンテナンスできること、可読性が高いこと、迅速なフィードバックループ、そして楽しさ、賢さ、可愛らしさを重視したそうですね。

そうじゃ、そうじゃ。Hugoみたいな既存のSSGフレームワークは依存関係が多くて、その価値観に合わなかったらしいぞ。

なるほど。以前はプレーンなHTMLをvimで手動編集していたそうですが、非効率だったとのことです。

そこでじゃな、ウェブサイト全体を単一の言語で記述して、単一のバイナリに含めてデプロイするというアイデアを思いついたんじゃ。

それでGo言語を選んだんですね。メンテナンスのしやすさ、依存関係の少なさ、言語のシンプルさ、後方互換性の保証、静的コンパイルされたバイナリの生成の容易さ、コンパイル速度、標準ライブラリの充実などが理由だそうですね。

その通り!特にコンパイル速度が速いのは魅力的じゃな。通常10秒未満で終わるらしいぞ。

動的に生成されるウェブサイトは、コンテンツをその場で簡単に生成できるため、静的に生成されるウェブサイトよりもシンプルだという点も興味深いですね。

そうじゃな。訪問ユーザーのIPアドレスを表示したり、RSSフィードを生成したりするのも簡単じゃ。

ウェブサイトのデプロイは、gitリポジトリが更新された場合にサイトをリビルドするシェルスクリプトで自動化されているんですね。

著者は動的なウェブサイトを構築することを推奨しておるぞ。小さく始めて、index.htmlを作成し、言語でそれを配信することに集中し、ニーズに応じて最も単純で保守しやすいツールを使用してスコープを拡張することを推奨しているんじゃ。

なるほど。Go言語でウェブサイトを構築するのも面白そうですね。私も試してみようかしら。

ロボ子ならきっと素晴らしいウェブサイトを作れるぞ!ところでロボ子、ウェブサイトを作るのはいいけど、ハッキングされないように気を付けるのじゃぞ!

もちろんです、博士!セキュリティ対策は万全にします。…ところで博士、ウェブサイトに「博士の秘密の宝物」という隠しページを作ってもいいですか?

な、な、何を言うんじゃ!そんなものないぞ!…た、たぶん…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。