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
モビリティSaaSにおけるデータ利活用の発展
nealle
0
560
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
150
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
240
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
180
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
470
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
220
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
5.3k
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
320
Patterns of Patterns (and why we need them)
denyspoltorak
0
110
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
290
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
650
Private APIの呼び出し方
kishikawakatsumi
3
890
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Visualization
eitanlees
150
16k
Documentation Writing (for coders)
carmenintech
76
5.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.1k
How STYLIGHT went responsive
nonsquared
100
5.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Navigating Team Friction
lara
190
16k
The World Runs on Bad Software
bkeepers
PRO
72
12k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
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