【GO】WebServer覚書き


個人用途の情報収集の出力形式としてWebServerを使いたい。

標準、ルーティングパッケージ(mux)、WEBフレームワークパッケージ(gin)で簡単なサンプルを書いてみながら動作確認します。

 

net/http

標準パッケージの“net/http”でサーバー可できます。

Angularjsのような感じでHTMLファイルを返せます。

 

http://localhost:8080/tmp

にアクセスするとページが表示されます。

 

ちなみにハンドリングしてないアドレスでは404が表示されました。

 

クエリパラメータはr.URL.Query()で取得できますがパスを使ったクエリ( /tmp/:idみたいな)などサポートしておらず適当なパッケージを使うべきみたいです。

router

ルーティング用のパッケージを使ってみます。

httprouterがスター数では多いですがgorilla/muxの方がよく見かける気がする。

簡単にパスからパラメータを得ることができました。

 

正規表現による制限も簡単に見える。

とりあえずこれだけでも問題はなさそう。

web framework

他にもいろいろやりたいことを考えると総合的なフレームワークを使いたい。

色々ありますがgin-gonic/ginが頭一つ抜けてるように見えます。

ちょっと毛色は変わりましたがこっちのほうが楽です。

 

デフォルトで起動するとログも勝手に出してくれます。

このパッケージ単体で大体のことはできそうな気がする。

READMEがわかりやすいのも好印象でした。

micro service

サービス単位で小分けしてAPI疎結合で連携する開発はどうか。

以前に触れていますがマイクロサービスならgo-kit一択だと思います。

少しやってみましたがやっぱり個人で触るものではなさそう。

1つのサービスで同じようなコードを何回も書く苦行になりました。

規模の大きな複数チームでやっと採用を検討するようなものなんだと思います。


コメントを残す

メールアドレスが公開されることはありません。