bauer's diary

凡人の凡人による凡人のための備忘録

Go

サクッと立てたAWS EC2でサクッとgoを実行したい

さくっと一時的にバッチ実行するインスタンスを立てたい。 そんなときのために構築手順をまとめておきます。 インスタンス起動 AWSコンソールから起動 必要に応じてEBSのボリューム増やしたり、カスタマイズします。 基本設定 インスタンスが起動したらsshし…

GoでSet型を実現する場合の選択肢

Go

はじめに Go言語には標準で Set 型がありません。 ここでは2通りの実現方法を検討してみます。 1. map ✕ structで実現する mapのフィールドに空のstructを使ってsetを定義します。 structは何もフィールドを持たない場合、サイズは0になるのでコストがかかり…

golang製のREPL内でUnixタイムスタンプから日付フォーマットを取得する

Go

忘れがちだけど、よくある動作なので書き留めておきます。 準備 goreをインストールしておきます。 github.com $ go get -u github.com/motemen/gore "gore" とは、コード補完もしてくれるREPL(Read-eval-print loop)で、文字通り読んで評価して表示して繰り…

Goのことはじめ その3:IntelliJ IDEAでGoを書くために

はじめに これまでNode.jsやPythonではVimを使ってきましたが、WebStormなど優秀なIDEが登場してきたこともあり、Goをお仕事で書くタイミングでそろそろIDEにも慣れておきたく、IntelliJ IDEAを使うことにしました。 IntelliJ IDEA(インテリジェイ アイディ…

ghq/peco/hubを組み合わせてローカル・リモートリポジトリに即座にたどり着く

はじめに あまりにも有名な下記ツールを組み合わせて、ストレスなく、リポジトリにたどり着くような設定にしたのでまとめておきます。あまりにも有名なので、ツールの説明は割愛します。が、ざっくりいうと、Go製のリポジトリ管理ツール github.com 同じくGo…

Goのことはじめ その1:GOPATHとghqのルート指定

Go

はじめに 業務でGoを触ることになったので、Goに関して気になったことをまとめていこうと思います。 GOPATH GOPATHはGoで使う環境変数なのですが、2つの役割があります。 ビルド時のインポートパスのルート(正確には$GOPATH/src配下) go getコマンドで外部パ…