Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DBじゃないoracleの話 gunosy.go#12

1,139 views

Published on

go言語の開発ツールの紹介

Published in: Engineering
  • Be the first to comment

DBじゃないoracleの話 gunosy.go#12

  1. 1. DBじゃないOracleの話 Gunosy.go#12
  2. 2. なに? Goの開発環境いろいろ揃ってるから、Goを書き始めた ものぐさjava使いの人も心配しなくていいよ、 という感じの話です
  3. 3. だれ? ・川田優介 (@kuxuxun) ・フリーランスプログラマ ・Java -> Scala -> Haskell -> Clojure -> Go ・https://github.com/kuxuxun
  4. 4. 新しい言語を学ぶ ものぐさjava使いの悩み ・Eclipse、Intellij対応してない言語で開発環境整備に 苦労した思い出がある(Scalaとか。。) ・それを思い出すとちょっと面倒(エディタで書きたい) ※IntelliJは不満ないくらいに対応済らしいです。 Eclipseも未調査ですがきっといけてるはず。 ・IDEが必要になるときがきっと来る
  5. 5. Goを選ぶ(個人的)理由 ・ぶりぶりリファクタリングしたい のでコンパイル言語がいい ・コンパイルさくさく ・メモリ食わない ・公式/準公式の開発支援ツールが やたらある
  6. 6. 開発支援ツール ・gofmt ・golint ・gorename ・godoc ・stringer ・oracle ・などなど…
  7. 7. golang.org/x/tools/oracle ・リッチなIDEのようなソースコード解析を 提供してくれるツール ・各種エディタとの連携(vim,emacs, atom,sublime) ・go doc以外にも親切なマニュアルがある “go oracle: user manual”
  8. 8. golang.org/x/tools/oracle
  9. 9. golang.org/x/tools/oracle 1 callees 呼び出しているfunctionの情報取得 2 callers 自分を呼び出しているfunctionの情報取得 3 callstack 自分を呼び出しているfunctionの階層を取得
  10. 10. golang.org/x/tools/oracle 4 describe 変数の情報を取得(変数の型など) 5 freevars 選択範囲で参照はされているけど値の代入がされて ない変数を洗い出す 6 implements interfaceと構造体の関連情報をいろいろ取得
  11. 11. golang.org/x/tools/oracle 7 peers channelがmakeや参照されている箇所の情報を取得 8 pointsto 指定のポインタ変数への代入箇所一覧 9 referrers 変数を参照している箇所一覧
  12. 12. golang.org/x/tools/oracle 7 peers channelがmakeや参照されている箇所の情報を取得 8 pointsto 指定のポインタ変数への代入箇所一覧 9 referrers 変数を参照している箇所一覧
  13. 13. ちょっと動かしてみる コマンドライン & vim-go経由で使ってみる https://github.com/fatih/vim-go
  14. 14. Goには強力な開発ツールがたくさん

×