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
1
300
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
11
8.2k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.3k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
9.6k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
830
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
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
現場で役立つモデリング 超入門
masuda220
PRO
15
3.2k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
250
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
890
CSC509 Lecture 11
javiergs
PRO
0
180
Ethereum_.pdf
nekomatu
0
460
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
520
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
受け取る人から提供する人になるということ
little_rubyist
0
230
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
180
21k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Building an army of robots
kneath
302
43k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Writing Fast Ruby
sferik
627
61k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Into the Great Unknown - MozCon
thekraken
32
1.5k
How to train your dragon (web standard)
notwaldorf
88
5.7k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Designing for Performance
lara
604
68k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
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