techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

Intellijでgolangな環境を構築する

Command Line Toolを作るならGoでしょ!と布教されたので、環境構築の備忘録を残しておく。

※追記

と教えてもらえました :) Delveインストールは必要無さそうですね!

Intellij+golangな環境を整える

前提

  • OSX EI Capitan(10.11.1)
  • Goのインストールが済んでいること
    • GOPATHの設定が済んでいること
    • Go 1.6

Intellij IDEAのインストール

Community Editionでも良いのでインストールしましょう。 IDEAのインストール

個人的にはUltimate超オススメ。

golangプラグインのインストール

IntellijのPreference > Pluginから、goを検索してインストールする。 f:id:kobashin__G:20160321232133p:plain

Debug環境を整える

現状(2016.03)Delveというツールを利用するのがデファクトスタンダードらしい。 OSX環境でのみ、インストールが非常にややこしい。

Delveのsource codeを取得する

まず下記コマンドでソースコード一式を取得しておく。

$ go get -u github.com/derekparker/delve 

Command line tools のインストール

Delveのビルドに必要なため、Command line toolsをインストールしておく

$ xcode-select --install

自己証明書を作成する

Delveの実行バイナリを署名するための自己証明書を作成する。 コレが無いとOSXの環境では、他プロセスにアタッチ出来ない。

  1. キーチェーンアクセス.appを起動する(Spotlight等から)
  2. キーチェーンアクセスのToolbar menu > 証明書アシスタント > 証明書を作成 f:id:kobashin__G:20160321233911p:plain

  3. 証明書の名前、タイプを設定する f:id:kobashin__G:20160321234031p:plain

  4. 期間を適当に設定する(ここでは10年) f:id:kobashin__G:20160321234224p:plain

  5. 任意の設定で進める f:id:kobashin__G:20160321234346p:plain

f:id:kobashin__G:20160321234352p:plain

f:id:kobashin__G:20160321234356p:plain

f:id:kobashin__G:20160321234405p:plain

f:id:kobashin__G:20160321234412p:plain

f:id:kobashin__G:20160321234419p:plain

  1. 証明書の保存場所をシステムに設定する f:id:kobashin__G:20160321234444p:plain

これで証明書ができた。 f:id:kobashin__G:20160321234532p:plain

  1. 鍵のアクセス制御を設定する キーチェーンアクセスの左カラムの鍵の欄から作成した鍵を選択し、情報を見るを実行。 f:id:kobashin__G:20160321234639p:plain

アクセス制御タブの「この項目の使用をすべてのアプリケーションに許可」にチェックを入れる。 f:id:kobashin__G:20160321234643p:plain

  1. 再起動する 鍵へのアクセスが許可されるのは、再起動後の為、再起動する。

Delveをビルドしてインストールする

下記コマンドを実行する

$ cd $GOPATH/src/github.com/derekparker/delve
$ CERT=<作成した証明書の名前> make install

$GOPATH/binに生成済みのバイナリがはき出されているので、ここにPATHを通しておく。

Intellij でBreak pointがはれることを確認する

f:id:kobashin__G:20160321235318p:plain

Yeh! Let's enjoy coding with Go!

flashtoolを作ってみたよ

NexusデバイスにFactoryImageをFlashするときにいつも面倒だなぁと思ってたので、 コマンドでFlash出来るようにするツールを作ってみた。 まだ異常系ほとんど考慮できてないので、文鎮を生み出すかもしれません。 ご利用は計画的に。自己責任でどうぞ:)

github.com