GopherCon報告会

8843d0fb02a3688513a890bd23a5fa3c?s=47 acomagu
September 21, 2018
1.2k

 GopherCon報告会

8843d0fb02a3688513a890bd23a5fa3c?s=128

acomagu

September 21, 2018
Tweet

Transcript

  1. GopherCon報告会 “Becoming a Go Contributor" "Machine Learning on Go Code"

    mercari.go #3 伊藤勇希 @acomagu
  2. 自己紹介 - 伊藤勇希 @acomagu / ペギー伊藤 - 会津大学

  3. GopherConに行ってきました

  4. 見たもの/参加したもの - ワークショップ "Testing" - Pre-Conference Party - "The Scheduler

    Saga" - "An Over-Engineering Disaster with Macaroons" - "Go for Information Displays" - "Asynchronous Networking Patterns" - "Machine Learning on Go Code" - "Writing Accessible Go" - "Becoming a Go Contributer" - "The Go Programmer's Guide to Secure Connections"
  5. 見たもの/参加したもの - ワークショップ "Testing" - Pre-Conference Party - "The Scheduler

    Saga" - "An Over-Engineering Disaster with Macaroons" - "Go for Information Displays" - "Asynchronous Networking Patterns" - "Machine Learning on Go Code" - "Writing Accessible Go" - "Becoming a Go Contributer" - "The Go Programmer's Guide to Secure Connections"
  6. Index - “Becoming Go Contributer” スライド: https://kev.inburke.com/slides/becoming-go-contributor 動画: https://www.youtube.com/watch?v=HZYrSIC6LFA -

    “Machine Learning on Go Code” スライド: https://github.com/ardanlabs/training-ai/tree/master/machine-learning-with-go 動画: https://www.youtube.com/watch?v=Lt3qZAwQX3w - 全体の感想
  7. Becoming Go Contributer by Kevin Burke “どうやったらGoのコントリビュータに なれるか?”

  8. 引用: https://kev.inburke.com/slides/becoming-go-contributor

  9. 引用: https://kev.inburke.com/slides/becoming-go-contributor

  10. どうするか

  11. 1. Exampleの追加 - 例はとても密度が高い情報。 超便利。 - e.g. fmtパッケージは大きい割に Exampleが少ないのでみんなコ ントリビュートしよう

    画像引用: https://kev.inburke.com/slides/bec oming-go-contributor
  12. 2. ドキュメントの追加/改善 - ドキュメントはすぐ古くなる - e.g. scrypt.Key() のオススメのパラメー タの情報が2009年で止まっていた 画像引用:

    https://kev.inburke.com/slides/bec oming-go-contributor
  13. 2. ドキュメントの追加/改善 引用: https://kev.inburke.com/slides/becoming-go-contributor

  14. どうコントリビュートするか

  15. どうコントリビュートするか - 初めは小さいもの - Kevinの最初のコミットは1文字だった - 小さいコントリビュートだからと言って重要ではないわけではない。Bradfitzの Gerrit Commitの半分は20LOC以内 -

    golang.org/x がオススメ - Get Help - https://go.googlesource.com/scratch <- ここでGerritの使い方が学べる - #gocontributing / #goreviews <- Slack もある - メーリングリストもある
  16. 感想 - Goのコントリビュートの仕方はバグ修正やtypo修正だけではないことがわかった - 「悪いところを修正する」→「どう改善できるか」という考え方 - 人のコミットをもっと追ってもいいかも - 例えば「Exampleが欲しい...」と思った時がコントリビュートチャンスかもしれない

  17. Machine Learning on Go Code by Francesc Campoy Flores “Goのソースコードへの機械学習で

    何ができるか?”
  18. None
  19. 関連領域 - 自然言語処理 - データマイニング - グラフ指向機械学習

  20. 自然言語との比較 自然言語: 正しくない結果 → アートになる プログラミング言語: 正しくない結果 → コンパイルできない

  21. データ解析 - コードとは何か? - 文字の羅列 - トークンの羅列 - AST -

    コントロールフローのグラフ - 今回は文字の羅列で見る
  22. 引用: https://speakerdeck.com/campoy/machine-learning-on-go-code

  23. 引用: https://speakerdeck.com/campoy/machine-learning-on-go-code

  24. 学習/予測 - Recurrent Neural Networks (RNN) 画像引用: https://speakerdeck.com/campoy/machine-learnin g-on-go-code

  25. 学習/予測 - charRNN: 次の文字を予測する 画像引用: https://speakerdeck.com/campoy/machine-learnin g-on-go-code

  26. 引用: https://speakerdeck.com/campoy/machine-learning-on-go-code

  27. 引用: https://speakerdeck.com/campoy/machine-learning-on-go-code

  28. まだ使い物にならない...

  29. 今コードにMLをどう使うか - バグの発見 - 頭の良い補完 - 関数の内容から関数名の予測 - コードレビュー -

    プログラミング教育
  30. 引用: https://speakerdeck.com/campoy/machine-learning-on-go-code

  31. 思ったこと - diffを見ながらのレビューはいまだにしんどいものがあるので、楽にしたい - どこをMLに置き換えられるか考えるのは楽しい - 例えば JavaScript のコードジャンプとか... -

    Go”で”MLってどうなんだろう?
  32. GopherCon全体の感想 - どのセッションも興味深かった 。あらゆる環境でGoを使っている人がいるから、 カンファレンスも必然的に面白くなるんだなという印象を受けた - みんな議論好き - ベーコンはポテトチップス並にカリカリ -

    ここで受けた刺激をモチベーションとして来年のGopherConまで頑張っていきたい
  33. ありがとうございました!