「golang.tokyo #23」参加レポート!
はじめに
テーマ
今回のテーマは「これからGoを始める人に知ってほしいこと」です!
時間 | 内容 |
---|---|
19:10 ~ | 開場・受付 |
19:30 ~ 19:40 | オープニング |
19:40 ~ 20:00 | 絶対に分かるポインタ |
20:00 ~ 20:20 | Goをはじめるあたって知っておいてほしいツールやテスト |
20:20 ~ 20:40 | Delveを用いたデバッグ & pprofを用いたプロファイリング |
20:40 ~ 20:50 | LT1(抽選) |
20:50 ~ 21:00 | LT2(抽選) |
21:00 ~ 21:10 | LT3(抽選) |
21:10 ~ 21:30 | 終了・撤収 |
会場
今回はDeNA TECH STUDIOに会場をスポンサー提供いただいております(ありがとうございます!)
東京都渋谷区渋谷2−21−1 渋谷ヒカリエ (定時に11F集合となります)
DeNAさんのウォーターとビール✨ #golangtokyo pic.twitter.com/VOc568Iaug
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
DeNAさん、お酒のおつまみに合うものわかってる😍
めっちゃ美味しいです👏 pic.twitter.com/hPU6CFTCAO
本編
絶対に分かるポインタ / tenntenn
メルカリ/メルペイ所属。 バックエンドエンジニアとして日々Goを書いている。 Go Conference主催者。golang.tokyo、Goビギナーズ、GCPUG Tokyo運営。 大学時代にGoに出会い、それ以来のめり込む。 社内外で自ら勉強会を開催し、Goの普及に取り組んでいる。 マスコットのGopherの絵を描くのも好き。人類をGopherにしたいと考えている。
Twitter: https://twitter.com/tenntenn Qiita: https://qiita.com/tenntenn 過去の発表資料: https://www.slideshare.net/takuyaueda967/
Goをはじめてから、いつもお世話になっている方!!!
GoのコミュニティのSlackで質問したら速攻で回答してくれたtenntennさん(@tenntenn)さんが1番目の発表!
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
ポインタをわかりやすく解説してくださってる。
#golangtokyo
完全にポインタ理解した!笑
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
https://t.co/huEYXCgxhw #golangtokyo
— tenntennʕ ◔ϖ◔ʔ ==Go@け25 (@tenntenn) 2019年4月19日
#golangtokyo 取り急ぎ感想ブログでした、ポインタの話わかりやすかったですhttps://t.co/IBI1uxtKQX #23 参加レポート - Software engineering from east directionhttps://t.co/FjRRzMFvBE
— Kazuki Higashiguchi (@hgsgtk) 2019年4月19日
Goをはじめるあたって知っておいてほしいツールやテスト/mom0tomo, micchiebear
mom0tomo Women Who Go Tokyoスタッフ。 アプリケーションエンジニアとして普段はRailsとReactを使っている。 初めて使った言語がGoで、ずっとGoが大好き。
Twitter: https://twitter.com/mom0tomo
blog: https://mom0tomo.github.iomicchiebear Women Who Go Tokyoスタッフ。 業務設計と熊を愛するGopher, より良いリーダーシップの会得を目指しています。 Delphi, PHP, Go, vim, David Lynch, Bear, Keybord.
Twitter: https://twitter.com/micchiebear
キーキャップ欲しい!
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
キーキャップピアスの人か!https://t.co/HLzafvwgPj
— hori (@hori_ryota) 2019年4月19日
#golangtokyo
Goをはじめるあたって知っておいてほしいツールやテスト
— 鶴見翼 (@chokoGtr) 2019年4月19日
#golangtokyo
便利な標準ツールたち
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
- goenv
- gofmt
- govet
- golint
#golangtokyo
CodeReviewCommentshttps://t.co/QGdkp0olkx#golangtokyo
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
CodeReviewComments 日本語訳はここよ!(何度も見てる)https://t.co/OXVkgJmb95
— パン粉 (@pankona) 2019年4月19日
#golangtokyo
今日の資料です #golangtokyo #wwg_tokyo https://t.co/JFD3zqW3Q5
— Momo Watanabe (@mom0tomo) 2019年4月19日
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
Table Driven Test ...
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
そんなのあるのね。
知らなかった!
#golangtokyo
Table Driven Tests https://t.co/tL2TS7B1CM#golangtokyo
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
TestMainを使うとテストの前処理ができるのか!
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
test便利だなぁって思ってたけど、そこまでtest見ていなかった。
あとで勉強しなおそ。
#golangtokyo
Subtests and Sub-benchmarkshttps://t.co/qCw80iHj0z#golangtokyo
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
テーブル駆動テストでテストするには使いやすいAPIにしないと難しいので、いい感じの設計になるっていう副次効果もある #golangtokyo
— tenntennʕ ◔ϖ◔ʔ ==Go@け25 (@tenntenn) 2019年4月19日
connpass に資料あげました。https://t.co/gLiyeXIwkp#golangtokyo
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年4月19日
Delveを用いたデバッグ & pprofを用いたプロファイリング / 渡邉 光
株式会社ディー・エヌ・エー所属。 Golang/GAEによるサーバサイド開発がお仕事です。
GitHub: https://github.com/xruins Twitter: https://twitter.com/C_Ruins
delve(デルブ)について
難しさを低減するツールとして、
— 鶴見翼 (@chokoGtr) 2019年4月19日
Delve
pprof
#golangtokyo
delve(デバッガ)の話 https://t.co/NRfqm5ZhUZ#golangtokyo
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
もちろんvimもdelveに対応していますhttps://t.co/pXCBRBKyOX#golangtokyo
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
VSCode、GoLand でも delve の恩恵に与ることができるぞ #golangtokyo
— パン粉 (@pankona) 2019年4月19日
pprof(ピープロフ)について
なんと Go には標準のプロファイリングツール pprof というのが公式から提供されているのだ、好き #golangtokyo
— パン粉 (@pankona) 2019年4月19日
必要な関数周りだけフィルタリングしてグラフ表示もできるのとっても便利 #golangtokyo
— hori (@hori_ryota) 2019年4月19日
CPU、Heap、goroutine、Blocking、Mutex のプロファイラーが存在する、充実感 #golangtokyo
— パン粉 (@pankona) 2019年4月19日
LT
GoDocとTDDにダイブして脱新人を始められる?話
GoDocとTDDにダイブして脱新人を始められる?話
— 鶴見翼 (@chokoGtr) 2019年4月19日
#golangtokyo
間も無く初めてのLT登壇 #golangtokyo
— しょーちゃん golang Ninja400 (@PGShohei) 2019年4月19日
Buffalo
buffaloはGopherConでも使われてる #golangtokyo
— tenntennʕ ◔ϖ◔ʔ ==Go@け25 (@tenntenn) 2019年4月19日
https://t.co/MQDPp1WfU9
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
https://t.co/BjGI5eTHo2
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
https://t.co/kayrhEYk3U
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年4月19日
これですね!
GopherCon2018 でワークショップがありましたฅʕ•ᴥ•ʔฅ#golangtokyo
チュートリアルが前見たときよりも充実している気がする。https://t.co/acCWv1Qd8E#golangtokyo
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年4月19日
参考になるかな? https://t.co/kWbaXQ2mc1 #golangtokyo
— tenntennʕ ◔ϖ◔ʔ ==Go@け25 (@tenntenn) 2019年4月19日
フレームワークに文献がとぼしく、自分で頑張って読み解くことで自力がついてきたという話か、ツワモノか #golangtokyo
— パン粉 (@pankona) 2019年4月19日
buffaloはpopだけ使おうかなと思ったことが少しだけある #golangtokyohttps://t.co/r0GStXidJO
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
発展途上のFWのコミュニティは優しい #golangtokyo
— yoshd (@yoshd_) 2019年4月19日
「一緒に Buffalo 作っていきませんか」#golangtokyo
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年4月19日
GoConvey
https://t.co/BuHiC1xnFF
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
https://t.co/i39L7p68fB
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
「テストがないと不安でたまらなくなってしまった」
— パン粉 (@pankona) 2019年4月19日
なんて素晴らしい言葉だ #golangtokyo
GVA TECH株式会社
👀 https://t.co/nyWRfxiawg#golangtokyo
— オトモレ🎧 (@otomore01) 2019年4月19日
GoらしさとGO GENERATE
horiさんのブログよく読ませてもらってます #golangtokyo https://t.co/7nQc8xN5ek
— Yoichiro Shimizu (@budougumi0617) 2019年4月19日
DDD の話だ!!#golangtokyo
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年4月19日
GolangだとDDD書きづらいよねって話。
「Go だと read only の表現が大変」わかる #golangtokyo
— パン粉 (@pankona) 2019年4月19日
Goの隠蔽面倒問題 #golangtokyo
— yoshd (@yoshd_) 2019年4月19日
カプセル化難しいよね。ほんと。
go generate
— 鶴見翼 (@chokoGtr) 2019年4月19日
コードの中に記載できる自動生成ツール
#golangtokyo
DDD がしたいので Go の Accessor を go generate する go-genaccessor を作ったhttps://t.co/CAwYCXHedg
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
#golangtokyo
#golangtokyo
— Kazuki Higashiguchi (@hgsgtk) 2019年4月19日
こちらですねhttps://t.co/7xTm96tY29
errorを使う弊害
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
* 型安全でなくなる
* 表現を失う
意味のあるエラーは、意味あるエラーを作ろう
#golangtokyo
そういうときはこれが便利です! https://t.co/3PA4t60XZi #golangtokyo
— tenntennʕ ◔ϖ◔ʔ ==Go@け25 (@tenntenn) 2019年4月19日
GoReleaser: Release and Distribute Go Application
LT やります。よろしくお願いします #golangtokyo
— micnncim (@micnncim) 2019年4月19日
GoReleaser
Go のバイナリは go get か GitHub Release を使うってのが多い、確かに #golangtokyo
— パン粉 (@pankona) 2019年4月19日
なぜCLIでツールを作成するのか
— 鶴見翼 (@chokoGtr) 2019年4月19日
・Cross Compile
・Single Binary
#golangtokyo
Gopher にはいいけれども User には良くない。
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年4月19日
go get はそうだよね。Go がないと。#golangtokyo
go get配布はGO111MODULEのおかげで面倒くさくなった気がします。
— aimof@Goプログラマ (@aimof_) 2019年4月19日
(恩恵の方がでかいけど)
#golangtokyo
バイナリのリリースにはパッケージマネージャからインストールできるようにしとくが良い、けど、パッケージマネージャってめっちゃ色々あるから開発者は大変そう #golangtokyo
— パン粉 (@pankona) 2019年4月19日
pkg マネージャーでインストールするのがユーザは1番いいが、gopherは辛い
— 鶴見翼 (@chokoGtr) 2019年4月19日
・Formulaの管理が面倒
・リリースするたびにコミットが必要
#golangtokyo
GoReleaser良さげだな。
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年4月19日
いいな!いいな!
#golangtokyo
自分も go generate 対応のちょっと便利なツール作ったので宣伝させてくれ! 前回のテーマだった静的解析ライブラリを利用して、DynamoDB に iota を入れるとき読みやすく変換してくれるやつです。 #golangtokyo https://t.co/TbThddHUHs
— チェシャ猫 (@y_taka_23) 2019年4月19日
さきほどの資料ですhttps://t.co/2MzrECssgw#golangtokyo
— micnncim (@micnncim) 2019年4月19日