MQTTサーバーを実装しながらGoを学ぶ - その2 go vet, gofmt, go doc

前回、固定ヘッダーを表すstructの実装に着手しました。 // fixed_header.go package packet type FixedHeader { PacketType byte } func ToFixedHeader(bs []byte) FixedHeader { b := bs[0] packetType := b >> 4 return FixedHeader{packetType} } ここか…

MQTTサーバーを実装しながらGoを学ぶ - その1 Table Driven Test

2018年はGoとMQTTデビューをしたので、学んだことの振り返りも兼ねて、GoでMQTTサーバーを実装してみます、という日記です。 使用するGoのバージョンは1.10.7です。 MQTTとは以下のようばPubSubを実現するプロトコルです。詳細は実装しながら確認していきま…

Visual Studio Codeのコマンドをvscodevimでキーバインドする

VS CodeにGoのプラグインを追加するとテストの実行を支援してくれる機能が色々入ります。カーソルがあたってるテストケースを実行したり、テストファイルとテスト対象ファイルを切り替えたり。例えば、コマンドパレットで Go Test Function At Cursor という…

ISUCON8予選で敗退しました...

ISUCON8の予選に @hanhan1978, @trtraki とyokohama-northというチームで参加しましたが、最終スコア30824で敗退しました。無念。。 以前と同様のメンバーでしたが、今回は役回りを変更。過去に参加した時はいつもDB等ミドルウェア・OS周りをやってたけど、…

Goでechoサーバーを書いた時のメモ

Go

Goでechoサーバーを書いた時のシステムコールはどうなってるのかなぁ、と思って調べてみた時の日記です。 前にCでechoサーバーを書いた時は以下のような実装をしました。 socket でソケットを作成する bind でソケットをバインドする listen でListen状態に…