このコースは以下の流れで進みます。
まず、Goの標準ライブラリであるnet/httpについて説明します。netパッケージを使用して、tcp通信のサーバー側とクライアント側を実装します。その後、net/httpパッケージを使用してhttp通信のサーバー側を実装します。
http通信のサーバー側の実装方法は、ハンドラーなしの方法とハンドラーありの方法があります。しかし、Rest APIに対応するために、ハンドラーありの方法を使用することにします。
ただし、net/httpパッケージはハンドラーありの方法に完全に対応できないため、カスタマイズしたフレームワークを作成する必要があります。カスタマイズしたフレームワークは、主に以下の3つの部分で構成されます。
リクエストURIからコントローラー(ハンドラー)までルーティングする仕組み。
Contextを用意して、便利なAPIを提供すること。
Middlewareチェーンを用意して、コントローラー(ハンドラー)実行前の前処理仕組み。
このコースを学ぶことで、以下のことができるようになります。
トライツリーアルゴリズムが実際の生産上でどのように使用されるかを理解することができます。
普段開発で使用しているGo言語のウェブフレームワークの仕組みをある程度理解できます。
普段開発で使用しているGo言語のウェブフレームワークの内部ソースコードを読み解く勇気を身につけることができます。
面接でウェブフレームワークの仕組みについて深く語ることができるようになります。
このコースでは、Go1.19を使用して説明します。