バルサ CL 初戦大勝のその後
by
Doarakko
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
バルサ CL 初戦大勝のその後 @Doarakko
Slide 2
Slide 2 text
・2019年12月入社(2社目) ・エンジニア歴1.5年 - 仕事: Go, PHP(たまに) - 趣味: Python, C++ ・AtCoder 緑 ・海外サッカーをよく見ます 自己紹介 2
Slide 3
Slide 3 text
CL 初戦前にヘタフェに完封負け 3
Slide 4
Slide 4 text
【朗報】バルセロナ大量5得点、圧倒的勝利! 4
Slide 5
Slide 5 text
Gin にコミットしたい >>>>> 眠気 5
Slide 6
Slide 6 text
コミットしました 6 パッケージのバージョン上げただけだよ
Slide 7
Slide 7 text
・Go の Web フレームワーク ・外資就活ドットコムのバックエンドで使用 ・OSS(Open Source Software) Gin とは 7
Slide 8
Slide 8 text
・ブログを書く ・勉強会を開催 ・issue を立てる ・ドキュメントの追加・修正・翻訳 ・機能追加 ・バグ修正 OSS に貢献するには 8 他にもあるかも
Slide 9
Slide 9 text
・ブログを書く ・勉強会を開催 ・issue を立てる ・ドキュメントの追加・修正・翻訳 ・機能追加 ・不具合・バグの修正 OSS にコミットするには 9 他にもあるかも
Slide 10
Slide 10 text
issue 探し 10 OSS によっては「good first issue」というラベルをつけてくれています!
Slide 11
Slide 11 text
Undefined validation function 'required_if' on field 'Field' 11 issue template に合わせて書いてくれているのでローカルでの再現や対応がしやすかった
Slide 12
Slide 12 text
Gin の binding タグとは 12 Gin の内部では validator パッケージを使っているので挙動は同じ Gin binding タグ validator の validate タグ
Slide 13
Slide 13 text
binding タグで「required_if」を指定すると定義されてませんよエラー 13
Slide 14
Slide 14 text
・ローカルで再現するか → 再現 ・「required_if」以外を指定するとどうなかるか → 同様のエラーになるものが一部あり ・validator パッケージの issue に報告が上がっていないか → 特になし ・(Gin のバージョンを最新にしても再現するか) 一つずつ確認していく 14
Slide 15
Slide 15 text
Gin は内部で validator パッケージを使用している 15
Slide 16
Slide 16 text
validator パッケージのバージョンを見てみると... 16 Gin が使っているバージョン 最新バージョン
Slide 17
Slide 17 text
17
Slide 18
Slide 18 text
required_if がリリースされたバージョンを調べてみる 18 ソースから PR を特定して Releases からバージョンを確認
Slide 19
Slide 19 text
Gin が使っているバージョンでは「required_if」が追加されていない 19 validator パッケージのバージョンあげるぞ
Slide 20
Slide 20 text
PR を上げるまでの手順 20
Slide 21
Slide 21 text
・README.md を読む ・CODE_OF_CONDUCT.md を読む ・CONTRIBUTING.md を読む ・コメントがついている issue や PR を見る(雰囲気を知るため) OSS に PR を上げる前に⚠ 21 ルールが厳格な OSS もあるので必ず読む
Slide 22
Slide 22 text
① リポジトリを Fork してローカルに落とす 22 本家に直で Push する権限がないため
Slide 23
Slide 23 text
② go get -u github.com/go-playground/validator/v10 23 動作確認・テストコードの実行も忘れずに!
Slide 24
Slide 24 text
③ PR 作成 24 マージされた他の方の PR を見て雰囲気を掴む
Slide 25
Slide 25 text
05:53 25
Slide 26
Slide 26 text
12:26 26
Slide 27
Slide 27 text
マージされました 27
Slide 28
Slide 28 text
・OSS 活動怖くない ・小さな修正でも多くの人のためになる ・issue をよく見てみると意外とコミットチャンスあるかも まとめると... 28
Slide 29
Slide 29 text
バルサ CL 初戦大勝のその後 @Doarakko