Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える

devfest 2017 tokyo の発表資料です。 Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える from pospome 当日は入室できない人もいたらしい & 機材トラブルで10minほど開始が遅れてしまった ということで申し訳なく思っています。また、立…

goon で goon: Failed to decode field createdAt - gob: decoding into local type time.Time, received remote type []int のエラー

struct のフィールドを1つ削除してから goon で Get() したら以下のエラーが出た。 goon: Failed to decode field createdAt - gob: decoding into local type time.Time, received remote type []int craetedAt が decode できなかったらしい。 で、根本原…

cloud console から datastore に任意の int の key を指定した entity を作成できない

GCP

datastore 上に 特定の int の ID を key とするマスターデータを作りたいと思った。 例えば、以下のように key に既存の商品IDをセットするようなケース。 -------------------------- key | name | createdAt -----|------|------------- 1001 | 醤油 | 20…

golang の iota の使い所

自分は iota の使い所が分からなかった。 なんか事故りそうだし、明示的に値を宣言した方が分かりやすいような気がする。で、こんなツイートをしたら・・・#golang の iota 使った定数定義って、定数の並び順によって値が変わるから、なんか事故りやすい印象…

golang の 引数、戻り値、レシーバをポインタにすべきか、値にすべきかの判断基準について迷っている

日頃から引数にポインタを渡した方がいいのか? 値を渡した方がいいのか? 戻り値はどーなの? メソッドのレシーバは?なんて迷っているのでアウトプットしてみる。メソッドのレシーバについては以下に載っていた。 https://github.com/golang/go/wiki/CodeRevie…

Datastore/Go の cannot load field xxxx into a xxx: no such struct field は Goon で回避できる

以下のブログに書いてある通り、 pospome.hatenablog.comDatastore は kind の property が struct の field に存在しないと ErrFieldMismatch というエラーが発生する。「datastore: cannot load field xxxx into a xxx: no such struct field」のエラーと…

GAE/Go TaskQueue の max_doublings について

GCP

なんかググってもあんまり出てこなかったので、自分用メモ。TaskQueue のリトライは queue.yaml で設定する。以下のように設定すると、 task_retry_limit: 5 min_backoff_seconds: 10 max_backoff_seconds: 40リトライ間隔は 10s -> 20s -> 30s -> 40s -> 40…

GAE/Go の cron を毎時同じ時刻に起動させるための synchronized の設定

GCP

ちょっとハマったので書いておく。 結論から言うと、synchronized を設定すればいい。GAE の cron は yaml で設定する。 https://cloud.google.com/appengine/docs/standard/go/config/cronref今回は「30分ごとに起動する」という設定をしたかったので、以下…

どこに何を書くのか?

これのLT資料。 kaizen.connpass.com どこに何を書くのか? from pospome Twitter の反応 「どこに何を書くのか?」設計論の話だ #code_kaizen— masataka arai (@massa142) 2017年6月29日 コードの責務とか疎結合とかそういう実装よりの話っぽい。 #code_kaiz…

アプリケーションコードにおける技術的負債について考える

社内勉強会資料 アプリケーションコードにおける技術的負債について考える from pospome