はじめに

このブログでは、ソフトウェアエンジニアを対象として、ソフトウェア開発の環境やツールについて解説しています。また、このブログは筆者の技術検証プロジェクトとしての側面も持っており、以下で紹介する技術によって構築されています。

技術選定の方針

このブログでは、個人運営という前提のもと、次の観点から技術を選定しています。

  • モダンな技術であること
  • サーバーやデータベースの管理が不要であること
  • 維持費が個人で負担できること

採用技術

上記の方針に基づいて、軽量かつモダンな静的サイトジェネレーター(Static Site Generator, SSG)であるAstroを中心にTypeScriptSass/SCSSを組み合わせた技術スタックにしています。CI/CDとホスティングにはそれぞれGitHub ActionsGitHub Pagesを採用することで、メンテナンスの容易な構成を実現しています。

カテゴリ技術
言語 / フレームワークAstro / TypeScript / Sass/SCSS
コードフォーマッター / リンターPrettier / ESLint / Stylelint
フォントGoogle Fonts
バージョン管理Git / GitHub
課題管理GitHub Projects
AIアシスタントGitHub Copilot / ChatGPT
CI/CDGitHub Actions
ホスティングGitHub Pages + 独自ドメイン
アクセス解析・検索パフォーマンス解析Google Analytics / Google Search Console / Bing Webmaster Tools

このブログに固有の維持費は独自ドメインの更新料のみです。このほか、GitHub Copilotのサブスクリプションなどにも費用がかかっていますが、他のプロジェクトでも使用しているためブログの維持費とは区別して管理しています。

デプロイ

ブログのソースコードと記事は同一のGitリポジトリで管理されています。ビルドとデプロイにはGitHub Actionsを使用しており、下記の流れでGitHub Pagesに反映されます。

  1. 開発者/執筆者がmainブランチに直接プッシュするか、Pull Requestをマージします。
  2. mainブランチへの変更がトリガーとなり、GitHub Actionsのワークフローが起動します。
    • リポジトリが取得され、ビルドされます。
    • ビルドが完了するとGitHub Pagesにデプロイされます。

この構成により、記事の執筆から公開までの流れがGitHub上で完結するようになっています。

blog-workflow

記事の公開

記事はすべてMarkdownまたはMDXで書かれます。新しい記事を公開するときは、GitHub Flowをベースとして下記の流れで行われます。

  1. ブランチを作成し、Markdownで書かれた記事をコミットしてプッシュします。
  2. Pull Requestを作成します。
  3. GitHub CopilotにPull Requestをレビューさせ、必要に応じて修正します。
  4. Pull Requestをマージします。マージがトリガーとなって、前述のフローで公開されます。

アクセス解析・検索パフォーマンス解析

アクセス解析にはGoogle Analyticsを使用しています。現時点では記事数が限られているため、データの利用方法については今後検討していく予定です。

このブログでは、GoogleとBingでの記事のインデックス状況や検索キーワードについても下記のツールで確認できるようになっています。

更新履歴

  • 2025年4月9日 採用技術の解説を追加
  • 2025年4月16日 技術選定の方針を追加

※ このページの内容は随時更新されています。