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
DroidKaigi公式アプリOSS成功要因
Search
konifar
July 02, 2016
Programming
5
1.3k
DroidKaigi公式アプリOSS成功要因
YAPC::Asia Hachioji 2016
http://yapcasia8oji-2016mid.hachiojipm.org/time_table_7_2/
konifar
July 02, 2016
Tweet
Share
More Decks by konifar
See All by konifar
Android開発以外のAndroid開発経験の活かしどころ
konifar
3
2.2k
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
290
オーナーシップを持つ領域を明確にする
konifar
15
4.7k
雑に思考を整理する技術と効能
konifar
74
36k
何のための個人目標設定?
konifar
28
14k
30点で打席に立つ
konifar
79
51k
Linterでチョット安心 iOS多言語化対応 / ios-i18n-linter
konifar
2
1.2k
VPoEとして1年 もっとこうすればよかった3選 / VPoE Retrospective
konifar
13
6.3k
Introduction to API Testing Automation by Postman
konifar
1
3.7k
Other Decks in Programming
See All in Programming
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
400
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1k
Оптимизируем производительность блока Казначейство
lamodatech
0
240
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
460
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
310
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
240
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
290
CloudflareStack でRAGに入門
asahiiwm
0
120
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
1k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.8k
103 Early Hints
sugi_0000
1
260
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
KATA
mclloyd
29
14k
The Cult of Friendly URLs
andyhume
78
6.1k
Building Your Own Lightsaber
phodgson
103
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Automating Front-end Workflow
addyosmani
1366
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Building Adaptive Systems
keathley
38
2.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Into the Great Unknown - MozCon
thekraken
34
1.5k
Transcript
%SPJE,BJHJެࣜΞϓϦ 044ޭཁҼ !LPOJGBS :"1$"TJB)BDIJPKJ
͜ʹ;͊ʔ !LPOJGBS
͜ʹ;͊ʔ !LPOJGBS ESPJELBJHJ
"OESPJEΛͬͯΔਓʁ
044ʹڵຯ͕͋Δਓʁ
%SPJE,BJHJ w "OESPJEٕज़ใͷڞ༗ͱίϛϡχέʔγϣϯ͕తͷ "OESPJE։ൃऀͷͨΊͷΧϯϑΝϨϯε w ʢʣɺʢۚʣʹ։࠵
ެࣜΞϓϦ࡞Γ·ͨ͠ ΦʔϓϯιʔεͰ%SPJE,BJHJͷΧϯϑΝϨϯεΞ ϓϦ࡞ͬͯΔ IUUQLPOJGBSIBUFOBCMPHDPNFOUSZ
લࡇͷΑ͏ͳੌ·͍͡Γ্͕Γ
None
None
(PPHMF*0ͷΞϓϦʹෛ͚ͯͳ͍
(JU)VCͷ1VODIDBSE
None
ϲ݄ܦͬͨࠓͰଓ͍͍ͯΔ
ؖࠃޠαϙʔτ 5IBOLT!1MVV
ܧଓతͳϥΠϒϥϦΞοϓσʔτ 5IBOLT!TIBVOLBXBOP
ͳͥ͜ΜͳʹΓ্͕ͬͨͷ͔
ʮࠓࢥ͑͋Ε͕Α͔ͬͨͳ͊ʯ ͱࢥ͑Δ͜ͱΛ͍͔ͭ͘ཧͨ͠ͷͰ ͦͷΛ͠·͢
%SPJE,BJHJެࣜΞϓϦ 044ޭཁҼ ʢ͔ͩͬͨ͠Εͳ͍ʣ
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ $POUSJCVUFͷෑډΛԼ͛Δ ӳޠͰΓͱΓ͢Δ ϨϏϡʔΛߴʹճ͢ ༷ʑͳखஈͰͬͯΒ͏
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ
*TTVF͕͋ͬͯͲΕΛΕ͍͍͔ Θ͔Βͳ͍ͱखΛ͚ͭʹ͍͘ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
༏ઌͷΘ͔Δ-BCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
༏ઌͷΘ͔Δ-BCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ छྨͰͳ͘ ༏ઌΛද͢ϥϕϧ ೱ͍৭ʹ͍ͯ͠Δ
༏ઌͷΘ͔Δ-BCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ XFMDPNFDPOUSJCVUFMBCFM
XFMDPNFDPOUSJCVUFMBCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ w DPOUSJCVUFͯ͠΄͍͠*TTVFʹ͜ͷϥϕϧΛ͚͓ͭͯ͘ w ݟͨਓ͕ͲΕΛͬͨΒ͍͍͔ͻͱͰΘ͔Δ w XFMDPNFײ͕ग़ͯऔΓ͍͢
XFMDPNFDPOUSJCVUFMBCFM -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ w (JU)VCͱ࿈ܞͯ͠*TTVFͱ1VMMSFRVFTUΛΧϯόϯԽ IUUQTXB⒐FJPLPOJGBSESPJELBJHJ w ;FO)VCͰ͍͍͕ɺXB⒐FJPແྉͩ͠ϦϯΫΛͬ ͍ͯΕ͙͑͢Δͱ͍͏ख͕ܰ͋͞Δ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ *TTVFΛ্͛ͨΒ #BDLMPHʹೖΔ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ ΔͧͱܾΊͨΒ 3FBEZ υϥοάυϩοϓ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ ୭͔͕Γ࢝ΊͨΒ *O1SPHSFTT
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ Ϋϩʔζͨ͠Β %POFʹೖΔ
XB⒐FJPʢΧϯόϯʣ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ .JMFTUPOFՄࢹԽ
.JMFTUPOF -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
.JMFTUPOF -BCFMͱ.JMFTUPOFΛ׆༻͢Δ όʔδϣϯ͝ͱʹͬͯ ʹͪೖΕ͓ͯ͘͜ͱͰ కΛՄࢹԽͰ͖Δ
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ͜ͱͰ ԿΛ͍ͭ·ͰʹΕ͍͍͔͕໌֬ʹͳΓ ͱ͖ͬͭ͘͢ͳΔ -BCFMͱ.JMFTUPOFΛ׆༻͢Δ
$POUSJCVUFͷෑډΛԼ͛Δ
$POUSJCVUFʹ༐ؾ͕͍Δ $POUSJCVUFͷෑډΛԼ͛Δ w ʮͳΜ͔ͦ͠͏ʜʯ w ʮ͜ΜͳγϣϘ͍ͷ্͛ͯେৎ͔ͳʜʯ w ʮϨϏϡʔͰ໎͔͚ͨΒͲ͏͠Α͏ʜʯ w ʮࣗͳΜ͔͕ΔΑΓଞͷਓ͕ͬͨํ͕ʜʯ
*TTVFͷཻΛখ͘͞ $POUSJCVUFͷෑډΛԼ͛Δ w ͘Β͍ͰͰ͖ͦ͏ͳϨϕϧͷͷॻ͍͓ͯ͘ w ʮ͜Ε͘Β͍ͳΒࣗͰͰ͖ͦ͏ͩʯͱࢥͬͯΒ͏
༨നͷௐͱ͔ $POUSJCVUFͷෑډΛԼ͛Δ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJJTTVFT
ఆظతͳ*TTVFͷ୨Է͠ $POUSJCVUFͷෑډΛԼ͛Δ w ݹ͍*TTVFΛΫϩʔζ͢Δ w ৽ͨʹग़͖ͯͨ*TTVFΛҰؾʹॻ͖ग़͢ w XFMDPNFDPOUSJCVUFϥϕϧΛషΓ͢ w ৗʹ࠷৽ʹอͭ͜ͱͰ$POUSJCVUPSͷࠞཚΛগͳ͘͢Δ
,PUMJOԽͷΫϩʔζ $POUSJCVUFͷෑډΛԼ͛Δ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJQVMM
ࣗͰͰ͖ͳ͍͜ͱॻ͍͓ͯ͘ $POUSJCVUFͷෑډΛԼ͛Δ w ʮ͜͏͍͏͜ͱ͍ͨ͠ʯͱ͍͏*TTVFॻ͍͓͖ͯ͘ w "OESPJEͷ߹ɺਓʹΑͬͯৄ͍͕͠ҧ͏͜ͱ͋Δ ͷͰɺͦͷํ͕$POUSJCVUF͘͢͠ͳΔ
ϥΠϒϥϦ࡞ऀ͔Βͷ$POUSJCVUF $POUSJCVUFͷෑډΛԼ͛Δ
$POUSJCVUFͷෑډΛԼ͛Δ $POUSJCVUPSTΫϨδοτ $POUSJCVUPSTͷօ͞ΜͷѹతײँΛܗʹͨͯ͘͠ *TTVFʹͨ͠Βɺ!HPUPLBUTVZB͕࡞ͬͯ͘Εͨ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJJTTVFT $POUSJCVUF͢ΔࡍͷϞνϕʔγϣϯʹͳΔ
$POUSJCVUFʹ༐ؾ͕͍ΔͷͰ ʮࢲͰͰ͖ͦ͏ʯ ʮͳΜָ͔ͦ͠͏ʯ ʮ$POUSJCVUFͯ͠ΈΑ͏͔ͳʯ ͱࢥͬͯΒ͑ΔΑ͏ʹ͠·͠ΐ͏ $POUSJCVUFͷෑډΛԼ͛Δ
ӳޠͰΓͱΓ͢Δ
2ෑډΛԼ͛Δͱ͔ݴ͓͖ͬͯͳ͕Β ͳΜͰӳޠͳͷʁ ӳޠͰΓͱΓ͢Δ
"ւ֎͔Βͷ$POUSJCVUF͋Δ͔ͳͱ ࢥ͍ͬͯͨʢͳ͔ͬͨʣ ӳޠͰΓͱΓ͢Δ
ӳޠͷํ͕ςϯγϣϯ্͕͕Δ ӳޠͰΓͱΓ͢Δ IUUQTHJUIVCDPNLPOJGBSBOESPJE NBUFSJBMEFTJHOJDPOHFOFSBUPS QMVHJOJTTVFT
ӳޠͰΓͱΓ͢Δ
ӳޠͰΓͱΓ͢Δ IUUQTHJUIVCDPNLPOJGBSESPJELBJHJQVMM
ӳޠͰΓͱΓ͢Δ
ӳޠͰΓͱΓ͢Δ ຊޠͷ࣌ΑΓΈΜͳ༏͍͠ؾ͕͢Δ ʢ݁ՌతʹͬͯΑ͔ͬͨʣ
ͪΖΜຊޠͰશવͳ͠ ӳޠͰΓͱΓ͢Δ IUUQTHJUIVCDPNLPOJGBSZBQDBTJBTDFOBSJPJTTVFT JTTVFDPNNFOU
ւ֎͔Βڹ͋ͬͨ ӳޠͰΓͱΓ͢Δ w ؖࠃޠͷ༁αϙʔτ w ΠϯυͷΧϯϑΝϨϯεͷެࣜΞϓϦͱ͍͍͔ͯͨ͠ Β'PSLͤͯ͘͞Εͱͷ࿈བྷ w %SPJEDPO5VOJTJBͷΧϯϑΝϨϯεΞϓϦӨڹΛड͚ ͍ͯΔΒ͍͠
IUUQTHJUIVCDPN/JMIDFNESPJEDPOUO
࠷ߴͷײ*TTVF ӳޠͰΓͱΓ͢Δ
ϨϏϡʔΛߴʹճ͢
$POUSJCVUPSʹͱͬͯҰ൪ͭΒ͍ͷ ࣗͷ*TTVF13͕์ஔ͞ΕΔ͜ͱ ϨϏϡʔΛߴʹճ͢
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢ 13͕དྷͨΒ͙͢ʹʮݟͯΔΑʯ ͷFZFTίϝϯτ
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢ ؆୯ͳͷͩͬͨΒ͙͢ʹ֬ೝ ͯ͠ײँͷϦΞΫγϣϯ
͍ͭͰݟͯΔײΛग़͢ ϨϏϡʔΛߴʹճ͢ 0,ͳΒ߈ͰϚʔδ ૣ͍ͱ13དྷ͔ͯΒ͘Β͍
அʹ໎͏13ΛͲ͏ѻ͍͍͔͑ ϨϏϡʔΛߴʹճ͢
அʹ໎͏ϨϏϡʔͰͷࣦഊ ϨϏϡʔΛߴʹճ͢
அʹ໎ͬͯ์ஔμϝ ϨϏϡʔΛߴʹճ͢ w அʹ໎ͬͨͱͯ͠ɺԿϦΞΫγϣϯͳ͍ͷμϝ w 1VMMSFRVFTUͳΒɺͱΓ͋͑ͣϚʔδ͔ΫϩʔζͷͲͪΒ ͔ͷҙࢥΛࣔ͢͜ͱ w Ͳ͏͙ͯ͢͠ʹஅͰ͖ͳ͚ΕͦͷࢫΛίϝϯτʹ ͖͢
ࡉ͔͍ͱ͜Ζؾʹ͠ͳ͍ ϨϏϡʔΛߴʹճ͢ w ࡉ͔͍ม໊ϑΥʔϚοτ่ΕؾʹͤͣϚʔδ͢Δ w ؾʹͳͬͨΒޙͰࣗͰͨ͠ํ͕ૣ͍ w ৗʹεϐʔυ༏ઌɺԿ͔͋ΕޙͰ͢ͱ͍͏ҙࣝ
໎Θͳ͍ύοέʔδߏ ϨϏϡʔΛߴʹճ͢ w "OESPJEͰϕετͳύοέʔδߏ͕ܾ·͍ͬͯͳ͍ɻ .77.ɺ.71ɺͨ·ͨ%%%ͳͲɺઃܭʹΑͬͯ·ͪ ·ͪ w ਖ਼ղͳ͍͕ɺ$POUSJCVUPS͕ΫϥεΛ୳࣌͢৽ͨʹ࡞ Γ͍ͨ࣌ʹ໎Θͳ͍ߏΛҙࣝͨ͠
໎Θͳ͍ύοέʔδߏ ϨϏϡʔΛߴʹճ͢
໎Θͳ͍ύοέʔδߏ ϨϏϡʔΛߴʹճ͢ ʮ"DUJWJUZશ෦͜͜ʹ͍ͬͯΔͷͶʯ ʮ.PEFMՃ͍ͨ࣌͜͜͠ʹೖΕΔͷͶʯ
$POUSJCVUPS͔ΒͷΞΫγϣϯʹ ѹతײँΛ࣋ͬͯ߈ϨϏϡʔ͢Δ 044ͰظؒͷϞνϕʔγϣϯΛอͭͷ ΘΓͱ͍͠ͷͰεϐʔυײେࣄ ϨϏϡʔΛߴʹճ͢
༷ʑͳखஈͰͬͯΒ͏
प͠ͳ͚Ε ୭ʹ͞Εͣ$POUSJCVUFͳ͍ ༷ʑͳखஈͰͬͯΒ͏
༷ʑͳखஈΛͬͯ ·ͣͬͯΒ͏͜ͱ͕େࣄ ༷ʑͳखஈͰͬͯΒ͏
%SPJE,BJHJެࣜΞϓϦͷ߹ ༷ʑͳखஈͰͬͯΒ͏ "OESPJE"STFOBM "OESPJEͷϥΠϒϥϦΞϓϦΛհͯ͠ΔαʔϏε (PPHMF "OESPJE͔ͩΒ͔͠Εͳ͍͕ɺ"OESPJEؔ࿈άϧʔϓʹϙετ͢Δͱ ւ֎ͷਓʹͨ͘͞ΜݟͯΒ͑Δ
5XJUUFSɺ'BDFCPPLɺϒϩά %SPJE,BJHJͷެࣜ5XJUUFSͰपͯ͠Β͑ͨͷେ͖͔ͬͨɻ ຊͩͱ5XJUUFSϒϩάͰ݁ߏΊΒΕΔ
"OESPJEͷ߹ͷपͷํ๏ ԼهεϥΠυʹ·ͱΊͯ͋Γ·͢ ʮ#FBTUBSHB[FSʯCZLPOJGBS IUUQTTQFBLFSEFDLDPNLPOJGBSCFBTUBSHB[FS ༷ʑͳखஈͰͬͯΒ͏
ΊΔͷා͍Μ͚ͩͲʜ ༷ʑͳखஈͰͬͯΒ͏ w ʮίʔυݟΒΕΔͷஏ͔͍ͣ͠ʜʯ w ʮΊͬͪΌୟ͔ΕΔΜ͡Όͳ͍͔ͳʜʯ w ʮා͍ਓʹϚαΧϦ͛ΒΕͨΒͲ͏͠Α͏ʜʯ
༷ʑͳखஈͰͬͯΒ͏ ҆৺͍ͯͩ͘͠͞ օͦΜͳʹͪΌΜͱݟͯ·ͤΜ
ͪΌΜͱݟͯ͘ΕͯΔਓେମ༏͍͠ ༷ʑͳखஈͰͬͯΒ͏ w ܦݧ্ɺ13ૹͬͯ͘ΕΔΑ͏ͳਓ༏͍͠ w Կ͔ݴΘΕͨΒ͍͍ͤͱ͍͏ࡶ͞େࣄ
ࣗͷख͕ճΒͳ͍࣮ΛͿͬ͜·ΕΔޣຯ ༷ʑͳखஈͰͬͯΒ͏
༷ʑͳखஈͰͬͯΒ͏ ίʔυΛެ։͢Δෆ҆Θ͔Δ͕ ެ։ͯ͠ΈΔͱҙ֎ͱͳ͍ͷͰ ΨϯΨϯΊ͍͖ͯ·͠ΐ͏
Α͋͘Δ࣭
2͍ͭࣄʢຊۀʣͯͨ͠ͷʁ
"ຖͯ͠·ͨ͠
ʁ
13͚ͩ߈Ͱݟ͍ͯͨ w ৗʹσΟεϓϨΠʹө͓͍ͯͯ͠ɺ13͚ͩࣄதͰ ͙͢ʹݟͯϦΞΫγϣϯΛฦ͍ͯͨ͠ w ϏϧυͪͳͲͷεΩϚ࣌ؒʹνϥνϥݟ͍ͯͨ
ͻͨ͢Β࣮ w Ոʹؼͬͯ࣌ʙ࣌͘Β͍ʹ࣮͍ͯͨ͠ ʢָ࣌ͯ͘͠ϋΠʹͳ͍ͬͯͨͷͰฏؾͩͬͨʣ w Շʹएׯന͍ͰݟΒΕ͕ͨɺ%SPJE,BJHJొஃ४උͰ ͋Δͱ͍͏͜ͱͰҰԠڐՄΛಘ͍ͯͨ
ਭͪΌΜͱऔͬͨํ͕͍͍ w $POUSJCVUPSͷํʑʹͬͱ͓ͤ͢ΕΑ͔͔ͬͨ w ָ͍͍ͯͭͭ͘͠ݟͯ͠·͍ͬͯͨͷͰۤͰͳ͔ͬͨ
·ͱΊ
-BCFMͱ.JMFTUPOFΛ׆༻͢Δ $POUSJCVUFͷෑډΛԼ͛Δ ӳޠͰΓͱΓ͢Δ ϨϏϡʔΛߴʹճ͢ ༷ʑͳखஈͰͬͯΒ͏
࠷ॳΘΓͱదͰ Γͳ͕Βࢼߦࡨޡ͖ͯͨ͠෦ଟ͍
044Ͱ͍ΖΜͳਓͱͷΛ࡞Δͷ ֶָ͍͠͠ͼଟ͍
ίʔυެ։͢Δͷ͕ෆ҆Ͱ ͱΓ͋͑ͣެ։ͯ͠ΈΔͱ͍͍͔
͋Γ͕ͱ͏͍͟͝·ͨ͠
%SPJE,BJHJ ʢʣʙʢۚʣ