個別記事から未紹介だった公開GitHubリポジトリを整理してみた
はじめに
以前、GitHubアカウント naritomo08 の公開リポジトリを棚卸ししました。
その中で、Qiitaの個別技術記事から直接リンクされていない公開リポジトリがいくつかあることが分かりました。
まとめ記事にだけ載っている状態だと、後から見返したときに「このリポジトリは何の検証で作ったものか」が分かりにくくなります。
そこで本記事では、個別記事から未紹介だった公開リポジトリを整理し、それぞれの位置づけをまとめます。
対象リポジトリ
今回整理する対象は、以下の7つです。
| リポジトリ | 主な用途 |
|---|---|
| ansible-docker | Ansible実行用Docker環境 |
| redmine-test | Redmine検証用Docker環境 |
| django_docker | Django実行用Dockerベース |
| django_web | DjangoによるWebページ検証 |
| javaspring | Java / Spring Boot 3 の学習・検証 |
| laravel9-blog | Laravel9による簡易Blog |
| cobol_calculator | バックエンドにCOBOLを使った電卓アプリ |
なお、terraform_main_source_public は既存のTerraform記事で扱う内容に近いため、本記事では新規紹介ではなく、既存記事側のリンクを公開リポジトリに合わせる形にしています。
また、naritomo08/naritomo08 はGitHubプロフィール用リポジトリのため、技術検証リポジトリの対象からは外しています。
ansible-docker
ansible-docker は、Ansibleを実行するためのDocker環境です。
Ansibleはホスト側に直接インストールして使うこともできますが、検証を繰り返す場合はDocker化しておくと扱いやすくなります。
特に、Hadoopクラスタやミドルウェア構築のように、複数台のサーバへ同じ設定を流したい場合、Ansible実行環境そのものも固定しておくと再現性が上がります。
想定する使いどころは以下です。
- ローカルPCにAnsibleを直接入れずに使う
- Ansibleのバージョン差分を抑える
- SSH鍵やinventoryをマウントして検証環境へ適用する
- Hadoop、Hive、Kafkaなどの構築Playbookを実行する土台にする
このリポジトリは、単体で大きなアプリを提供するものではありません。
ただし、他のAnsible系検証を安定して動かすための土台として重要です。
redmine-test
redmine-test は、Redmineを試すためのDocker環境です。
Redmineはプロジェクト管理、チケット管理、Wikiなどを扱えるツールです。
個人検証でも、作業メモやタスク整理、構築作業の記録を残す用途で使えます。
想定する使いどころは以下です。
- Redmineをローカル環境で試す
- チケット管理ツールの操作感を確認する
- Docker ComposeでRedmineとDBをまとめて起動する
- 自宅ラボや個人開発の作業管理ツール候補として検証する
Qiita記事やGitHubリポジトリが増えてくると、作業の粒度も増えていきます。
そのため、Redmineのようなチケット管理ツールをローカルで検証しておくと、記事作成や環境構築の進捗管理にもつなげられます。
django_web
django_web は、DjangoによるWebページ作成を検証するためのリポジトリです。
PythonでWebアプリを作る場合、FastAPIやFlaskのような軽量フレームワークを使う方法もありますが、Djangoは管理画面、ORM、認証、テンプレートなどがまとまったフルスタック寄りのフレームワークです。
このリポジトリは、Djangoの基本的なWebアプリ構成を確認する位置づけです。
想定する使いどころは以下です。
- Djangoプロジェクトの基本構成を確認する
- URLルーティング、View、Templateの流れを試す
- PythonでWebページを作る入口として使う
- Flask / FastAPI系の検証と比較する
既存の検証では、FastAPIを使ったToDoアプリや、Flaskを使ったログ検索アプリもあります。
Djangoを加えることで、Python系Webフレームワークの選択肢を比較しやすくなります。
django_docker
django_docker は、DjangoをDocker上で動かすためのベース環境です。
django_web がDjangoアプリ側の検証だとすると、こちらは実行環境側の検証に近い位置づけです。
Webアプリ検証では、アプリケーションコードと実行環境を分けておくと、後から別のDjangoアプリを試すときにも使い回しやすくなります。
想定する使いどころは以下です。
- Django実行環境をDockerで用意する
- ホストOSにPythonや依存パッケージを直接入れずに検証する
- DBやWebサーバとの接続をDocker Composeで整理する
- Djangoアプリの学習・検証用ベースにする
Laravel、Rails、PhoenixなどのDocker開発環境と並べることで、フレームワークごとの環境構築方法を比較しやすくなります。
javaspring
javaspring は、Java / Spring Boot 3 の学習成果をまとめたリポジトリです。
Spring Bootは、JavaでWebアプリやAPIを作る際によく使われるフレームワークです。
Laravel、Rails、Phoenix、Django、FastAPIなどを触ってきた流れの中で、Java系のWebアプリ開発も比較対象として扱えます。
想定する使いどころは以下です。
- Spring Boot 3 の基本構成を確認する
- JavaによるWebアプリ/API開発を試す
- 他フレームワークとの違いを比較する
- 業務システム寄りの技術スタックを検証する
個人検証では、使い慣れた言語だけでなく、業務で利用されやすい技術にも触れておくと、設計や運用の比較材料が増えます。
laravel9-blog
laravel9-blog は、Laravel9で簡易Blogを作成するためのリポジトリです。
Laravel関連では、Docker環境、複数バージョンのLaravelアプリ、つぶやきサイト、ChatGPT連携アプリなどを扱ってきました。
その中でBlogアプリは、CRUD、一覧表示、詳細表示、投稿管理といったWebアプリの基本要素を確認しやすい題材です。
想定する使いどころは以下です。
- Laravel9の基本構成を確認する
- Blogを題材にCRUD処理を試す
- Bladeやルーティング、Controller、Modelの流れを確認する
- 後続のつぶやきサイトやAPIアプリと比較する
シンプルなBlogアプリを作っておくと、Laravelの基本機能を復習する入口として使えます。
cobol_calculator
cobol_calculator は、バックエンドにCOBOLを使った電卓アプリです。
公開リポジトリ一覧の中では少し異色ですが、古い技術と新しいWebアプリ構成をつなぐ検証として面白い題材です。
COBOLは基幹系システムで使われてきた言語で、WebフロントエンドやJavaScript系の構成とは文化が大きく異なります。
このリポジトリでは、COBOLを完全に単独で扱うのではなく、Webアプリのバックエンド処理として呼び出す方向を試しています。
想定する使いどころは以下です。
- COBOL処理をWebアプリから呼び出す検証
- レガシー技術と現代的なUIの接続を試す
- 計算処理を小さな題材にして連携方式を確認する
- 既存資産のWeb化を考える入口にする
基幹系の既存資産をすべて作り直すのではなく、必要な処理を外側から呼び出す構成は、現実の移行検討でも重要になります。
小さな電卓アプリでも、COBOLをWebアプリの一部として扱う流れを確認できる点に意味があります。
既存記事側で修正したもの
今回の棚卸しでは、terraform_main_source_public についても確認しました。
このリポジトリは、AWS向けTerraform構成を扱う公開リポジトリです。
内容としては、既存記事の Terraformにて、実践的なAWSサイトインフラを作成する。 と対応します。
そのため、新規に別記事を作るよりも、既存記事内の入手先を公開リポジトリに合わせる方が自然です。
修正後の取得コマンドは以下です。
git clone https://github.com/naritomo08/terraform_main_source_public.git
cd terraform_main_source_public
まとめ
今回、個別技術記事から直接リンクされていなかった公開リポジトリを整理しました。
対象は、Ansible実行環境、Redmine検証、Django実行環境、Django Webアプリ、Spring Boot、Laravel9 Blog、COBOLバックエンド電卓の7つです。
どれも単体では小さな検証ですが、これまでの記事群と合わせて見ると、以下のような意味があります。
- Ansible実行環境は、サーバ構築自動化の土台になる
- Redmine検証は、個人検証や自宅ラボの作業管理につながる
- Django、Spring Boot、Laravel9 Blogは、Webアプリ/API開発フレームワークの比較材料になる
- COBOL電卓は、レガシー技術とWebアプリを接続する検証になる
- Terraform公開リポジトリは、既存記事側のリンクを公開版に合わせることで参照しやすくなる
Qiita記事とGitHubリポジトリを対応させておくと、後から見返したときに「記事で何を説明していて、ソースはどこにあるか」が分かりやすくなります。
今後も、新しい検証リポジトリを作ったら、対応する記事から直接リンクする形にしておきたいと思います。