Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
プッシュ通知大戦争/effective push notification by iQON
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masayuki Imamura
December 18, 2014
Programming
8.7k
28
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プッシュ通知大戦争/effective push notification by iQON
プッシュ通知についてどのように最適化しているかの紹介、えびスタ! vol1にて発表した内容です。
Masayuki Imamura
December 18, 2014
More Decks by Masayuki Imamura
See All by Masayuki Imamura
バイセルにおけるAI活用の取り組みについて紹介します/Generative AI at BuySell Technologies
kyuns
2
1.9k
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
12
11k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.9k
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve The Best App 3 years in a row
kyuns
1
1.9k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
10k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
950
iQONを支えるクローラー/iQON Crawler
kyuns
12
4.3k
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
11k
iQON Tools
kyuns
1
3.9k
Other Decks in Programming
See All in Programming
Kotlinの15年とServer-Side Kotlin
n_takehata
1
120
Workers Cache を知る
syumai
0
350
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.3k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
780
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
400
SREの越境 / SRE Collaboration
y0hgi
2
300
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
250
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
190
R8 の設定見直しでアプリサイズ削減
andpad
0
210
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
sbt 2.0: takeoff
eed3si9n
0
150
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
RailsConf 2023
tenderlove
30
1.6k
Automating Front-end Workflow
addyosmani
1369
210k
Designing for Performance
lara
612
70k
Navigating Team Friction
lara
192
16k
How to build a perfect <img>
jonoalderson
1
6.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Transcript
ϓογϡ௨େઓ૪ ࠓଜխ 7"4*-: *OD !͑ͼελWPM
ࠓଜխ !LZVOT 7"4*-: *ODऔక$50 ʹ:BIPPʹ৽ଔೖࣾ ϑΝογϣϯɺ9#3"/%ͳͲͷϝσΟΞͷ্ཱͪ͛ ʹಠཱɺ7"4*-: *ODͷऔక$50ʹब
ΦϑΟεҾͬӽ͠·ͨ͠
ண͍ͨίʔσ͕ ݟ͔ͭΔɺ ങ͑Δɺ ஷΊΒΕΔɻ ຊ࠷େڃͷ ϑΝογϣϯΞϓϦʮΞΠίϯʯ
None
None
ϓογϡ௨
None
ϓογϡ௨Ϧςϯγϣϯʹޮ͘ Ϣʔβʔͷݺͼ͠ޮՌ͕ߴ͍ ޮՌతͳӡ༻͕ඞਢʹͳΔ
ͲͷΑ͏ʹ࠷దԽ͢Δ͔
ϓογϡ௨ʹٻΊΒΕΔͷ w ޮՌతͳ৴ͷΈ ܾΊΒΕͨ࣌ؒʹશϢʔβʔʹ৴ɺΤϥʔॲཧɺ ϦτϥΠॲཧɺΞϯΠϯετʔϧϢʔβʔରࡦ w ੳͷΈ ༵ɺ࣌ؒɺηάϝϯτɺจݴ ͲΜͳϢʔβʔ͕ͲΜͳϓογϡΛ։͍͍ͯΔͷ͔
ޮՌతͳ৴ͷΈ
ग़ͯ͘Δ՝ w Ϣʔβʔશһʹ৴͢Δͷʹ͕͔͔࣌ؒΔ ສҎ্ͷσόΠεʹҰؾʹૹΓ͍ͨ w ͲͷσόΠε͕༗ޮ͕Θ͔Βͳ͍ ΞϯΠϯετʔϧϓογϡΦϑʹ͍ͯ͠Δਓ͕Θ͔Βͳ͍ w Τϥʔ࣌ͷϦτϥΠॲཧ͕֤ϥΠϒϥϦ࣮͕ࡶ w
ͲΕ͚ͩ౸ୡͯ͠ΫϦοΫ͞ΕͯΔ͔Θ͔Βͳ͍ w ηάϝϯτ݅ΛΘ͚ͯ৴͍ͨ͠
΄͍͠ػೳ w ϚϧνεϨουOPOCMPDLJOHͰฒྻԽͯ͋ͬͯ͠৴ ͕ૣ͍ w ΞϯΠϯετʔϧࡁϓογϡΦϑͷσόΠετʔΫϯ͕ Θ͔Δ w ϦτϥΠॲཧ͕ਖ਼࣮͘͠͞Ε͍ͯΔ w
౸ୡͨ͠ͱ͞Βʹ࣮ࡍʹϓογϡΛ։͍͕ͨΓ͍ͨ
"41αʔϏεൺֱ
(SPXUI1VTI w γϩΫ͕ӡӦ w ສϓογϡ·Ͱແྉ w "#ςετɺηάϝϯτ৴ɺ༧ରԠ w ؒʹສ͙݅Β͍৴Ͱ͖Δ༷
"NB[PO4/4 w "84͕ఏڙ w J04"OESPJE,JOEMF w ສϓογϡ·ͰແྉɺҎ߱ສ w ΞΧϯτʹ͖ͭສσόΠεɺτ ϐοΫ
ࣗͷͲͷίʔσͷ17͕ᮢΛ͑ͨ ࣗͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗͷίʔσΛ-*,&͞Εͨ ࣗͷίʔσͷ-*,&ͷᮢΛ͑ͨ -*,&ͯ͠ΔΞΠςϜΛͬͨίʔσ͕ߘ͞ Εͨ -*,&ͯ͠ΔΞΠςϜΛ୭͔͕-*,&ͨ͠ -*,&ͯ͠ΔΞΠςϜ͕Լ͕Γ࣌ J20/͔Βͷ͓Βͤ
ϑΥϩʔ͞Εͨ -*,&͍ͯ͠ΔΞΠςϜ͕εϖγϟϧϖʔδʹΘΕͨ -*,&͍ͯ͠Δίʔσ͕εϖγϟϧϖʔδʹΘΕͨ ࣗͷίʔσ͕εϖγϟϧϖʔδʹΘΕͨ -*,&͍ͯ͠ΔϒϥϯυʹۙिؒΞΠςϜ͕Ճ͞Εͨ -*,&͍ͯ͠Δϒϥϯυͷࡏݿ͕͘͢ͳ͍ ϨϏϡʔͰݶఆΞΠςϜ͕ϓϨθϯτ͞Εͨ ͍ͷQVTI͕ૹ৴͞Εͨ ͕ࣗ࡞ͬͨίϨΫγϣϯ͕-*,&͞Εͨ ͕ࣗ࡞ͬͨίϨΫγϣϯ͕-*,&ͷᮢΛ͑ͨ ͕ࣗ࡞ͬͨίʔσ͕ίϨΫγϣϯʹΘΕͨ GBDFCPPLͷ༑ୡ͕J20/Λ࢝Ίͨ ίϯςετ։࢝ ίϯςετ݁Ռൃද ίϯςετऴྃؒۙ ͓Βͤ ϚΠϖʔδ ਓؾͷΞΠςϜ ਓؾͷελΠϦετ -*,&ΞΠςϜίʔσ ਓؾͷΞΠςϜ ͕͢͞τοϓ ΞΠςϜݕࡧ -1 ਓؾͷ·ͱΊ ৽ண·ͱΊ ·ͱΊৄࡉ ϗʔϜ ΤσΟλʔτοϓ ίʔσৄࡉ ΞΠςϜৄࡉ ਓؾͷίʔσ ελοϑΦεεϝͷίʔσ ελοϑΦεεϝͷελΠϦετ ϑΥϩʔ͍ͯ͠Δਓͷίʔσ ৽ணͷίʔσ ελοϑΦεεϝͷ·ͱΊ ϥϯΩϯά
ࣗͷͲͷίʔσͷ17͕ᮢΛ͑ͨ ࣗͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗͷίʔσΛ-*,&͞Εͨ ࣗͷίʔσͷ-*,&ͷᮢΛ͑ͨ -*,&ͯ͠ΔΞΠςϜΛͬͨίʔσ͕ߘ͞ Εͨ -*,&ͯ͠ΔΞΠςϜΛ୭͔͕-*,&ͨ͠ -*,&ͯ͠ΔΞΠςϜ͕Լ͕Γ࣌ J20/͔Βͷ͓Βͤ
ϑΥϩʔ͞Εͨ -*,&͍ͯ͠ΔΞΠςϜ͕εϖγϟϧϖʔδʹΘΕͨ -*,&͍ͯ͠Δίʔσ͕εϖγϟϧϖʔδʹΘΕͨ ࣗͷίʔσ͕εϖγϟϧϖʔδʹΘΕͨ -*,&͍ͯ͠ΔϒϥϯυʹۙिؒΞΠςϜ͕Ճ͞Εͨ -*,&͍ͯ͠Δϒϥϯυͷࡏݿ͕͘͢ͳ͍ ϨϏϡʔͰݶఆΞΠςϜ͕ϓϨθϯτ͞Εͨ ͍ͷQVTI͕ૹ৴͞Εͨ ͕ࣗ࡞ͬͨίϨΫγϣϯ͕-*,&͞Εͨ ͕ࣗ࡞ͬͨίϨΫγϣϯ͕-*,&ͷᮢΛ͑ͨ ͕ࣗ࡞ͬͨίʔσ͕ίϨΫγϣϯʹΘΕͨ GBDFCPPLͷ༑ୡ͕J20/Λ࢝Ίͨ ίϯςετ։࢝ ίϯςετ݁Ռൃද ίϯςετऴྃؒۙ ͓Βͤ ϚΠϖʔδ ਓؾͷΞΠςϜ ਓؾͷελΠϦετ -*,&ΞΠςϜίʔσ ਓؾͷΞΠςϜ ͕͢͞τοϓ ΞΠςϜݕࡧ -1 ਓؾͷ·ͱΊ ৽ண·ͱΊ ·ͱΊৄࡉ ϗʔϜ ΤσΟλʔτοϓ ίʔσৄࡉ ΞΠςϜৄࡉ ਓؾͷίʔσ ελοϑΦεεϝͷίʔσ ελοϑΦεεϝͷελΠϦετ ϑΥϩʔ͍ͯ͠Δਓͷίʔσ ৽ணͷίʔσ ελοϑΦεεϝͷ·ͱΊ ϥϯΩϯά छྨҎ্ͷϓογϡ ͋·Γʹෳࡶͳ݅
–FP Brooks Jr ʠ/P4JMWFSCVMMFUʡ
৴ͷΈΛ ࣗલͰߏங
৴ͷ࠷దԽʹऔΓΉ w ৴σʔλࣄલੜ ৴࣌ͷ%#ΞΫηε w OPOCMPDLJOH*0 w &WFOU.BDIJOF&.)5513FRVFTU.VMUJ w
݅ଋͶͯ৴ ($. w ৴݁ՌqVFOUEʹྲྀ͢ ৴Ͱ͖ͳ͔ͬͨσόΠεͱ͔ඇಉظʹ%#ʹqBH
͔͔͍࣌ؒͬͯͨ ৴͕ඵఔʹ
ϓογϡ௨ʹٻΊΒΕΔͷ w ޮՌతͳ৴ͷΈ ܾΊΒΕͨ࣌ؒʹશϢʔβʔʹ৴ɺΤϥʔॲཧɺ ϦτϥΠॲཧɺΞϯΠϯετʔϧϢʔβʔରࡦ w ੳͷΈ ༵ɺ࣌ؒɺηάϝϯτɺจݴ ͲΜͳϢʔβʔ͕ͲΜͳϓογϡΛ։͍͍ͯΔͷ͔
ੳͷΈ
σʔλͷอଘઌ w ૿͑ଓ͚ΔσʔλສEBZ qVFOUE4ܦ༝Ͱ3FE4IJGU w VTFSଐੑσʔλߦಈσʔλͱͱʹੳ͍ͨ͠ 3FE4IJGU্Ͱ6TFSςʔϒϧͱ+0*/ ˞݄ʹଧͬͨηʔϧΞΠςϜͷϓογϡΛͲΜͳྸͷ Ϣʔβʔ͕ͲΕ͙Β͍։͍͔ͨ
500- 4FSWFS "1* 4FSWFS 8PSLFS 8PSLFS 8PSLFS 8PSLFS 3FTRVF "1*
4FSWFS "1* 4FSWFS "1* 4FSWFS qVFOUE -0( 4FSWFS qVFOUE 6TFS "1/T ($. 3FE4IJGU 4 "84 EBUBQJQFMJOF ϓογϡσʔλੳΞʔΩςΫνϟ ΫϦοΫϩάूܭ )551
৴ςετ࠷దԽ w ࠓͷ͓͢͢Ίίʔσ͜Εʂ w ͜ͷౙ͓͢͢ΊͷίʔσΛνΣοΫʂ w ΈΜͳ͕ؾʹͳΔίʔσΛݟΔʂ w ࠓ͙͢ਓؾͷίʔσΛνΣοΫʂ ˋͷϢʔβʔʹจݴΛςετޙ
࠷$53ͷߴ͔ͬͨจݴΛશମʹ৴ ଟόϯσΟοτ
ϓογϡΛޮՌతʹӡ༻ͯ͠ ΞϓϦͷϦςϯγϣϯΛ͋͛Α͏ʂ ޮՌ͕ߴ͍͔Βଧ͍͍͍ͯͬͯ͏ͷͰͳ͍ ϢʔβʔʹՁ͋Δʮؾ͖ʯΛ༩͑Δث ·ͱΊ
JOGP!WBTJMZKQ 8"/5&% 5)"/9