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.3k
大多数のメンバーがコードを書けるチームにおけるエンジニアの役割 / pixiv TECH SALON
TOYOTA Misaki
March 05, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
国土交通省 データコンペ参加者向け勉強会
takehikohashimoto
0
390
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
4
310
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
130
製造現場のデジタル化における課題とPLC Data to Cloudによる新しいアプローチ
hamadakoji
0
200
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
0
1.1k
いろんなものと両立する Kaggleの向き合い方
go5paopao
2
970
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
1
400
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
170
Lexical Analysis
shigashiyama
1
130
Team Dynamicsを目指すウイングアーク1stのQAチーム
sadonosake
1
210
ドメイン名の終活について - JPAAWG 7th -
mikit
30
17k
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
1.6k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
Building an army of robots
kneath
302
42k
Code Reviewing Like a Champion
maltzj
520
39k
Facilitating Awesome Meetings
lara
49
6.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
A Tale of Four Properties
chriscoyier
156
23k
For a Future-Friendly Web
brad_frost
175
9.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
2
75
Producing Creativity
orderedlist
PRO
341
39k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
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Ͱٞͯ͠ղܾΛ͍ͯ͠Δ • ΤϯδχΞ͕ؾ͚ͮͳ͍՝ʹؾ͍ͮͯΒ͑ͯͱͯॿ͔Δ • ΤϯδχΞίʔυαʔϏεͷ࣭ΛकΔ • ࣭ΛकΔͨΊʹʮຊ࣭తͳ՝Λฉ͍ͯʯͦΕΛʮখ͘͞ग़͢ʯ ·ͱΊ