1
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?

Vibe Codingのブレストに使える:プログラミング領域70+の分類リファレンス

1
Posted at

はじめに

チームでVibe Codingのブレストを始める際、最初の課題は「何ができるのか、どんな領域があるのか」を全員で共有することです。

プログラミングの世界は多岐にわたります。フロントエンド、バックエンド、機械学習、DevOps、ゲーム開発、組み込みシステム...。各領域は異なるスキルセットと興奮をもたらします。

本記事では、現代のプログラミング領域を体系的に分類し、70以上のプロジェクトタイプを整理しました。各タイプの簡潔な説明と、代表的なオープンソースプロジェクトへのリンクを掲載しています。

ブレストセッションの際、「こんな領域もあるのか」という発見を促し、メンバーの「推しプロジェクト」を引き出す助けになるでしょう。このリファレンスを軸に、チームで次のプロジェクト選定を進めてください。

コーディングプロジェクトタイプ分類

ウェブ開発

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
フロントエンド ユーザーが見るUI/UXを構築する領域 React https://github.com/facebook/react
バックエンド/サーバーサイド APIやビジネスロジック、データベースを担当 Express.js https://github.com/expressjs/express
フルスタック フロントエンド + バックエンドの両方を開発 Next.js https://github.com/vercel/next.js
静的サイトジェネレータ マークダウンからHTMLを生成 Hugo https://github.com/gohugoio/hugo
JAMstack JavaScript、API、マークアップで構成 Gatsby https://github.com/gatsbyjs/gatsby
プログレッシブウェブアプリ(PWA) オフライン対応のウェブアプリ Workbox https://github.com/GoogleChrome/workbox
シングルページアプリケーション(SPA) ページ遷移なしで動的に更新 Vue.js https://github.com/vuejs/vue

データ・分析

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
データサイエンス データ分析、モデリング、予測 pandas https://github.com/pandas-dev/pandas
ビッグデータエンジニアリング 大規模分散データ処理 Apache Spark https://github.com/apache/spark
データ可視化・ダッシュボード データを視覚的に表現 Plotly https://github.com/plotly/plotly.js
ビジネスインテリジェンス(BI) 経営判断のためのデータ分析 Metabase https://github.com/metabase/metabase
ETLパイプライン データ抽出・変換・ロード処理 Apache Airflow https://github.com/apache/airflow
リアルタイム分析 ストリーミングデータの即時分析 Apache Kafka https://github.com/apache/kafka

モバイル開発

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
ネイティブiOS Swift/Objective-Cを使用したiOSアプリ Swift https://github.com/apple/swift
ネイティブAndroid Kotlinを使用したAndroidアプリ Kotlin https://github.com/jetbrains/kotlin
クロスプラットフォーム 1つのコードで複数OSに対応 Flutter https://github.com/flutter/flutter
モバイルウェブアプリ ブラウザで動作するモバイルアプリ React Native https://github.com/facebook/react-native
ハイブリッドアプリ ネイティブとウェブの組み合わせ Ionic https://github.com/ionic-team/ionic-framework

機械学習・AI

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
機械学習エンジニアリング モデル学習・デプロイメント scikit-learn https://github.com/scikit-learn/scikit-learn
ディープラーニング ニューラルネットワークを用いた学習 TensorFlow https://github.com/tensorflow/tensorflow
自然言語処理(NLP) テキスト処理と言語理解 Hugging Face Transformers https://github.com/huggingface/transformers
コンピュータビジョン 画像認識と処理 OpenCV https://github.com/opencv/opencv
強化学習 報酬に基づくエージェント学習 OpenAI Gym https://github.com/openai/gym
AIモデル微調整 既存モデルのカスタマイズ Fine-tuning frameworks PyTorchなど

インフラ・DevOps

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
クラウドインフラ AWS/Azure/GCPの構築・管理 Terraform https://github.com/hashicorp/terraform
CI/CDパイプライン 自動テスト・デプロイメント Jenkins https://github.com/jenkinsci/jenkins
コンテナ化 Docker・Kubernetes環境構築 Docker https://github.com/moby/moby
インフラストラクチャコード コードでインフラを定義 Ansible https://github.com/ansible/ansible
監視・ログ システムの健全性監視 Prometheus https://github.com/prometheus/prometheus
ネットワーク・セキュリティ ネットワーク構築と保護 Nginx https://github.com/nginx/nginx

デスクトップ・システム

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
デスクトップアプリケーション ウェブ技術でデスクトップアプリ構築 Electron https://github.com/electron/electron
コマンドラインツール(CLI) ターミナルで動作する便利ツール Click https://github.com/pallets/click
システムユーティリティ OS機能を活用した補助ツール systemd https://github.com/systemd/systemd
ネイティブアプリケーション C#/.NETやJavaでのネイティブ開発 .NET https://github.com/dotnet/runtime
クロスプラットフォームデスクトップ 複数OSで動作するデスクトップアプリ Qt https://github.com/qt/qt5

ゲーム開発

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
2Dゲーム 2次元画像を使用したゲーム Godot https://github.com/godotengine/godot
3Dゲーム 3次元グラフィックスを使用したゲーム Unreal Engine https://github.com/EpicGames/UnrealEngine
ゲームエンジン ゲーム開発用フレームワーク Unity https://unity.com/
マルチプレイヤーゲーム ネットワーク対応のマルチプレイ Nakama https://github.com/heroiclabs/nakama
VR/ARゲーム 仮想現実・拡張現実のゲーム Babylon.js https://github.com/BabylonJS/Babylon.js

組み込み・IoT

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
マイコン開発 Arduino・Raspberry Piプログラミング Arduino https://github.com/arduino/Arduino
IoTデバイス インターネット接続デバイス開発 MicroPython https://github.com/micropython/micropython
ファームウェア開発 デバイス内部ソフトウェア FreeRTOS https://github.com/FreeRTOS/FreeRTOS
ハードウェア連携 ハードウェアとソフトの統合 CircuitPython https://github.com/adafruit/circuitpython
ロボティクス ロボット制御プログラミング ROS https://github.com/ros/ros

特殊領域

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
ブロックチェーン 暗号資産・分散台帳開発 Ethereum https://github.com/ethereum/go-ethereum
サイバーセキュリティ セキュリティ診断と攻撃対策 Metasploit https://github.com/rapid7/metasploit-framework
データベース設計・管理 DBの設計と運用 PostgreSQL https://github.com/postgres/postgres
API開発・統合 REST/GraphQL APIの構築 Express.js https://github.com/expressjs/express
ライブラリ・フレームワーク開発 他プロジェクト向けコンポーネント lodash https://github.com/lodash/lodash
自動化・スクリプティング 繰り返し作業の自動化 AutoHotkey https://github.com/AutoHotkey/AutoHotkey
ウェブスクレイピング Webサイトからデータ抽出 Scrapy https://github.com/scrapy/scrapy
テストフレームワーク ソフトウェアテストツール Jest https://github.com/facebook/jest
ドキュメント生成 コードからドキュメント自動生成 Sphinx https://github.com/sphinx-doc/sphinx

エンタープライズソフトウェア

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
CRMシステム 顧客関係管理システム Odoo https://github.com/odoo/odoo
ERPシステム 企業資源計画システム Odoo https://github.com/odoo/odoo
プロジェクト管理ツール タスク・プロジェクト管理 OpenProject https://github.com/opf/openproject
会計ソフト 簿記・決算管理 GnuCash https://github.com/Gnucash/gnucash
HR管理システム 人事・給与管理 Frappe HR https://github.com/frappe/frappe

リアルタイムシステム

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
チャットアプリケーション リアルタイムメッセージング Rocket.Chat https://github.com/RocketChat/Rocket.Chat
ストリーミングサービス 動画・音声ストリーミング Jellyfin https://github.com/jellyfin/jellyfin
マルチプレイヤーゲーム リアルタイム通信ゲーム Nakama https://github.com/heroiclabs/nakama
リアルタイムコラボレーション 複数ユーザーの同時編集 Yjs https://github.com/yjs/yjs
WebSocket通信 双方向通信を使用したアプリ Socket.io https://github.com/socketio/socket.io

コンテンツ・メディア

プロジェクトタイプ 説明 代表的なOSS URLまたは技術例
CMS コンテンツ管理システム WordPress https://github.com/WordPress/WordPress
ビデオストリーミング 動画配信プラットフォーム PeerTube https://github.com/Chocobozzz/PeerTube
画像処理 写真・画像の編集・加工 ImageMagick https://github.com/ImageMagick/ImageMagick
音声処理 音声の編集・分析 Audacity https://github.com/audacity/audacity
ポッドキャストプラットフォーム ポッドキャスト配信 Podspace Podcastホスティング

備考: ほとんどの実運用システムは複数のタイプを組み合わせています。例えば、音楽ストリーミングアプリはフルスタック + モバイル + リアルタイムシステム + 音声処理など多くの領域を統合しています。

1
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
1
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?