Go

MQTTサーバーを実装しながらGoを学ぶ - その4 テストカバレッジ

前回の続きです。今回は、MQTTのCONNECTパケットのペイロードから。 目次。 CONNECTパケットのペイロード Client Identifier binaryパッケージ regexpパッケージ テストのカバレッジ おしまい CONNECTパケットのペイロード ペイロードには5つのデータが含ま…

MQTTサーバーを実装しながらGoを学ぶ - その3 errorとエラーハンドリング

前回で func ToFixedHeader(bs []byte) FixedHeader という関数を実装しました。この関数の引数のチェックとエラーハンドリングからやります。 目次。 error CONNECTパケットの可変ヘッダー Goのエラーハンドリング error.Error()して中身を見るパターン Sen…

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を実現するプロトコルです。詳細は実装しながら確認していきま…

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

Go

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

Google SignInするSPAとGoサーバー間のセッション管理

書き出したら長くなってしまい4回分になってしまった日記です。 ReactとGoogle Sign-In ReactRouterを使ってGoogleログイン前と後で画面を変える ReactRouterを使ってGoogleログイン前と後で画面を変える(続き) 今日は、Google SignInでログインした後、自…

記念日を忘れないためのWebアプリつくった

Go

とにかく記念日とか何年目とか覚えられないので、そのためのソリューションが必要— kariya (@bati11_) 2016年4月27日 というわけでつくった。 http://how-many-days.appspot.com/ トップページにタイトル的なものと記念日を入力するだけです。そうするとハッ…