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
320
Vercel Edge Functions を使って作る画像メーカー
doarakko
0
86
JOIN して1ヶ月のエンジニアに聞いた Liiga の良いところ 3 選
doarakko
0
88
わんわおーん
doarakko
0
73
職場を明るくする
doarakko
0
330
コードレビューの時間を削減しました
doarakko
0
100
仕事中に隠れてテレビ番組表を見るぞ
doarakko
0
220
GitHub Project の運用を自動化しました
doarakko
0
120
GitHub Actions に入門しました
doarakko
0
1.4k
Other Decks in Programming
See All in Programming
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
990
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.1k
SkillsをS3 Filesに置く時のあれこれ
watany
4
1.8k
Cloudflare で始める Data Platform
ta93abe
0
300
CSC307 Lecture 17
javiergs
PRO
0
240
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
150
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.3k
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
3Dシーンの圧縮
fadis
1
200
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
230
Modding RubyKaigi for Myself
yui_knk
0
430
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
400
Paper Plane
katiecoart
PRO
1
50k
The untapped power of vector embeddings
frankvandijk
2
1.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
Unsuck your backbone
ammeep
672
58k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Marketing to machines
jonoalderson
1
5.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
800
First, design no harm
axbom
PRO
2
1.2k
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