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
大多数のメンバーがコードを書けるチームにおけるエンジニアの役割 / pixiv TECH SALON
Search
TOYOTA Misaki
March 05, 2019
Technology
2
3.5k
大多数のメンバーがコードを書けるチームにおけるエンジニアの役割 / pixiv TECH SALON
TOYOTA Misaki
March 05, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
ググるより、AIに聞こう - Don’t Google it, ask AI
oikon48
0
830
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
440
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
6
3.5k
Proxmox × HCP Terraformで始めるお家プライベートクラウド
lamaglama39
1
180
隙間ツール開発のすすめ / PHP Conference Fukuoka 2025
meihei3
0
330
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
120
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
210
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
200
探求の技術
azukiazusa1
5
1.1k
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
3
1.5k
エンジニア採用と 技術広報の取り組みと注力点/techpr1112
nishiuma
0
130
CodexでもAgent Skillsを使いたい
gotalab555
9
4.4k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Being A Developer After 40
akosma
91
590k
The Cult of Friendly URLs
andyhume
79
6.7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How STYLIGHT went responsive
nonsquared
100
5.9k
Thoughts on Productivity
jonyablonski
73
4.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
It's Worth the Effort
3n
187
28k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
େଟͷϝϯόʔ͕ ίʔυΛॻ͚ΔνʔϜʹ͓͚Δ ΤϯδχΞͷׂ pixiv.inc misakit
• ๛ా ඒ࡙ (Misaki TOYOTA) • 20164݄ೖࣾ • BOOTH νʔϜͷ
Rails ΤϯδχΞ ࣗݾհ
''࡞׆ಈ͕ΑΓָ͘͠ͳΔ'' γϣοϓ࡞αʔϏε
େଟͷϝϯόʔ͕ίʔυΛॻ͚Δ BOOTHνʔϜͰͷΤϯδχΞͷׂ ࠓ͢͜ͱ
ͷνʔϜߏ ίϛϡχςΟʔϚωʔδϟʔ σΟϨΫλʔ ϓϩμΫτ Ϛωʔδϟʔ αʔόʔ ΞϓϦΤϯδχΞ σβΠφʔ WebϑϩϯτΤϯδχΞ
PR͕Ϛʔδ͞Εͨ͜ͱ͕͋Δਓ ίϛϡχςΟʔϚωʔδϟʔ σΟϨΫλʔ ϓϩμΫτ Ϛωʔδϟʔ αʔόʔ ΞϓϦΤϯδχΞ σβΠφʔ WebϑϩϯτΤϯδχΞ
IssueΛཱͯͨ͜ͱ͕͋Δਓ ίϛϡχςΟʔϚωʔδϟʔ σΟϨΫλʔ ϓϩμΫτ Ϛωʔδϟʔ αʔόʔ ΞϓϦΤϯδχΞ σβΠφʔ WebϑϩϯτΤϯδχΞ
Ϣʔβʔ Ϗδωε৬ ٕज़৬ ίʔυ
BOOTH νʔϜͷಛ Ϣʔβʔ Ϗδωε৬ ٕज़৬ ίʔυ
• ΤϯδχΞ͍߹ΘͤΛݟΔ ‣ ฦ৴ͷ͖ͨͨΛ࡞ͬͨΓ • ෆਖ਼ͳจ͕ͳ͍͔νΣοΫ ‣ ΤϯδχΞ͔ͩΒؾ͚ͮΔෆਖ਼ײ BOOTH νʔϜͷಛ
• ͍߹ΘͤΛݟͨ CM ͕จݴमਖ਼ͷ PR / issueΛ࡞Δ • σΟϨΫλʔ͕ SEO
ͷͨΊͷจݴௐ PR / issue Λ࡞Δ BOOTH νʔϜͷಛ
σΟϨΫλʔ͕LPΛؙʑ࡞ͬͯ͘Δ
• ΤϯδχΞ͕ PR ࡞͔Βຊ൪ڥͷσϓϩΠ·ͰΛαϙʔτ͢ΔจԽ ‣ ਓ͔Βر͕͋ͬͨΒɺ࠷ݶͷ git ͷ͍ํɾPRͷ࡞ΓํΛڭ͑Δ ‣ Ή͔͍ͣ͠ͱ͜Ζॿ͚Δ
- ։ൃڥΛ࡞Δ - git rebase - ίϯϑϦΫτղফ ‣ جຊతʹ࠷ޙ·ͰͬͯΒ͏ νʔϜ͕ৢ͞Εͨഎܠ
• ΤϯδχΞ͕ؾ͚ͮͳ͍վળ͕Ϗδωε৬ଆ͚ͩͰճͤΔ ‣ LP੍࡞ ‣ ͍߹Θ͕ͤଟ͍ϖʔδͷදࣔΛվળ͢Δ ‣ Ϣʔβʔ͕ΜͰ͍Δػೳͷ։ൃ • ίϛϡχέʔγϣϯͷίετ͕ݮΔ
ྑ͍͜ͱ
• GitHub IssueΛஸೡʹॻ͍ͯΒ͑Δ ‣ ٕज़తͳՄ൱Λਪଌͯ͠ఏҊͯ͠Β͑Δ ‣ ߟྀ͖͢ύλʔϯΛͯ͢ྻڍͯ͠ఏҊͯ͠Β͑Δ ྑ͍͜ͱ
• ඇޮͳ࣮ํͰIssuePR ͕ඈΜͰ͘Δ ‣ ྫɿJS͔͔͠Βͳ͍ͷͰશ෦JSͰղܾͯ͘͠Δ • ເΛ٧ΊࠐΜͩϏοάͳIssuePR ͕ඈΜͰ͘Δ ‣ ྫɿϖʔδͷϨΠΞτΛΨϥοͱมߋ
ͪΐͬͱࠔΔ໘
ͪΐͬͱࠔΔ໘ ίʔυαʔϏεͷ࣭͕Լ͍͢͠ • ඇޮͳ࣮ํͰIssuePR ͕ඈΜͰ͘Δ ‣ ྫɿJS͔͔͠Βͳ͍ͷͰશ෦JSͰղܾͯ͘͠Δ • ເΛ٧ΊࠐΜͩϏοάͳIssuePR ͕ඈΜͰ͘Δ
‣ ྫɿϖʔδͷϨΠΞτΛΨϥοͱมߋ
ίʔυαʔϏεͷ࣭͕Լ͍͢͠ ͜ΕΛ͙ͷ͕ΤϯδχΞͷׂ
࣮ࡍʹؾΛ͚͍ͭͯΔ͜ͱ ຊ࣭తͳ՝Λฉ͖ग़͢ 1 খ͘͞ग़͢Α͏ʹ͢Δ 2
ຊ࣭తͳ՝Λฉ͖ग़͢ 1 খ͘͞ग़͢Α͏ʹ͢Δ 2 ࣮ࡍʹؾΛ͚͍ͭͯΔ͜ͱ
• ʮղܾҊʯ͚͕ͩ͑ΒΕΔ͜ͱ͕͋Δ • ຊʹΓ͍ͨ͜ͱ͕ཪʹӅΕ͍ͯΔ ຊ࣭తͳ՝Λฉ͖ग़͢
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλεΛՃ͍ͯͩ͘͠͞ʂ ͑ͬ ίϛϡχςΟʔ Ϛωʔδϟʔ ΤϯδχΞ
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλε • ͓·ͱΊத • ४උத • ग़ՙͪ • ൃૹ࡞ۀத
• ग़ՙࡁΈ • Ωϟϯηϧ
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλε • ͓·ͱΊத • ४උத • ग़ՙͪ • ൃૹ࡞ۀத
• ग़ՙࡁΈ • Ωϟϯηϧ • ೖՙ։࢝த [NEW!]
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλε • ͓·ͱΊத • ४උத • ग़ՙͪ • ൃૹ࡞ۀத
• ग़ՙࡁΈ • Ωϟϯηϧ • ೖՙ։࢝த [NEW!] • ঢ়ଶΛ૿ͨ͘͠ͳ͍ • දࣔͷϩδοΫ͕૿͑Δ • Өڹൣғ͕େ͖͍ • ϏδωεϩδοΫ্ͷෆ߹ ॏ͍…
ຊ࣭తͳ՝Λฉ͖ग़͢ ൃૹεςʔλεΛՃ͍ͯͩ͘͠͞ʂ ͑ͬ Ͳ͏ͯ͠৽͍͠εςʔλε͕͍ΔΜͰ͔͢ʁ ίϛϡχςΟʔ Ϛωʔδϟʔ ΤϯδχΞ
࣮…… • "४උத"͔Β"ग़ՙͪ"ʹมԽ͢Δ·Ͱͷظ͕͓͍ؒ͘߹Θ͕ͤଟ • ͜ͷظؒBOOTHʹ͍߹ΘͤΛΒͬͯͰ͖Δ͜ͱ͕ͳ͍ • γϣοϓΦʔφʔ͞Μʹ͍߹Θͤͯ΄͍͠ • ͳͷͰதؒతͳεςʔλε૿͢ҊΛఏҊ ͳΔ΄ͲͶ
࣮…… • "४උத"͔Β"ग़ՙͪ"ʹมԽ͢Δ·Ͱͷظ͕͓͍ؒ͘߹Θ͕ͤଟ • ͜ͷظؒBOOTHʹ͍߹ΘͤΛΒͬͯͰ͖Δ͜ͱ͕ͳ͍ • γϣοϓΦʔφʔ͞Μʹ͍߹Θͤͯ΄͍͠ • ͳͷͰதؒతͳεςʔλε૿͢ҊΛఏҊ ͳΔ΄ͲͶ
• 20ߦఔͷมߋͰࡁΜͩ ղܾࡦ
• νʔϜશһ͕༷ʑͳղܾࡦΛఏҊͯ͘͠ΕΔ • ͨ·ʹΤϯδχΞϦϯάతʹඇޮͳղܾࡦ͕ඈΜͰ͘Δ…… • ͕͜͜ΤϯδχΞͷͷݟͤॴ • ΤϯδχΞ͕୲อ͢ΔͷαʔϏεɾίʔυͷ্࣭ • ຊ࣭తͳ՝ΛώΞϦϯάͯ͠ɺҰॹʹ࠷ળࡦΛ୳Δ
ຊ࣭తͳ՝Λฉ͖ग़͢
খ͘͞ग़͢Α͏ʹ͢Δ 2 ຊ࣭తͳ՝Λฉ͖ग़͢ 1 ࣮ࡍʹؾΛ͚͍ͭͯΔ͜ͱ
• ৽ػೳվળΛ࠷খ୯ҐͰϦϦʔε͍ͯ͘͠ • ߴʹԾઆݕূ͕ճͤΔ • ΤϯόάखΓ͕ൃੜ͠ʹ͍͘ • খ͍͞มߋΛଓ͚ͯɺϢʔβʔʹՁΛఏڙ͠ଓ͚Δ͜ͱ͕େ খ͘͞ग़͢ͱ
খ͘͞ग़ࣦ͢ഊྫ จݴΛมߋ͠·ͨ͠ʂ
খ͘͞ग़ࣦ͢ഊྫ ͍ͭͰʹɺϨΠΞτΛมߋ͠·ͨ͠ จݴΛมߋ͠·ͨ͠ʂ
খ͘͞ग़ࣦ͢ഊྫ ͍ͭͰʹɺϨΠΞτΛมߋ͠·ͨ͠ ͍ͭͰʹɺϦϑΝΫλϦϯά͠·ͨ͠ จݴΛมߋ͠·ͨ͠ʂ
খ͘͞ग़ࣦ͢ഊྫ จݴΛมߋ͠·ͨ͠ʂ จݴมߋ͚ͩͳΒ͙͢ϦϦʔεͰ͖ͨͷʹ…… ͍ͭͰʹɺϨΠΞτΛมߋ͠·ͨ͠ ͍ͭͰʹɺϦϑΝΫλϦϯά͠·ͨ͠
• ʮ͍ͭͰʹʯͰ1ͭͷIssue/PRʹ͋Ε͜ΕΓࠐΜͰ͠·͏ • ϢʔβʔʹՁ͕ಧ͘·Ͱʹ͕͔͔࣌ؒΔ • Τϯόά͍͢͠ • खΓ͕ൃੜ͍͢͠ ʮ͍ͭͰʹʯͷঈ
• ͯ͢ͷʮ͍ͭͰʹʯΛੜ·ΕΔલʹࢭΊΔ • ͷࡉԽɾ࠷খԽɾίετͳରԠํ๏Λܒ ‣ ʮ͜ͷIssueจݴมߋ͚ͩઌʹग़ͤ·͢Αʯ ‣ ʮ͜ͷมߋҰ෦ը໘͚ͩͰࢼͯ͠Έ·ͤΜ͔ʁʯ ΤϯδχΞͷׂ
• IssueʮαʔϏεAͷϩΰͱҙจϖʔδͷϦϯΫΛมߋ͍ͯͩ͘͠͞ʯ ྑ͍ύλʔϯ
• IssueʮαʔϏεAͷϩΰͱҙจϖʔδͷϦϯΫΛมߋ͍ͯͩ͘͠͞ʯ ྑ͍ύλʔϯ ઌʹϚʔδͰ͖ͨ
• νʔϜϝϯόʔʹʮখ͘͞ग़͢ʯ͕ਁಁ࢝͠Ίͨ • ϨϏϡʔָ͕ʹͳͬͨ • ϦϦʔε্͕ͨ͠ • ϢʔβʔʹՁΛߴͰಧ͚ΒΕΔΑ͏ʹͳͬͨ ܒΛଓ͚ͨ݁Ռ
• νʔϜશһ͕PRΛ࡞ͬͨΓɺIssueͰٞͯ͠ղܾΛ͍ͯ͠Δ • ΤϯδχΞ͕ؾ͚ͮͳ͍՝ʹؾ͍ͮͯΒ͑ͯͱͯॿ͔Δ • ΤϯδχΞίʔυαʔϏεͷ࣭ΛकΔ • ࣭ΛकΔͨΊʹʮຊ࣭తͳ՝Λฉ͍ͯʯͦΕΛʮখ͘͞ग़͢ʯ ·ͱΊ