2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バックエンドデヴェロッパーロードマップ

Last updated at Posted at 2025-02-06

🌐 インターネットの基礎

  • インターネットの仕組み
    • URLの構造と構成要素1
  • HTTP (HyperText Transfer Protocol) とは何か?
    • HTTPプロトコルの概要と仕組み
  • ブラウザの仕組み
  • DNS (Domain Name System) の仕組み2
  • ドメイン名とは?
  • ホスティングとは?

🏗 アーキテクチャパターン

  • モノリシックアプリケーション
    • モノリシックアプリケーションの概要と設計
  • マイクロサービス
    • マイクロサービスアーキテクチャの設計と実装
  • モジュラーモノリス
    • モジュラーモノリス(Modular Monolith)アーキテクチャの詳細解説
  • SOA (Service Oriented Architecture: サービス指向アーキテクチャ)
  • メッセージブローカー
  • コンテナ化 vs 仮想化
    • Dockerによるコンテナ化の基礎

🚀 Webサーバー

  • Nginx
  • Apache
  • Caddy
  • Microsoft IIS (Internet Information Services)

🔄 コンテナ化

  • Docker
    • Dockerによるコンテナ化の基礎
  • LXC (Linux Containers)

🔌 API (Application Programming Interface)

  • REST (Representational State Transfer)
    • RESTful APIの設計と実装
  • GraphQL
    • GraphQLの基礎と実装
  • JSON (JavaScript Object Notation) API
  • SOAP (Simple Object Access Protocol)
  • HATEOAS (Hypermedia As The Engine Of Application State)
  • OpenAPI仕様
    • APIドキュメンテーションの作成と管理
  • CAP (Consistency, Availability, Partition Tolerance) 定理

🔑 認証とセキュリティ

  • 認証/認可の仕組み3
    • 暗号化と認証の基礎
    • OAuth (Open Authorization)
      • OAuthの概要と仕組み4
      • PKCEによるOAuth 2.0のセキュリティ強化5
    • Basic認証
      • HTTP Basic Authenticationの概要と仕組み6
    • トークン認証
      • APIキー認証の概要と仕組み7
    • JWT (JSON Web Token)
      • JWTの概要と実装メカニズム
    • OpenID
    • SAML (Security Assertion Markup Language)
    • Webセキュリティのベストプラクティス
      • OWASP Top 10とWebセキュリティの基本8
        • MD5 (Message Digest Algorithm 5) を使うべきでない理由
        • SHA (Secure Hash Algorithm) ファミリー
        • scrypt / bcrypt
        • クッキー認証
        • CORS (Cross-Origin Resource Sharing)
        • HTTPS (HyperText Transfer Protocol Secure)
          • HTTPSの概要と仕組み9
        • コンテンツセキュリティポリシー
        • OWASP (Open Web Application Security Project) のリスク
        • SSL/TLS (Secure Sockets Layer/Transport Layer Security)
        • セキュアコーディングプラクティス

🛠 キャッシュ

  • キャッシング戦略の設計と実装
    • Redis (Remote Dictionary Server)
    • Memcached
    • サーバーサイド
    • クライアントサイド
    • CDN (Content Delivery Network)

🗃 データベース

データベース最適化の手法と実装

リレーショナルデータベース

  • PostgreSQL
  • MySQL
  • MariaDB
  • Microsoft SQL Server
  • Oracle Database

NoSQL (Not Only SQL) データベース

  • ACID (Atomicity, Consistency, Isolation, Durability) の原則
  • トランザクション
  • N+1問題
  • シャーディング戦略
  • 正規化
  • データレプリケーション
  • データベースインデックス

NoSQLデータベースの種類

  • ドキュメントDB: MongoDB, CouchDB
  • 時系列DB: InfluxDB, TimescaleDB
  • リアルタイムDB: Firebase, RethinkDB
  • カラムDB: Apache Cassandra, Apache HBase
  • キー・バリューストア: Redis, Amazon DynamoDB
  • グラフDB: Neo4j

🧪 テスト

  • 統合テスト
  • 単体テスト
  • 機能テスト

💻 OSと一般知識

  • オペレーティングシステムの基礎
  • メモリ管理
  • プロセス間通信
  • 入出力管理
  • POSIX (Portable Operating System Interface) の基本 (標準入力, 標準出力, 標準エラー出力, パイプ)
  • ネットワークの基本概念
    • TCP/IPプロトコルの概要と仕組み
  • ターミナルの使い方
    • grep, awk, sed, lsof, curl, wget (基本的なUNIXコマンド)
    • tail, head, less, find, ssh, kill, dig (システム管理コマンド)
  • プロセス管理
    • サーバー管理の基礎
  • スレッドと並行処理
  • OSの仕組み

🛠 バージョン管理

  • Git
  • GitHub
  • リポジトリホスティングサービス
    • Bitbucket
    • GitLab
  • バージョン管理システム

🏛 ソフトウェア設計とアーキテクチャ

  • GoF (Gang of Four) デザインパターン
  • DDD (Domain-Driven Design: ドメイン駆動設計)
  • TDD (Test-Driven Development: テスト駆動開発)
  • サーバーレス
  • 移行戦略
  • スケールの種類
  • gRPC (Google Remote Procedure Call)
  • CQRS (Command Query Responsibility Segregation)
  • イベントソーシング
    • イベント駆動アーキテクチャ (EDA) の詳細
  • サービスメッシュ
  • Twelve Factor Apps (12要素アプリケーション)

🔍 検索エンジン

  • Elasticsearch
  • Apache Solr

📡 メッセージングとストリーミング

  • RabbitMQ
  • Apache Kafka
  • WebSocket
  • SSE (Server-Sent Events: サーバー送信イベント)

🔥 スケール対応

  • 負荷軽減戦略
  • グレースフルデグラデーション
  • スロットリング
  • バックプレッシャー
  • 負荷分散
    • 負荷分散の設計と実装
  • サーキットブレーカー
  • 障害モード

📊 可観測性とモニタリング

  • メトリクスの記録
  • デバッグと問題解決
  • インストルメンテーション
  • プロファイリング
  • パフォーマンス監視
  • テレメトリー

🔗 DevOpsとCI/CD

  • Kubernetes
  • CI/CD (継続的インテグレーション/継続的デリバリー) パイプライン
    • CI/CDパイプラインの概要と実装
  • IaC (Infrastructure as Code)
  • クラウドサービス
    • クラウドサービスの基礎知識

📌 プログラミング言語を学ぶ

  • Go
  • Java
  • Rust
  • C#
  • PHP
  • JavaScript
  • Python
  • Ruby
  1. https://qiita.com/SHOT0/items/ecb1079a4df9033c7242

  2. https://qiita.com/SHOT0/items/0227f4c40c9d77fe66a0

  3. https://qiita.com/SHOT0/items/9fed31f5957717b30d74

  4. https://qiita.com/SHOT0/items/18f59b1612959c72ea14

  5. https://qiita.com/SHOT0/items/ee0e4be383e67c8ba7e8

  6. https://qiita.com/SHOT0/items/5802b61c0c5772f64ed8

  7. https://qiita.com/SHOT0/items/cd1ad7d4be8811bbd42b

  8. https://qiita.com/SHOT0/items/8913f5a036104d214d18

  9. https://qiita.com/SHOT0/items/cae08a65be065ba07acd

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?