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
プッシュ通知大戦争/effective push notification by iQON
Search
Masayuki Imamura
December 18, 2014
Programming
28
8.3k
プッシュ通知大戦争/effective push notification by iQON
プッシュ通知についてどのように最適化しているかの紹介、えびスタ! vol1にて発表した内容です。
Masayuki Imamura
December 18, 2014
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
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve The Best App 3 years in a row
kyuns
1
1.6k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/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
Other Decks in Programming
See All in Programming
CSC509 Lecture 09
javiergs
PRO
0
140
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
200
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
140
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
960
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
230
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Teambox: Starting and Learning
jrom
133
8.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Writing Fast Ruby
sferik
627
61k
It's Worth the Effort
3n
183
27k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Scaling GitHub
holman
458
140k
Practical Orchestrator
shlominoach
186
10k
Designing the Hi-DPI Web
ddemaree
280
34k
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