ゆるふわ技術日誌

名前に反してビシバシやっていこう

JSON API with Golang #355

今日は午後がSAで潰れたので進捗薄め

Goのお勉強

昨日から再開したGoの勉強、簡単なToDoのAPIをつくるところから始めてみました。

超絶わーきんぐいんぷろぐれす!って感じですが以下リポジトリ

github.com

ずっとレシーバーやらメソッドやらの使い方で悩んでいたのですが、ちょっとわかった気がした。(突然閃いた)

package model

import (
    "encoding/json"
    "net/http"
    "time"
)

// Todo - todo model
type Todo struct {
    ID     int       `json:"id"`
    Title  string    `json:"title"`
    Date   time.Time `json:"date"`
    IsDone bool      `json:"isDone"`
}

// Todos - slice of Todo
type Todos []Todo

func (t *Todo) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusOK)
    json.NewEncoder(w).Encode(t)
}

こんなコードを書いてやれば、TodoのインスタンスをHandlerとして扱ってあげられるのではないかと。

とりあえずこれで実装進めてみてから評価したい。

ハイパフォーマンスブラウザネットワーキング

こっちは研究の話

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

ちょっと古いけど読む。

雑談

明日も半日SAで潰れるなぁ。つらぽよ。

あと、人に教えるのがキツすぎる。頭の中では理解してるけどキツい。

Goより先に日本Goをやった方がいい気がしてきた(激寒ギャグ)