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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Doarakko
November 12, 2020
Programming
1.3k
0
Share
バルサ CL 初戦大勝のその後
Doarakko
November 12, 2020
More Decks by Doarakko
See All by Doarakko
Cloudflare Workers で X(Twitter)のボットを作ってみた
doarakko
0
310
Vercel Edge Functions を使って作る画像メーカー
doarakko
0
86
JOIN して1ヶ月のエンジニアに聞いた Liiga の良いところ 3 選
doarakko
0
86
わんわおーん
doarakko
0
72
職場を明るくする
doarakko
0
330
コードレビューの時間を削減しました
doarakko
0
100
仕事中に隠れてテレビ番組表を見るぞ
doarakko
0
210
GitHub Project の運用を自動化しました
doarakko
0
120
GitHub Actions に入門しました
doarakko
0
1.4k
Other Decks in Programming
See All in Programming
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
920
書き換えて学ぶTemporal #fukts
pirosikick
1
310
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
160
t *testing.T は どこからやってくるの?
otakakot
1
860
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
940
Back to the roots of date
jinroq
0
600
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
210
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
930
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.4k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.4k
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
200
The Less-Told Story of Socket Timeouts
coe401_
3
860
Featured
See All Featured
Designing for Performance
lara
611
70k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
550
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
230
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
30 Presentation Tips
portentint
PRO
1
280
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
230
We Are The Robots
honzajavorek
0
220
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
New Earth Scene 8
popppiees
3
2.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.9k
Navigating Team Friction
lara
192
16k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
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