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
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve Th...
Search
Masayuki Imamura
February 17, 2017
Programming
1
1.6k
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve The Best App 3 years in a row
presentation slides at "Speee Lounge #5"
VASILY,Inc CTO @kyuns
Masayuki Imamura
February 17, 2017
Tweet
Share
More Decks by Masayuki Imamura
See All by Masayuki Imamura
バイセルにおけるAI活用の取り組みについて紹介します/Generative AI at BuySell Technologies
kyuns
2
490
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
12
8.7k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.4k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
9.7k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
840
iQONを支えるクローラー/iQON Crawler
kyuns
12
4.1k
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
10k
iQON Tools
kyuns
1
3.8k
プッシュ通知大戦争/effective push notification by iQON
kyuns
28
8.3k
Other Decks in Programming
See All in Programming
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
10
5k
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
700
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
テストコード書いてみませんか?
onopon
2
330
HTML/CSS超絶浅い説明
yuki0329
0
190
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
150
Package Traits
ikesyo
1
200
Beyond ORM
77web
11
1.6k
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
290
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9k
Automating Front-end Workflow
addyosmani
1366
200k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
350
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Building Your Own Lightsaber
phodgson
104
6.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
YesSQL, Process and Tooling at Scale
rocio
170
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Why Our Code Smells
bkeepers
PRO
335
57k
The Cult of Friendly URLs
andyhume
78
6.1k
Transcript
̏࿈ଓϕετΞϓϦडͷϓϩμΫτΛࢧ͑Δཪଆ VASILY,Inc. @kyuns 2017.2.17 / Speee Cafe Meetup #5 The
way to Achieve The Best App 3 years in a row PSJHJOBMTMJEFJTIUUQTTQFBLFSEFDLDPNIPSJFCFTVUPJGBMTFCFUFJCVBQVSJXP[IJFSVLBJGBUJ[IJ
ࠓଜխ !LZVOTΩϡϯ 7"4*-: *OD औక$50$P'PVOEFS :BIPP+"1"/ʹೖࣾɺ:BIPP'"4)*0/ 9#3"/%ͳͲͷαʔϏεͷ্ཱͪ͛ͷ։ൃΛ୲ɻ ϦίϝϯσʔγϣϯͷಛڐͳͲΛऔಘޙɺ ʹಠཱɺ7"4*-:Λۀɻऔక$50ʹबɻ झຯͰ༏ɾΞʔςΟετΠϕϯτใαΠτͳͲΛӡӦɻ
ઃཱ݄ ॴࡏ౦ژ۠ޒాδχΞεϏϧ' ैۀһ໊ ࢿຊۚԯ දऔకۚࢁ༟थ औకࠓଜխઍ༿େี 4ZOάϧʔϓ ϑΝογϣϯʷςΫϊϩδʔ ΛڧΈͱͨ͠ձࣾ
ຊதͷϑΝογϣϯ ECαΠτͷσʔλΛܝࡌ ຊ࠷େڃͷঁͷࢠͷͨΊͷ ϑΝογϣϯΞϓϦʮΞΠίϯʯ ձһ 250ສਓ Google Play ϕετɾΞϓϦ 300Ҏ্ͷ&$αΠτ͔Β
ສͷΞΠςϜܝࡌ
࿈ଓϕετΞϓϦड (PPHMF1MBZϕετΠϊϕʔςΟϒΞϓϦେड
ྑ͍ΞϓϦΛ࡞ΔͨΊͷ ɾνʔϜମ੍ͷհ ɾ։ൃϑϩʔͷհ ຊͷΞδΣϯμ
J20/Λࢧ͑Δ։ൃମ੍
ϒϥβ։ൃνʔϜ όοΫΤϯυνʔϜ Πϯϑϥ σʔλαΠΤϯε νʔϜߏ "1* Ϋϩʔϥʔ 1$ εϚϗ ΞϓϦ։ൃνʔϜ
J04 "OESPJE σβΠϯνʔϜ J04 "OESPJE 8FC J20/ΞϓϦ։ൃʹ༷ʑͳνʔϜ͕ؔΘΔ
ΞϓϦ։ൃνʔϜ ▸ J04ɺ"OESPJEΞϓϦ։ൃ ▸ J20/ΛؚΉΞϓϦ։ൃશൠΛ୲ ▸ ։ൃݴޠ ▸ J04 ▸
4XJGU 'BCSJD GBTUMBOF 5SBWJT$* ;FQMJO ▸ "OESPJE ▸ +BWB ,PUMJO 8FSDLFS ;FQMJO
σβΠϯνʔϜ ▸ 8FCɺJ04ɺ"OESPJE ͦͷଞσβΠϯ͕ؔ͢Δ෦ͯ͢Λ୲ ▸ 6*ઃܭɺϞοΫ࡞ ▸ J04ɺ"OESPJEɺ04ผͰઐͷσβΠφʔ ▸ ֤04ͷσβΠϯΨΠυϥΠϯʹ४ڌ
▸ J20/ಠࣗͷσβΠϯΨΠυϥΠϯ࡞
όοΫΤϯυ։ൃνʔϜ ▸ ج൫ͱͳΔγεςϜͷݚڀͱ։ൃ ▸ "1* ▸ Ϋϩʔϥʔ ▸ Πϯϑϥ ▸
σʔλαΠΤϯε
iQONͷٕज़ج൫ / API ▸ "1* ▸ ΞΠςϜɺίʔσɺϒϥϯυɺళฮͳ Ͳͷ͋ΒΏΔϑΝογϣϯใΛ֨ೲ ▸ .POPMJUIJDͳ3BJMTͷ"1*
▸ Ұ෦ϚΠΫϩαʔϏεʹҠߦ ▸ ݕࡧʹ4PMSɺΩϟογϡʹ3FEJT ▸ Ҏ্͋ΔΤϯτϦϙΠϯτͷฏۉ ϨεϙϯελΠϜNTҎԼͱߴ
iQONͷٕज़ج൫ / Ϋϩʔϥʔ ▸Ϋϩʔϥʔ ▸ Ҏ্ͷ&$αΠτΛΫϩʔϧ ▸ ஈɺࣸਅɺઆ໌ɺࡏݿͷ ▸ σΟʔϓϥʔχϯάʹΑΔΞΠςϜͷࣗಈΧςΰϦྨ
▸ ΞΠςϜͷը૾ఆ ▸ ฏஔ͖͔ɺਓ͕ண͍ͯΔ͔ɺτϧιʔ͔ ▸ ΞΠςϜը૾ΛࣗಈͰനൈ͖ॲཧ
iQONͷٕज़ج൫ / Πϯϑϥ ▸ Πϯϑϥ ▸ ҆ఆͨ͠αʔϏεͷఏڙ ▸ "843%4"VSPSB3FEJT%ZOBNP424 .BDLFSFM
4FOUSZ /FX3FMJDFUD ▸ σʔλੳج൫ ▸ "84ɾ($1ͷϚϧνΫϥυ #JH2VFSZ ▸ Ϋϩʔϥʔج൫ ▸ ෛՙʹԠͯ͡Φʔτεέʔϧ .FTPT%PDLFS
iQONͷٕज़ج൫ / σʔλ ▸ σʔλαΠΤϯε ▸ σʔλͷੳͱΞϧΰϦζϜͷݚڀ։ൃ ▸ ͋ΒΏΔϩάΛ#JH2VFSZʹೖΕͯɺJ20/ͷେͳσʔλͷੳΛߦ͏ ▸
ػցֶशɾσΟʔϓϥʔχϯάʹྗ GPS:PV ྨࣅը૾ݕࡧΤϯδϯͷ։ൃ ▸ ՄࢹԽɺσʔλڞ༗ʹ 5BCMFBV%FTLUPQ 5BCMFBV4FSWFSΛ׆༻
࣮ࡍͷ͢͢Ί͔ͨ ▸ ֤νʔϜͰڠྗ͠ͳ͕ΒਐΊ͍ͯ͘ ▸ ࣮ࡍͲ͏։ൃΛਐΊ͍ͯ͘ͷ͔ʁ ▸ ΞΠςϜݕࡧͷ࣮Λྫʹ։ൃϑϩʔΛݟ͍ͯ͘
J20/ͷ։ൃϑϩʔ
։ൃͷਐΊํ ▸ ࣮ࡍʹ։ൃΛͲ͏ਐΊΔͷ͔ʁ ▸ σβΠϯɺΞϓϦ։ൃɺόοΫΤϯυͰνʔϜΛ Ή ▸ ؔऀશһͰΩοΫΦϑ.5(Λߦ͍༷Λݕ౼ ▸ 2JJUBνʔϜͰϓϩδΣΫτΛ࡞
▸ ༷ɺઃܭɺεέδϡʔϧɺݟੵΓɺ֤छݕূ ▸ શͯ2JJUBʹυΩϡϝϯτΛ·ͱΊΔ ▸ ,1*͓Αͼܭଌ༷ܾఆ
6*ઃܭ ▸ ֤04ͰͷϢʔβʔମݧΛ౿·͑ͨ6*ͷઃܭ ▸ 4LFUDIͰ6*Λ։ൃ ▸ ༷͔ΒϞοΫΛ࡞͠JO7JTJPOͰνʔϜશମ ల։ ▸ ϞοΫͰڍಈ֬ೝɺϑΟʔυόοΫ
▸ ༷ͷ࿙Εෆ໌૬ஊɺमਖ਼
"1*ͷ࣮ ▸ ΞϓϦνʔϜͱόοΫΤϯυνʔϜ͕ڞಉͰ"1*Λઃܭ ▸ ΞϓϦνʔϜJO7JTPOΛݩʹඞཁͳσʔλΛચ͍ ग़͢ ▸ όοΫΤϯυνʔϜ͕"1*Λઃܭͱಉ࣌ʹ"QJBSZͰ "1*ͷϞοΫΛ࡞ NEͰ"1*Λఆٛ
▸ όοΫΤϯυνʔϜσʔλνʔϜͱ࿈ܞ͠ɺΞϧ ΰϦζϜͷબఆσʔλ༻"1*ͷ։ൃΛߦ͏ ▸ ΞϓϦଆ"QJBSZͷϞοΫΛར༻͠։ൃ ▸ "1*ͷσϓϩΠ͕ྃޙࠩ͠ସ͑ 0SBDMFʹങऩ͞Εͨ
▸ σβΠϯΨΠυϥΠϯʹԊ࣮ͬͨ ▸ J04)VNBO*OUFSGBDF(VJEFMJOFT ▸ .BUFSJBMEFTJHOHVJEFMJOFT ▸ J20/EFTJHOHVJEFMJOFT ▸ 04ผʹ࡞
▸ IUUQUFDIWBTJMZKQFOUSZEFTJHO@HVJEFMJOF ΞϓϦͷ࣮
*20/σβΠϯΨΠυϥΠϯ
*20/σβΠϯΨΠυϥΠϯ
ΞϓϦͷ࣮ "/%30*% ▸ Sketch͔ΒZeplinॻ͖ग़͠ɺσβΠϯ༷֬ೝ͠ͳ͕Β࣮ ▸ Simpliͱ໎ͬͨ݁Ռɺdpද͕ࣔͰ͖ΔZeplinΛ࠾༻ σβΠϯΛͲ͏कΔ͔
ΞϓϦͷ࣮ "/%30*% ▸ Material CueͰ֬ೝ͠ͳ͕Β࣮ ▸ iQON8dpͷGridΛϕʔεʹͨ͠ σβΠϯ ▸ 8dpͷάϦουΛΦʔόʔϨΠදࣔ
▸ σβΠϯͷ֬ೝ͕༰қʹ σβΠϯΛͲ͏कΔ͔
ࣾ2" ▸ ϦϦʔεલʹ࣮ࢪ ▸ 2"γʔτʹهೖ ▸ ४උͯ͢TMBDLܦ༝ͷCPUͰࣗಈԽࡁ IUUQUFDIWBTJMZKQFOUSZBOESPJE@RB@BVUPNBUJPO ▸ ࢦఠʹରԠ͠ͳ͚ΕϦϦʔεෆՄ
▸ 2"ޙϦϦʔε
ࢪࡦͷධՁ ▸ ϦϦʔεޙʹࢪࡦͷධՁΛߦ͏ ▸ #JH2VFSZʹอଘ͞ΕͨϩάΛ5BCMFBVΛར༻ͯ͠ܭଌ݁ՌΛ֬ೝ ▸ 2JJUBʹܭଌ;Γ͔͑ΓϖʔδΛ࡞ɺڞ༗
·ͱΊ
▸ J20/༷ʑͳཁૉ͔Β࡞ΒΕ͍ͯΔ ▸ ։ൃʹؔΘΔ֤νʔϜͷྗͱڠྗ͕ͳ͚ΕJ20/࡞Εͳ͍ ▸ ΞϓϦνʔϜͷ࣮ͷͩ͜ΘΓ ▸ σβΠφʔʹΑΔ͍͍͢ମݧͱ6*ͷઃܭ ▸ όοΫΤϯυνʔϜʹΑΔڧݻͰ҆ఆͨ͠ج൫ͷߏங
▸ σʔλνʔϜʹΑΔચ࿅͞ΕͨΞϧΰϦζϜͱࢪࡦͷੳʹΑΔ1%$" ▸ ϕετΠϊϕʔςΟϒΞϓϦେͷडશһͷྗͷ݁Ռ
ࠓޙͷJ20/
ػցֶशʢσΟʔϓϥʔχϯάʣͷࢿ ը૾͔ΒΞΠςϜݕग़ྨࣅը૾ݕࡧ IUUQUFDIWBTJMZKQFOUSZEFUFDUJPO@BOE@SFUSJFWBM
ػցֶशʢσΟʔϓϥʔχϯάʣͷࢿ 7"&ͱ("/Λར༻ͨ͠ϑΝογϣϯΞΠςϜݕࡧ *#*4 IUUQUFDIWBTJMZKQFOUSZSFUSJFWBM@VTJOH@WBF@HBO
8FSF)JSJOH SFDSVJUNFOU!WBTJMZKQ