Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バルサ CL 初戦大勝のその後
Search
Doarakko
November 12, 2020
Programming
0
1.2k
バルサ CL 初戦大勝のその後
Doarakko
November 12, 2020
Tweet
Share
More Decks by Doarakko
See All by Doarakko
Cloudflare Workers で X(Twitter)のボットを作ってみた
doarakko
0
260
Vercel Edge Functions を使って作る画像メーカー
doarakko
0
72
JOIN して1ヶ月のエンジニアに聞いた Liiga の良いところ 3 選
doarakko
0
81
わんわおーん
doarakko
0
67
職場を明るくする
doarakko
0
300
コードレビューの時間を削減しました
doarakko
0
94
仕事中に隠れてテレビ番組表を見るぞ
doarakko
0
190
GitHub Project の運用を自動化しました
doarakko
0
110
GitHub Actions に入門しました
doarakko
0
1.3k
Other Decks in Programming
See All in Programming
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
640
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
140
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
Six and a half ridiculous things to do with Quarkus
hollycummins
0
160
私はどうやって技術力を上げたのか
yusukebe
43
18k
Software Architecture
hschwentner
6
2.3k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
1.9k
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
800
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
510
明日から始めるリファクタリング
ryounasso
0
130
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
The Pragmatic Product Professional
lauravandoore
36
6.9k
A Tale of Four Properties
chriscoyier
160
23k
How to Ace a Technical Interview
jacobian
280
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
The Cost Of JavaScript in 2023
addyosmani
53
9k
How GitHub (no longer) Works
holman
315
140k
How to Think Like a Performance Engineer
csswizardry
27
2k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Balancing Empowerment & Direction
lara
4
680
Transcript
バルサ CL 初戦大勝のその後 @Doarakko
・2019年12月入社(2社目) ・エンジニア歴1.5年 - 仕事: Go, PHP(たまに) - 趣味: Python, C++
・AtCoder 緑 ・海外サッカーをよく見ます 自己紹介 2
CL 初戦前にヘタフェに完封負け 3
【朗報】バルセロナ大量5得点、圧倒的勝利! 4
Gin にコミットしたい >>>>> 眠気 5
コミットしました 6 パッケージのバージョン上げただけだよ
・Go の Web フレームワーク ・外資就活ドットコムのバックエンドで使用 ・OSS(Open Source Software) Gin とは
7
・ブログを書く ・勉強会を開催 ・issue を立てる ・ドキュメントの追加・修正・翻訳 ・機能追加 ・バグ修正 OSS に貢献するには 8
他にもあるかも
・ブログを書く ・勉強会を開催 ・issue を立てる ・ドキュメントの追加・修正・翻訳 ・機能追加 ・不具合・バグの修正 OSS にコミットするには 9
他にもあるかも
issue 探し 10 OSS によっては「good first issue」というラベルをつけてくれています!
Undefined validation function 'required_if' on field 'Field' 11 issue template
に合わせて書いてくれているのでローカルでの再現や対応がしやすかった
Gin の binding タグとは 12 Gin の内部では validator パッケージを使っているので挙動は同じ Gin
binding タグ validator の validate タグ
binding タグで「required_if」を指定すると定義されてませんよエラー 13
・ローカルで再現するか → 再現 ・「required_if」以外を指定するとどうなかるか → 同様のエラーになるものが一部あり ・validator パッケージの issue に報告が上がっていないか
→ 特になし ・(Gin のバージョンを最新にしても再現するか) 一つずつ確認していく 14
Gin は内部で validator パッケージを使用している 15
validator パッケージのバージョンを見てみると... 16 Gin が使っているバージョン 最新バージョン
17
required_if がリリースされたバージョンを調べてみる 18 ソースから PR を特定して Releases からバージョンを確認
Gin が使っているバージョンでは「required_if」が追加されていない 19 validator パッケージのバージョンあげるぞ
PR を上げるまでの手順 20
・README.md を読む ・CODE_OF_CONDUCT.md を読む ・CONTRIBUTING.md を読む ・コメントがついている issue や PR
を見る(雰囲気を知るため) OSS に PR を上げる前に⚠ 21 ルールが厳格な OSS もあるので必ず読む
① リポジトリを Fork してローカルに落とす 22 本家に直で Push する権限がないため
② go get -u github.com/go-playground/validator/v10 23 動作確認・テストコードの実行も忘れずに!
③ PR 作成 24 マージされた他の方の PR を見て雰囲気を掴む
05:53 25
12:26 26
マージされました 27
・OSS 活動怖くない ・小さな修正でも多くの人のためになる ・issue をよく見てみると意外とコミットチャンスあるかも まとめると... 28
バルサ CL 初戦大勝のその後 @Doarakko