最近変わった開発時のあれこれ/features-of-recent-go
by
kadota kyohei
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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