エンジニアはこわくない

自分の好きな音楽とか雑記とかエンジニアっぽい内容を好きなように書く場所。

型アサーションを利用して特定のメソッドを実装しているか調べてみよう

f:id:tsujitaku50:20170224131252j:plain

golangのインターフェースについて調べていると、型アサーションという機能があることを知りました。

この型アサーションを利用して

「特定のメソッドを実装しているか調べる」

といったことが可能みたいなのでやってみました。

続きを読む

golangでビルドしたバイナリをスタティックリンク (static link)にする

f:id:tsujitaku50:20170224131252j:plain

スタティックリンク (static link)って何?って人はこちらをどうぞ。↓

http://wa3.i-3-i.info/word14695.html

今回はgolangでビルドしたバイナリデータをスタティックリンク (static link)にするビルド方法について書こうと思います。

(ぼくは毎回普通にビルドしてた結果、ダイナミックリンクになってました)

続きを読む

aws-cliを使ってs3のバケット間同期をしてみる

f:id:tsujitaku50:20170121194543p:plain

みなさんのプロジェクトではs3を使用していますか?

画像や音声などをs3で管理しているプロジェクトも多いと思います。

僕がいま所属しているプロジェクトでもs3を使用していて

そのときにバケット間同期をする必要があり、aws-cliを使って同期しています。

メモがてらブログに書いておこうと思います。

続きを読む

golangでvetコマンドやtestコマンドを実行したときにvendorディレクトリを除外する方法

f:id:tsujitaku50:20170224131252j:plain

下記の記事で書いたように、golangディレクトリ(プロジェクト)をまるごとvetやtestしていると、たまに困ったことが起きるようになりました。 tsujitaku50.hatenablog.com

それは

ディレクトリ(プロジェクト)をまるごとvetやtestしていると、vendorディレクトリも一緒にvetやtestする」

ということです。

つまりvendorディレクトリ配下にエラーが起きるようなコードが含まれている場合、それも同時に検出されてしまうということです。

これはめんどくさい。

できればvendorディレクトリだけ除外したいですよね。

ということで、調べました!

続きを読む