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で「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
220
Railsアプリケーション開発者のためのブックガイド
takahashim
12
5.2k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
C# 14 / .NET 10 の新機能 (RC 1 時点)
nenonaninu
1
1.2k
CData MCP ナイト!「CData × Oracleで実現する新しいデータ活用 ― 国産SaaS 連携から MCP Server for Oracle Database まで」
shisyu_gaku
0
190
Pythonによる契約プログラミング入門 / PyCon JP 2025
7pairs
4
2.2k
PythonとLLMで挑む、 4コマ漫画の構造化データ化
esuji5
0
120
Sidekiq その前に:Webアプリケーションにおける非同期ジョブ設計原則
morihirok
17
6.2k
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
310
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
210
Windows で省エネ
murachiakira
0
140
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
1.2k
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
KATA
mclloyd
32
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
The Cult of Friendly URLs
andyhume
79
6.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Visualization
eitanlees
148
16k
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Ͱٞͯ͠ղܾΛ͍ͯ͠Δ • ΤϯδχΞ͕ؾ͚ͮͳ͍՝ʹؾ͍ͮͯΒ͑ͯͱͯॿ͔Δ • ΤϯδχΞίʔυαʔϏεͷ࣭ΛकΔ • ࣭ΛकΔͨΊʹʮຊ࣭తͳ՝Λฉ͍ͯʯͦΕΛʮখ͘͞ग़͢ʯ ·ͱΊ