Open7

ロードマップ

ピン留めされたアイテム

まとめ

  • インターネット
    • インターネットの仕組み
    • httpとは
    • ブラウザとは
    • DNSとは
    • ドメイン名とは
    • ホスティングとは
    • FTPとは
  • OS
    • OSの仕組み
    • プロセス管理
    • スレッドと並行性
    • ソケット
    • メモリ管理
    • プロセス間管理
    • I/O管理
    • POSIXの知識
    • ネットワークの知識
    • ファイルシステム
    • Linux, Unix
  • DB
    • ACID
    • N + 1
    • 正規化
    • シャーディング
  • API
    • 認証
      • OAuth
      • Basic
      • Token
      • JWT
    • gRPC
  • キャッシュ
    • CDN
  • セキュリティ
    • SSL/TLS
    • CORS
  • 設計と開発の原則
    • SOLID
    • KISS
    • YAGNI
    • DRY
  • アーキテクチャ
    • モノリシック
    • マイクロサービス
    • SOA
  • WebSocket
  • Webサーバー
    • リバースプロキシ
    • フォワードプロキシ
    • ポートフォワード
    • Webサーバーの種類
      • nginx
      • apache

https://github.com/kamranahmedse/developer-roadmap/tree/master/translations/japanese

https://www.google.com/ を叩いて表示されるまでの流れ

  • ドメインをDNSサーバーに送信する
  • DNSサーバーからIPアドレスが送信される
  • IPアドレスをWebサーバーに投げる
  • Webサーバーからデータ(htmlやcss)などが送信される
  • データをWebブラウザで表示する

httpとTCPの違い

通信プロトコルという面では一緒だが、レイヤーが違う

  • http(アプリケーション層)
  • tcp(トランスポート層)

httpはtcpの上位にあるイメージ。tcpがないとhttpは使えない。

tcpの下位レイヤーとして以下がある

  • ip(インターネット層)
  • ethernet(ネットワークインターフェース層)

TCPとUDPの違い

  • tcp
    • 安全重視
  • udp
    • スピード重視

インターネットとは

  • コンピューター同士を接続したネットワークのこと
  • 通信プロトコルと概念モデルを使用して接続を可能にしている
    • 通信プロトコル
      • コンピューターを接続する上での約束事
      • 種類
        • HTTP
          • コンピューターとWebサーバーのやり取り
        • SSL
          • 暗号化通信(https)
        • FTP
          • コンピューターからサーバーへのデータ転送
        • IP
          • データ、パケットを指定された場所まで届ける
        • Ethernet
          • LANによる接続
    • 概念モデル
      • 通信機能の分割モデルのこと
      • 種類
        • TCP/IP
          • 4層のモデル
        • OSI参照モデル
          • ISOが定義した7層のモデル
      • TCP/IPの階層
          1. アプリケーション層
          • http,ftp
          1. トランスポート層
          • tcp, udp
          1. インターネット層
          • ip
          1. ネットワークインターフェース層
          • Ethernet
  • LAN(LocalAreaNetwork)がWAN(WideAreaNetwork)につながっている

DNSとは

  • DomainNameSystemの頭文字を取ったもの
  • ドメイン名をIPアドレスに変換してくれるアプリケーション層プロトコル

SOLID原則とは

オブジェクト指向プログラミングにおけるガイドライン
以下5つの原則の頭文字を取ってSOLIDの原則と呼ばれる

  • S
    • SRP 単一責任の原則
  • O
    • OCP オープン・クローズドの原則
  • L
    • LSP リスコフの置換原則
  • I
    • ISP インターフェース分離の原則
  • D
    • DIP 依存性逆転の法則

SRP 単一責任の原則

クラスは単一の責任を持つべき

OCP オープン・クローズドの原則

クラスは拡張にはオープンで、変更にはクローズドであるべき

LSP リスコフの置換原則

子クラスは親クラスと同じ動作ができるべき

ISP インターフェース分離の原則

クライアントが使用しないメソッドへの依存を強制すべきでない

DIP 依存性逆転の法則

上位モジュールは下位モジュールに依存してはならない。それぞれ抽象に依存すべき

ログインするとコメントできます