0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

100記事記念:個人技術検証で作ってきたものポートフォリオ

0
Last updated at Posted at 2026-09-07

100記事記念:個人技術検証で作ってきたものポートフォリオ

はじめに

Qiita向けに技術記事を書き続けて、今回で100記事目になりました。

別記事では、100記事分の技術検証を通して、どのように関心が広がってきたのかを振り返りました。

この記事では少し視点を変えて、100記事記念として、これまでに 実際に作ってきたもの を成果物ポートフォリオとして並べてみます。

記事数そのものは区切りにすぎません。
ただ、100本分を見直してみると、手順やメモだけではなく、次のようなものが手元に残っていました。

  • Dockerで再現できる開発環境
  • 複数フレームワークで作ったWebアプリ / API
  • Terraformで作るクラウド・仮想基盤
  • Hadoop / Kafka / Hive / Icebergを使ったログ分析基盤
  • Trino / Grafana / Elasticsearch / Kibanaによる検索・可視化環境
  • LLMや画像生成AIと連携するアプリ
  • Qiita記事やGitHubリポジトリを管理・検索する仕組み

今回は、これらを「100記事記念の展示会」のような感覚で整理します。

100記事分の成果物一覧

まずは、作ってきたものを大きな分類で並べます。

分類 作ってきたもの 主な技術 位置づけ
Docker開発環境 Laravel / Rails / Phoenix / Angular / Vue / React / WordPress / Java Servlet / Terraformなどの実行環境 Docker, docker-compose 検証を始めるための入口
Webアプリ / API JSONパーサーAPI、SPA ToDo、つぶやきサイト、ChatGPT連携アプリ、画像生成Webアプリ Laravel, Rails, Phoenix, Python, JavaScript フレームワークやAPI連携の比較対象
クラウド / IaC AWS / Azure / GCP / OCI / Proxmox VE向けのインフラ構築 Terraform, AWS CDK, ECS, GKE アプリや検証環境を再現する仕組み
Kubernetes / CI/CD Raspberry Pi Kubernetes、GKE、Laravel on Kubernetes、自宅CI/CD Kubernetes, GitLab, GKE コンテナ運用とデプロイ検証
自宅ビッグデータ基盤 Hadoopクラスタ、Hive、Zeppelin、Knox / LDAP、操作ホスト Hadoop, HDFS, Hive, Zeppelin, Knox ログ分析基盤の土台
ログ収集・分析基盤 syslog / authlog収集、Kafka投入、HDFS保存、Iceberg化 rsyslog, Fluentd, Kafka, HDFS, Spark, Iceberg 100記事の中で大きく育った中心成果物
SQL分析 / 可視化 Trino、Grafana、Zeppelinによるログ分析 Trino, Grafana, Zeppelin 蓄積したログを見る仕組み
リアルタイム処理 KafkaからFlinkでログを処理し、Icebergへ反映する構成 Flink, Kafka, Iceberg 分単位の集計・可視化
検索基盤 Elasticsearch / Kibana、Elixir / Flask製検索アプリ Elasticsearch, Kibana, Phoenix, Flask ログや記事を検索する仕組み
クラウド分析コピー 自宅HDFS上のIcebergをS3へ複製し、Athenaから分析する構成 S3, Glue, Athena, QuickSight 自宅基盤とクラウド分析の接続
AI / LLM連携 ChatGPT応答アプリ、自然文ログ分析、AWS情報検索、画像生成 OpenAI API, LLM, Stable Diffusion 作った基盤を使いやすくする入口
運用補助 バックアップ、リストア、容量監視、ローカルAPT/YUMリポジトリ distcp, shell, pg_rman, pg_dump 作った環境を使い続けるための仕組み
記事 / リポジトリ管理 Qiita記事のGitHub管理、記事インデックス、記事検索アプリ GitHub, Qiita, Elasticsearch 技術検証そのものを管理する仕組み

こうして見ると、100記事分の検証は単発の作業ログではなく、いくつかの成果物として残っています。

100記事記念アワード

ここからは、100記事記念らしく、作ってきたものを勝手に表彰してみます。

成果物 理由
一番育ったで賞 ログ収集・分析基盤 Hadoop / Kafka / Hive / Iceberg / Trino / Grafana / Flink / Elasticsearch / LLMまで広がった
土台になったで賞 Docker開発環境 新しい言語やフレームワークを試す入口になった
再現性が上がったで賞 Terraform / Proxmox VE VM構築 クラウドや自宅ラボの環境を作り直しやすくなった
後から効いてきたで賞 Qiita記事検索アプリ 記事数が増えたことで、記事そのものを検索対象にする意味が出てきた
実用に近づいたで賞 S3 / Glue / Athena分析コピー 自宅基盤のデータをクラウド分析サービスから使えるようになった
地味だけど大事で賞 バックアップ / リストア / 容量監視 検証環境を一回限りではなく、継続して使うための支えになった
次につながりそうで賞 LLM自然文ログ分析 既存のログ基盤を自然文で扱う入口になった

一番大きいのは、やはりログ収集・分析基盤です。

最初はログを集めるところから始まりましたが、HDFSに保存し、HiveやSparkで整形し、Icebergでテーブル化し、Trino / Grafanaで見える化し、Flinkでリアルタイム処理し、Elasticsearch / Kibanaで検索し、さらにLLM連携まで広がりました。

100記事の中で、単体の検証が一つの大きな自宅ラボ基盤に育っていった代表例だと思います。

代表成果物カタログ

ここでは、特に印象に残っている成果物を、関連する記事と一緒に整理します。

Dockerで再現できる開発環境

作ったもの 関連記事
Elixir / Phoenix開発環境 Elixir/Phoenixをdocker環境で立ち上げてみる。
Ruby on Rails開発環境 ruby on railsをdocker環境で立ち上げてみる。
Laravel開発環境 php/laravelをdocker環境で立ち上げてみる。
Angular開発環境 Angular開発環境をdocker環境で立ち上げてみる。
Vue / React開発環境 Vue/React開発環境をdocker環境で立ち上げてみる。
WordPress開発環境 wordpressをdocker環境で立ち上げてみる。
Java Servlet開発環境 Javaサーブレット開発環境をdocker環境で立ち上げてみる。
Terraform実行環境 Terraformをdocker環境で立ち上げてみる。

Docker環境は、後続の検証を始めるための共通部品になりました。
単体では小さくても、100記事分の検証を支える入口として見ると、かなり大きな成果物です。

複数方式で作ったWebアプリ / API

作ったもの 主な技術 関連記事
JSONパーサーAPI Laravel PHP/LaravelでJSONパーサーAPIを作ってみる。
JSONパーサーAPI Rails Ruby on RailsでJSONパーサーAPIを作ってみる。
JSONパーサーAPI Phoenix Elixir/PhoenixでJSONパーサーAPIを作ってみる。
JSONパーサーAPI AWS Lambda + API Gateway AWS Lambda+API GatewayでJSONパーサーAPIを作ってみる。
JSONパーサーAPI Azure Functions Azure FunctionでJSONパーサーAPIを作ってみる。
SPA ToDoアプリ JavaScript SPA対応させたToDoサイトを作成してみた。
つぶやきサイト Laravel Laravel13でつぶやきサイトを作ってみる。

同じJSONパーサーAPIを複数の技術で作ったことで、フレームワークごとの違いや、サーバレスとの責務の違いを比較しやすくなりました。

Terraformとクラウド・仮想基盤

作ったもの 主な技術 関連記事
AWSサイトインフラ Terraform, AWS Terraformにて、実践的なAWSサイトインフラを作成する。
Azureサイトインフラ Terraform, Azure Terraformにて、実践的なAzureサイトインフラを作成する。
OCIサイトインフラ Terraform, OCI Terraformにて、実践的なOCIサイトインフラを作成する。
GKE環境 Terraform, GCP terraformでGKEを立ち上げてみた。
Laravel on ECS Terraform, ECS, Laravel Terraformを使用してECS環境構築し、Laravelサイトを立ち上げてみた。
Proxmox VE VM構築 Terraform, Proxmox VE, cloud-init TerraformでProxmox VEにCloud-init対応VMを複数台作成する
AWS CDKリソース作成 AWS CDK AWS CDKでAWSリソースを作成してみる。

クラウドだけでなくProxmox VEも対象にしたことで、自宅ラボとクラウドを同じIaCの考え方で扱えるようになりました。

自宅ビッグデータ基盤

作ったもの 主な技術 関連記事
シングルノードHadoop Hadoop, HDFS シングルノードhadoopを構築してみた。
シングルノードHive Hive シングルノードhiveを構築してみた。
Hadoop / Hive / Zeppelin自動構築 Ansible ansibleでHadoop/hive/zeppelinシングルノードを構築する
Hadoopクラスタ Hadoop, HDFS hadoopをクラスタ化してみた。
Zeppelin導入 Zeppelin HadoopクラスタにZeppelinを導入してみた。
Knox / LDAP導入 Knox, LDAP Hadoopクラスタにknox/ldapを導入してみた。
HDFS容量監視 HDFS, shell HDFS容量監視を実施してみた。
ローカルAPT/YUMリポジトリ Ubuntu, AlmaLinux Ubuntu 24.04でローカルAPTリポジトリサーバを構築し、Hadoopクラスタの再現性を高める

Hadoop / Hive / Zeppelinの検証は、後のログ収集・分析基盤の受け皿になりました。
ここがあったことで、ログを保存し、整形し、分析する流れを自宅ラボ内で試せるようになりました。

ログ収集・分析基盤

作ったもの 主な技術 関連記事
syslog / authlog収集基盤 rsyslog, Kafka, HDFS, Hive 自宅ラボで構築した syslog/authlog 収集基盤(Kafka + HDFS + Hive)の全体像と運用設計
Kafkaクラスタ Kafka Kafkaをクラスタ化してsyslogを収集してみた。
Spark / Iceberg基盤 Spark, Iceberg ログ収集・解析基盤にSpark/Icebergを構築してみた
Trino / Grafana / Zeppelin可視化 Trino, Grafana, Zeppelin Grafana&Trino&Zeppelinを使用してログ解析基盤から情報を可視化する。
OSSレイクハウス Kafka, HDFS, Iceberg Kafka + HDFS + IcebergでOSS版レイクハウスを構築してみた
Flinkリアルタイム集計 Flink, Kafka, Iceberg Apache Flink + Iceberg で syslog/authlog の1分集計テーブルを作り、Trino/Grafana を高速化する
ログ分析基盤まとめ Kafka, Iceberg, Flink Kafka・Iceberg・Flinkで作るsyslog/authlog分析基盤まとめ
小規模SOC活用例 ログ分析, SOC 小規模SOCを見据えたログ解析基盤の活用例

この基盤は、100記事分の検証の中でも特に「作ったもの」として形になったものです。

構成を短くまとめると、次のようになります。

syslog / authlog
  ↓
rsyslog / Fluentd
  ↓
Kafka
  ↓
HDFS / Hive / Spark
  ↓
Iceberg
  ↓
Trino / Grafana / Zeppelin

さらに、検索やリアルタイム処理も追加しました。

Kafka
  ↓
Flink
  ↓
Iceberg
  ↓
Trino / Grafana

Iceberg
  ↓
Elasticsearch
  ↓
Kibana / 検索Webアプリ / LLM連携

最初から完成形を決めて作ったというより、必要になった部品を足していったら、結果的に大きな基盤になっていました。

Elasticsearchと検索アプリ

作ったもの 主な技術 関連記事
Elasticsearch / Kibana設計 Elasticsearch, Kibana ログ分析基盤に Elasticsearch / Kibana を追加してみる(設計編)
Elasticsearch / Kibana構築 Elasticsearch, Kibana ログ分析基盤に Elasticsearch / Kibana を追加してみる(構築編)
Elasticsearch / Kibana実践 Elasticsearch, Kibana ログ分析基盤に Elasticsearch / Kibana を追加してみる(実践編)
Elasticsearch / Kibana運用 Elasticsearch, Kibana ログ分析基盤に Elasticsearch / Kibana を追加してみる(運用編)
Elixir製Elasticsearch検索アプリ Elixir, Phoenix, Elasticsearch 【実践編】GitHubから取得してすぐ使える!Elixir製ログ検索サイトでElasticsearchを検索する
Elixir製Iceberg検索アプリ Elixir, Phoenix, Trino, Iceberg 【実践編】GitHubから取得してすぐ使える!Elixir製ログ検索サイトでIcebergを検索する
Qiita記事検索アプリ Elasticsearch, Qiita Qiita記事をElasticsearchへ取り込み、検索Webアプリで参照できるようにする

ログだけでなく、自分の記事も検索対象にしたところが印象的です。
100記事近くになると、記事そのものが一つのデータになります。

AWS S3 / Athenaへ広げた分析コピー

作ったもの 主な技術 関連記事
S3 / Athena連携設計 HDFS, Iceberg, S3, Athena 自宅HDFS上のApache IcebergをAWS S3へ複製してAthenaで分析する構成を考える【設計編】
S3 / Athena連携構築 HDFS, Iceberg, S3, Glue, Athena 自宅HDFS上のApache IcebergをAmazon S3へ複製しAthenaから分析してみる【構築編】
Athena向け運用 Iceberg, Athena AWS S3上のApache IcebergをAthena向けに運用する【運用編】
Athena経由の可視化 Athena, QuickSight AWS S3上のApache IcebergをAthena経由で可視化する【発展編】
S3から自宅HDFSへ復旧 S3, HDFS, Iceberg AWS S3上のApache Icebergコピーから自宅HDFS Icebergへリストアする【復旧編】
rawログS3バックアップ HDFS, S3, distcp Hadoop distcpでHDFSのrawログをAmazon S3へバックアップしてみる

自宅HDFS / Icebergを正本として残しつつ、AWS S3 / Glue / Athena側に分析用コピーを作りました。
自宅ラボだけで閉じていた基盤を、クラウド分析サービスへ接続できた点が大きいです。

AI / LLM連携で作ったもの

作ったもの 主な技術 関連記事
ChatGPT応答Pythonプログラム Python, OpenAI API 1時間という爆速でchatgpt応答pythonプログラム作ってみた。
ChatGPT Webアプリ Python, Web ChatGPTとやり取りするWebアプリ作ってみた。
Laravel + ChatGPT連携 Laravel, OpenAI API laravel10 & chatgpt連携Webアプリ作ってみた。
画像生成API Stable Diffusion StableDiffusion APIから画像生成してみる。
画像生成Webアプリ Python, Web 画像生成AIから画像作成するWebサイト作ってみた。
LLMログ分析構想 LLM, ログ分析 LLM連携による自然文ログ分析の構想
自然文ログ分析環境 LLM, Elasticsearch, ログ分析 LLM連携による自然文ログ分析環境を構築してみた
AWS情報検索アプリ LLM, AWS LLM介してAWSからサービス最新情報を引き出すアプリ作ってみた。

LLM系は、単体で試すところから、既存のログ基盤や検索基盤と組み合わせる方向へ進みました。
作ってきた基盤を人間が扱いやすくするインターフェースとして、今後も広げられそうです。

記事とリポジトリを管理する仕組み

作ったもの 主な技術 関連記事
Qiita記事のGitHub管理 GitHub, Qiita CLI qiita記事をGithubでコンテンツ管理してみた。
記事インデックス Qiita これまで提示した記事のインデックス
公開リポジトリ棚卸し GitHub naritomo08 の公開GitHubリポジトリを棚卸ししてみた
未紹介リポジトリ整理 GitHub 個別記事から未紹介だった公開GitHubリポジトリを整理してみた
Qiita記事Elasticsearch投入 Elasticsearch, Qiita Qiita記事をElasticsearchへ取り込み、検索Webアプリで参照できるようにする

記事を書くだけでなく、記事をGitHubで管理し、インデックス化し、検索できるようにしたことも一つの成果物です。
100記事という数になってくると、記事そのものを検索・再利用する仕組みの価値が出てきます。

作ったもの同士のつながり

100記事分の成果物は、個別に見るとバラバラですが、線でつなぐといくつかの流れになります。

Docker開発環境
  ↓
Webアプリ / API検証
  ↓
クラウド / Kubernetes / CI/CD検証
Hadoop / HDFS / Hive
  ↓
Kafkaによるログ収集
  ↓
Spark / Icebergによる分析基盤
  ↓
Trino / Grafana / Zeppelinによる可視化
Kafka
  ↓
Flink
  ↓
Iceberg
  ↓
リアルタイム集計 / 可視化
Iceberg
  ↓
Elasticsearch
  ↓
Kibana / 検索Webアプリ / LLM連携
Qiita記事
  ↓
GitHub管理
  ↓
Elasticsearch投入
  ↓
記事検索アプリ

このつながりを見ると、100記事分の技術検証は、次のような小さなポートフォリオになっていました。

  • アプリを作る
  • アプリを動かす環境を作る
  • データを集める
  • データを保存する
  • データを検索・分析・可視化する
  • AIで扱いやすくする
  • 記事とリポジトリとして再利用できる形に残す

今見ると資産になっているもの

100記事分の技術検証で、特に資産になっていると感じるものは以下です。

資産 理由
Docker Composeの検証環境 新しい言語やフレームワークを試すときの入口になる
Terraformコード クラウドや仮想基盤を再現しやすい
Hadoop / Kafka / Iceberg基盤 ログ分析やデータ処理の検証環境として使える
Elasticsearch / Trino検索アプリ データ基盤を実際に利用する画面になる
S3 / Athena分析コピー 自宅基盤とクラウド分析を接続できる
バックアップ / リストア手順 検証環境を継続運用しやすくなる
Qiita記事のGitHub管理 記事そのものをナレッジとして扱える
記事検索アプリ 増えた記事を後から探しやすくなる

作った当時は単発の検証でも、後から見ると次の検証の部品になります。

この「後から使える形で残る」ことが、記事を書きながら作る一番のメリットだと感じています。

次の100記事で作りたいもの

100記事目時点で、次に作りたいものも整理しておきます。

作りたいもの 内容
ログ分析ポータル Grafana、Kibana、検索アプリ、LLM分析をまとめて使える入口
小規模SOC風ダッシュボード authlog、syslog、アラート、ホスト状態を横断して見る画面
LLMによるログ原因分析 自然文で聞くと、関連ログや傾向を返す仕組み
データ基盤のIaC化 Hadoop / Kafka / Iceberg周辺をより再現しやすくする
記事ナレッジベース強化 Qiita記事、GitHubリポジトリ、構築手順を横断検索する仕組み
検証環境の運用テンプレート化 バックアップ、監視、復旧、更新手順を共通化する

次の方向性としては、個別に作ったものをさらに統合していきたいです。

特に、ログ分析基盤、検索アプリ、LLM連携、記事検索は相性が良いため、まとめて一つのポータルにしていくと面白そうです。

まとめ

100記事分の技術検証を通して、手元には次のようなものが残っていました。

  • Dockerによる再現性のある開発環境
  • 複数フレームワークで作ったWebアプリ / API
  • Terraformによるクラウド / 仮想基盤
  • Hadoop / Kafka / Hive / Icebergによる自宅ログ分析基盤
  • Trino / Grafana / ZeppelinによるSQL分析・可視化
  • Flinkによるリアルタイム処理
  • Elasticsearch / Kibana / Webアプリによる検索基盤
  • S3 / Glue / Athenaによるクラウド分析コピー
  • LLMや画像生成AIと連携するアプリ
  • バックアップ、リストア、監視などの運用補助
  • Qiita記事とGitHubリポジトリを管理・検索する仕組み

100記事目のこの記事では、記事の流れを振り返るというより、作ってきたものを成果物として並べました。

個人技術検証でも、継続して記事に残していくことで、単発の検証が少しずつつながり、再利用できる技術資産になっていくことが分かります。

次の100記事では、作ったものをさらに統合し、自宅ラボやログ分析基盤をより実用的な形に育てていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?