12.

IT 技術・設計・規格の主要項目完全ガイド

編集
この記事の要点
  • IT で押さえるべき技術・設計・規格を 9 ジャンルで体系化
  • Web 系: HTML / CSS / HTTP/2 / HTTP/3、データ: JSON / XML / CSV / Protobuf
  • 認証: OAuth 2.0 / OIDC / SAML、暗号: TLS 1.3 / AES-GCM / RSA / ECDSA
  • ネットワーク: TCP/IP / UDP / QUIC、アーキテクチャ: MVC / Clean Architecture / DDD
  • テスト: TDD / BDD、開発手法: Agile / Waterfall / DevOps
  • コーディング規約: PEP 8 (Python) / PSR-12 (PHP) / Airbnb (JS)

カテゴリ別ロードマップ

IT 業界で扱う「規格」「設計手法」「技術」は無数にありますが、実務で頻出するものを 9 カテゴリに分類しました。

1. Web 系の規格

規格策定用途
HTML5 / HTML Living StandardWHATWG / W3CWeb ページ構造
CSS3 / CSS4W3Cスタイル指定
ECMAScript (ES2015+)Ecma InternationalJavaScript 標準
HTTP/1.1, HTTP/2, HTTP/3IETFWeb 通信
WebAssembly (Wasm)W3Cブラウザでの高速実行
WebRTCW3C / IETFブラウザ間 P2P 通信

2. データ形式

形式特徴用途
JSON軽量、人間可読Web API、設定ファイル
XML属性・スキーマありSOAP、業務系
YAMLインデントベース設定ファイル、CI/CD
TOMLシンプルな設定形式Rust / Python の設定
CSV / TSV表形式データ交換、エクスポート
Protocol Buffersバイナリ、スキーマgRPC、高速通信
Apache Avro / Parquetバイナリ、列指向ビッグデータ

3. 認証・認可

規格役割典型用途
OAuth 2.0認可(権限委譲)Google / GitHub ログイン連携
OpenID Connect (OIDC)認証 (OAuth 2.0 拡張)シングルサインオン
SAML 2.0認証 (XML ベース)企業 SSO(Okta / Azure AD)
JWT (RFC 7519)署名付きトークンAPI 認証
FIDO2 / WebAuthnパスワードレス認証生体認証・セキュリティキー

4. 暗号

アルゴリズム分類用途
TLS 1.2 / 1.3通信暗号HTTPS
AES-128 / AES-256 (GCM)共通鍵データ暗号化
RSA 2048 / 4096公開鍵鍵交換、署名
ECDSA / Ed25519楕円曲線公開鍵高速署名(SSH / TLS)
SHA-256 / SHA-3ハッシュ改ざん検知、署名
bcrypt / Argon2パスワードハッシュDB へのパスワード保存

5. ネットワーク

  • TCP/IP モデル: アプリケーション層 / トランスポート層 (TCP/UDP) / ネットワーク層 (IP) / リンク層
  • TCP: 信頼性あり、順序保証、Web/SSH/メール
  • UDP: 低遅延、ベストエフォート、DNS / 動画ストリーミング / ゲーム
  • QUIC: HTTP/3 の基盤、UDP 上の TLS 内包プロトコル
  • IPv4 / IPv6: アドレス体系(32bit / 128bit)
  • DNS: ドメイン名解決、TLD / NS / A / AAAA / CNAME / MX レコード

6. アーキテクチャ・設計

設計手法提唱者特徴
MVCTrygve ReenskaugModel / View / Controller 分離
MVVMMicrosoft双方向バインディング(WPF / Vue)
Clean ArchitectureRobert C. Martin依存性逆転、内側に純粋なドメイン
Hexagonal ArchitectureAlistair Cockburnポート&アダプター
DDD (Domain Driven Design)Eric Evans業務領域中心の設計
CQRSGreg Young読み書きモデルを分離
Event SourcingMartin Fowlerイベント列を真実とする

7. テスト手法

テストピラミッド (Mike Cohn)
        /\
       /  \   E2E (少数、遅い、ブラウザ)
      /____\
     /      \  統合テスト (API 結合)
    /________\
   /          \ 単体テスト (大量、高速、純粋関数)
  /____________\

手法:
- TDD (Test Driven Development): Red → Green → Refactor
- BDD (Behavior Driven Development): Given-When-Then で振る舞いを記述
- Property Based Testing: ランダム入力で性質を検証 (Hypothesis / fast-check)
- Mutation Testing: コードを意図的に壊しテストの抜けを検出 (Stryker / mutmut)

8. 開発手法・プロセス

手法特徴適性
Waterfall要件→設計→実装→テストの直線型仕様が固い基幹系
Agile反復的・適応的開発変化の多い Web / モバイル
Scrum1-4 週スプリント、Product/Scrum Master5-9 人のチーム
KanbanWIP 制限、フロー最適化運用・保守チーム
XP (Extreme Programming)ペアプロ・TDD・継続的統合技術重視のチーム
DevOps開発と運用の融合、自動化クラウドネイティブ
SRE信頼性をエンジニアリングで担保大規模 Web サービス

9. コーディング規約・スタイルガイド

言語規約ツール
PythonPEP 8black / ruff / flake8
PHPPSR-12php-cs-fixer / phpcs
JavaScriptAirbnb / StandardJSESLint / Prettier
GoEffective Gogofmt / golangci-lint
JavaGoogle Java StyleCheckstyle / SpotBugs
RustRust API Guidelinesrustfmt / clippy
C/C++Google C++ Styleclang-format / clang-tidy

標準化団体

  • IETF — HTTP / TCP / TLS / DNS など RFC を発行
  • W3C — HTML / CSS / DOM / WebRTC など Web 標準
  • WHATWG — HTML Living Standard を維持
  • Ecma International — ECMAScript (JavaScript)
  • ISO/IEC — プログラミング言語 (C/C++) / 情報セキュリティ (27001)
  • NIST — 米国の暗号・セキュリティ標準
  • IPA — 日本の情報処理推進機構(基本情報技術者試験等)

FAQ

Q: どこから学べばいい?
A: Web エンジニアなら HTTP → HTML/CSS/JS → JSON → REST → OAuth → TLS → MVC の順がおすすめ。

Q: 規約は守らないとダメ?
A: チーム開発では必須。1 人開発でも将来の自分のため Linter を入れるべきです。

編集
Post Share
子ページ
  1. RESTサービス
  2. gRPC
  3. シングルトン
  4. コンテントタイプ(Content-Type)一覧
  5. sitemap.xml
  6. Feed
  7. ブロックチェーン
同階層のページ
  1. プログラミング言語
  2. データベース
  3. ネットワーク
  4. OS
  5. ソフトウェア
  6. ハードウェア
  7. ファームウェア
  8. API
  9. セキュリティ
  10. Webサービス
  11. AI 人工知能
  12. 技術・設計・規格
  13. SEO
  14. 開発工程
  15. エンジニア
  16. 電子工作
  17. その他用語一覧
  18. クラウド・インフラ