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.4k
プッシュ通知大戦争/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
2
1.1k
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
12
10k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.6k
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve The Best App 3 years in a row
kyuns
1
1.7k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
9.9k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
890
iQONを支えるクローラー/iQON Crawler
kyuns
12
4.2k
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
10k
iQON Tools
kyuns
1
3.9k
Other Decks in Programming
See All in Programming
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
260
理論と実務のギャップを超える
eycjur
0
180
技術的負債の正体を知って向き合う
irof
0
260
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
260
What's new in Spring Modulith?
olivergierke
1
170
iOSでSVG画像を扱う
kishikawakatsumi
0
170
CSC305 Lecture 11
javiergs
PRO
0
270
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
430
CSC509 Lecture 07
javiergs
PRO
0
240
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
46k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
KATA
mclloyd
PRO
32
15k
What's in a price? How to price your products and services
michaelherold
246
12k
Become a Pro
speakerdeck
PRO
29
5.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
YesSQL, Process and Tooling at Scale
rocio
173
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Site-Speed That Sticks
csswizardry
13
930
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