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.5k
プッシュ通知大戦争/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.8k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/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
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
140
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
240
高単価案件で働くための心構え
nullnull
0
110
Swift Concurrency 年表クイズ
omochi
3
220
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
320
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
1
140
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
0
330
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
15
48k
ビルドプロセスをデバッグしよう!
yt8492
0
280
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
0
670
AIのバカさ加減に怒る前にやっておくこと
blueeventhorizon
0
160
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
3
370
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Agile that works and the tools we love
rasmusluckow
331
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
117
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Why Our Code Smells
bkeepers
PRO
340
57k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
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