最近変わった開発時のあれこれ/features-of-recent-go
by
kadota kyohei
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
最近変わった開発時 のあれこれ Umeda.go 2019 Spring 2019-04-20 @plan9user
Slide 2
Slide 2 text
自己紹介 ● 門多恭平 ● 株式会社はてな アプリケーションエンジニア
Slide 3
Slide 3 text
今日話すこと ここ数年でのGo本家のアップデートから、 普段使うものをワークフローに沿って軽く紹介しま す。
Slide 4
Slide 4 text
モジュール テストキャッシュ 環境変数
Slide 5
Slide 5 text
書き始め
Slide 6
Slide 6 text
コードの書き始め ● モジュールを使いましょう ● ○ お好みのバージョン管理ツール ● ● ● と をコミット
Slide 7
Slide 7 text
コードを書く
Slide 8
Slide 8 text
コードを書く ● を使うように ○ から標準 になる予定 ○ 今後主流になると思われる ● で色々な静的解析
Slide 9
Slide 9 text
// エラーを包んで返す f, err := os.Open(file) if err != nil { return nil, xerrors.Errorf("can't open: %w", err) } // 1行で出力 log.Printf("%v\n", err) // 詳細な出力 log.Printf("%+v\n", err) の公式版 使用例
Slide 10
Slide 10 text
● ユーザに見せるエラーは ● 開発者がバグの調査で読むエラーは ● などエラー処理に使える https://github.com/golang/go/wiki/ErrorValueFAQ
Slide 11
Slide 11 text
で静的解析 ● はありがちなミスを検出するツール ● で任意の解析が行える ● の閉じ忘れ検出とか ○ github.com/gostaticanalysis/sqlrows https://github.com/gostaticanalysis
Slide 12
Slide 12 text
テスト
Slide 13
Slide 13 text
テスト ● テスト結果はキャッシュされるようになった ○ ローカルディレクトリモード→しない ○ パッケージリストモード→する ● の引数にパッケージ名があるかどうか
Slide 14
Slide 14 text
テスト $ go test ./... ok github.com/lufia/backoff 4.028s $ go test ./... ok github.com/lufia/backoff (cached) $ go test ok github.com/lufia/backoff 4.166s $ go clean -testcache テスト結果のキャッシュ 実行例
Slide 15
Slide 15 text
ビルドと実行
Slide 16
Slide 16 text
環境変数 ● ● ● ● ● ● ●
Slide 17
Slide 17 text
環境変数 ● ビルドに影響するもの ○ ● 実行時に影響するもの ○ ○ ○ ○
Slide 18
Slide 18 text
リリース
Slide 19
Slide 19 text
リリース ● 必ずタグを打ちましょう!!! ○ ○ モジュールを使ってハマる原因はこれ ● しておくとより良い ○ ビルド制約に関係なくモジュール管理する http://www.songmu.jp/riji/entry/2019-03-28-go-m odules.html
Slide 20
Slide 20 text
アップデート
Slide 21
Slide 21 text
依存パッケージのアップデート ● 更新の確認 ○ ○ を眺めても良いかも ● バージョンアップ ○ ● パッチリリースだけ ○
Slide 22
Slide 22 text
リリース ● と をコミット ● 必ずタグを打ちましょう
Slide 23
Slide 23 text
No content