emahiro/b.log

日々の勉強の記録とか育児の記録とか。

2018-01-01から1ヶ月間の記事一覧

Goにおける簡易だけど最低限の情報が入っているerror出力方法の知見

Go

errorについての検討 golangはerrorまで含めて愚直に書くことが求められたりして、それはそれで慣れではあるなーと感じているのですが、errorのformatが人に依存したり、1人で個人開発とかしているとerrorをちゃんと書いてるのがめんどくさくなったりするの…

CookieのDomainとPath属性の仕様について調べた話

CookieのDomain属性について調べたのでその備忘録(rfcの該当箇所を抜き出しているだけです。) 調べた背景はCookieを送信する先のDomainとPathについてです。 Domain属性 www.example.com , admin.example.com の用にdomainは同じでも複数のサブドメインでに…

structのomitemptyの挙動と使い所の検討

Go

golangのstructでjsonのencodingのためのpropertyに omitempty をつけた時の挙動とその使いどこを検討します。 omitemptyタグとは https://golang.org/pkg/encoding/json/#Marshal には以下の用に記載されている。 The "omitempty" option specifies that th…

structに埋め込んだmapの要素を上書きする

Go

やりたいこと struct内に埋め込んだmapのfieldの値を上書きするという処理を考えます。 下記のようなサンプルコードがあったときに originalSamples のItemsの中身を上書きするような処理です。 type Samples struct { Items map[string]string } originalSa…

goで任意引数でtemplateでの表示を変えたりしたい場合の考察

Go

golangで関数に任意引数を取り、その任意引数にmapを指定することで、template場でmapで定義したinterfaceを見て表示を変えたいという実装を考えます。 やりたいこと 以下のようなことをしたいと想定します。 func RendarHTML (flags ...map["string"]interf…

goのテストのカバレッジを計測する

Go

関わっているプロダクトでテストのカバレッジ取得してみようと思ったので、標準で動作している機能を使ってgoのテストカバレッジを計測してみました。 coverageを計測する coverageを測定するpackageを指定して、カバレッジを図るオプション -cover を指定し…

『お金2.0』を読んだ

『お金2.0』を読んだので、ちょっとした感想をメモって起きます。 感想 帯やamazonの説明文、レビューコメントを参照した方が内容をざっと俯瞰するにはいいと思うので、ここで詳しくは載せませんが、それなりにこれからの経済のあり方がわからない人向けに丁…

【学習】「GOならわかるシステムプログラミング」~Chapter 3~

Go

※「GOならわかるシステムプログラミング」の3章の学習記録です。 主に PNGファイルを分析してみる PNGファイルに秘密のテキストを入れてみる の2節の内容の学習記録です。 sample sampleコードは以下 package main import ( "bytes" "encoding/binary" "fmt"…

json.Unmarshalではnilの参照型へのmappingはできない

Go

httpレスポンスを構造体にmappingする際に以下のようなコードを書くケースは多々あると思います。 ※ error handlingは割愛 // responseの取得 resp, _ := http.Get(url) body := resp.Body defer body.Close() // []byteへの変換 b, _ := ioutil.ReadAll(bod…

2018年 ~抱負~

エンジニアとしてコミットしたと言えるプロダクトをつくる コミットしそこねたプロダクト、コミットしたくてもできなかったプロダクト、いままでのキャリアで「これをしてきた!作ってきた!」と言える仕事に巡り合ってこなかったので、今年こそはこの目標を…