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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masayuki Imamura
February 17, 2017
Programming
1
1.8k
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
1.3k
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
12
11k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.7k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
10k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
910
iQONを支えるクローラー/iQON Crawler
kyuns
12
4.2k
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
10k
iQON Tools
kyuns
1
3.9k
プッシュ通知大戦争/effective push notification by iQON
kyuns
28
8.5k
Other Decks in Programming
See All in Programming
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
780
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
110
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
170
ふん…おもしれぇ Parser。RubyKaigi 行ってやるぜ
aki_pin0
0
120
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
310
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
340
15年目のiOSアプリを1から作り直す技術
teakun
0
570
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
310
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
900
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
200
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
70
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
300
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
110
For a Future-Friendly Web
brad_frost
183
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
180
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Building an army of robots
kneath
306
46k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
140
Designing for Timeless Needs
cassininazir
0
150
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