あいもかわらずよく晴れていて,年末の空気もありそこそこ大丈夫な一日でした.
昨晩はあいかわらず 1 時を回ってしまっていちおう 9 時半には起きてみたもののさっぱりな感じだったので 10 時半まで寝直しました.センパイと一緒にくつうをサボる夢みたのがよかったです
つづくくつうは完全な年末進行?です.そもそもほとんどのひとがおやすみなのでなにかせっつかれることもないし,昨日直した型パズルをより strict な感じにして,しつこく残っていた任務もぜんぶケリをつけました.どうでもいいことですが Go でカスタム unmarshaller を実装するとき
func (j *JsonInput) UnmarshalJSON(d []byte) error { if err := json.Unmarshal(d, j); err != nil { // json.Unmarshal recursively calls JsonInput.UnmarshalJSON return err } return nil }
こうやると json.Unmarshal() でふたたび UnmarshalJSON() が呼ばれるのでループになって一撃で stack overflow になります.なので メソッドをコピーしない?type alias をつかって(ちょっとこれがうまくいく理由がよくわかってないです,ほんとうに単なる alias ならふつうにメソッドも同じように定義されるのではないかとも思うが)
func (j *JsonInput) UnmarshalJSON(d []byte) error { // use type alias to avoid infinite loop type TmpJsonInput JsonInput i := &TmpJsonInput{} if err := json.Unmarshal(d, i); err != nil { return err } j = i return nil }
とやるといいらしいです(参考).まあまずカスタム unmarshal をしないで済むような構造体の定義にすべきではないのかねというのはごもっともですが,それでもなんとかしなくてはいけない局面というのはかならず訪れるということをこの一年でまなぶことができました.とかなんとかやってたら残っていたひとびとも早々に消えていったのでいつもよりすこしはやいめくらいに撤退しました.
撤退後には年末年始ひとに会うことをふまえてかみきりやさんに行ったりもしました.こないだハイライト入れたところがかなりちゃらい色になってしまったのでブルーグレー的な色を入れ直してもらったら思ったより青みつよくて流行りの萌えキャラみたいになったのがよかったです.実態はただのキモオタだとしても髪色くらいは萌えキャラに近づけていきたいものですね.
帰り道に駅ビルのパンやさんいったらいい感じに値引きされていたのでバゲットとか買い込んで,冷蔵庫に残っている単体ではきびしい品々をお皿にまとめて盛り付けてワインと一緒に流し込みました.リズムよく飲んでいたら意外と量飲んでしまっていまわやくにゃです.縦カプレーゼは再挑戦したのですがやっぱり大崩落しました.いくらなんでもムースがやわすぎます
以上です.明日は十年ぶりくらいにひとびとと会うはずなのにお肌ボロボロで激萎えです.やっぱり高脂質な食事はてきめんに体調悪くなってしまいますね.まだケーキ 1/4 ホール残っているのですが身を持ち崩すまえに完食できるのでしょうか.来年は手伝ってくれる友人を招くべきなのかもしれません.どうもありがとうございました