Go

goenvを使うのをやめた

Go

Goを書き始めた当初からずっとgoenvを使っていましたが、Gophers Slackを見ているとgoenvを使わずにGoをインストールしている人が多い印象を受けたのでgoenvから脱却してみました。 以下、メモ書きとして残します。 1. go getしてくる $ go get golang.org/d…

EC2にGoのアプリケーションをデプロイしてレスポンスが返ってくるまで

EC2のインスタンスが起動している前提で進めます。 ビルドする GOOS=linux GOARCH=amd64 go build デプロイする ビルドしたbinaryを配置することにしました。 今回はapp以下に配置します。 scp -i ~/.ssh/hoge.pem {binary名} ec2-user@{IP}:~/app Nginxのイ…

favclip/testeratorを使ってGAE/Goのテストを高速化する

testeratorはGAE/Goのテストを高速化するライブラリです。 このライブラリを使ってテストの高速化ができたので紹介したいと思います。 contextを必要とするテストでは aetest.NewContext() や aetest.NewInstance() を使うかと思いますが、これを使うと goap…

BigQueryの集計結果をテーブルに保存した後GCSにエクスポートしてみた

こういう細かいネタもブログに残していこうと思います。 ってブログ書く度に決意しているんだけど続かないですね... BigQueryの集計結果をテーブルに保存 使うpackageは cloud.google.com/go/bigquery です。このpackageはまだbetaらしいです。 google.golan…

Goのstructを比較してdiffを見るなら godebug/pretty が便利

Go

Goのテストでstructを比較するときに reflect.DeepEqual で比較することがあります。 テストを書き、テストを実行するとFAILだったとき...つらい... structが大きいとさらにつらい。どのフィールドの値が違うのかわかると早くテストを直せて(または実装を直…

Goでsliceを結合するときのパフォーマンスについて

Go

Goでslice結合するとき、append(slice1, slice2…)するのとfor _, s := range slice2 {slice1 = append(slice1, s)}1つずつappendするのどっちがパフォーマンスいいんだろう— inari111 (@inari111) 2018年2月14日 sliceを結合するときに、どういう書き方をす…

hatebu: はてブのホットエントリーを表示するCLIツールを作った

最近Goを書いているので、勉強がてらCLIツールを作ってみた。 作ったもの はてブのホットエントリー(テクノロジー)の一覧を表示するCLIツール hatebu を作った。 github.com 学生の頃からはてブが好きで、2014年頃はホットエントリーを収集して過去のホット…