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
はじめてのexpress+socket.io
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
inureo
August 26, 2014
Technology
4.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はじめてのexpress+socket.io
inureo
August 26, 2014
More Decks by inureo
See All by inureo
IGNITION: What we did to provide a high-quality experience
inureo
0
110
SVGアニメーションをやってみたら結構いい感じにできた話
inureo
1
160
リアルタイム回答集計システムを作って、実際にイベントで使った話
inureo
1
870
Other Decks in Technology
See All in Technology
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
570
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
170
分析AIエージェントを育てる、動く環境を育てる
codatum
1
390
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
300
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
300
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.1k
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
330
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
7
1.6k
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
540
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
930
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
130
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Claude Code のすすめ
schroneko
67
230k
How GitHub (no longer) Works
holman
316
150k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Producing Creativity
orderedlist
PRO
348
41k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Odyssey Design
rkendrick25
PRO
2
860
Un-Boring Meetings
codingconduct
0
440
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Deep Space Network (abreviated)
tonyrice
0
360
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Transcript
͡Ίͯͷ express+socket.io גࣜձࣾnanapi ख௩ ྄ @inureo
ಋೖ
ࣗݾհ ख௩ ྄ @inureo גࣜձࣾnanapi ΤϯδχΞ - άϥϑΟοΫσβΠϯͷઐֶߍΛଔۀ - Web੍࡞ձࣾ
5 - 201310݄ nanapiʹΤϯδχΞͱͯ͠ೖࣾ དྷྺ ݩʑσβΠφʔͳͷͰϑϩϯτपΓ͕ಘҙ ϝΠϯͷۀͰRailsʴCoffee+Markup
αʔϏεհ IGNITIONʑͷੜ׆ʹʮܹʯ ʮಈػʯΛ༩͑ΔϝσΟΞͰ͢ɻ ϞοτʔɺίϯςϯπΛ௨ͯ͡ߴ ࣭ͳϢʔβʔମݧΛఏڙ͠ɺಡऀ ͕ೳಈతʹͳΔ͖͔͚ͬʢಈػʣΛ ༩͑Δ͜ͱͰ͢ɻ - ӳޠݍΛத৺ʹల։ -
http://ignition.co
αʔϏεհ
αʔϏεհ എܠΧϥʔબ ه๏Ϧετ
͡Ίͯexpress+socket.ioΛ ͬͯΈͨΒखܰͰָ͔ͬͨ͠ ࠓ͢͜ͱ
ͳΜͰͬͨͷ͔ - LTͷ͓Λ͍͍͔ͨͩͨΒ
- LTͷ͓Λ͍͍͔ͨͩͨΒ - ձࣾͷΠϕϯτͰ͑ͦ͏͔ͩΒ ͳΜͰͬͨͷ͔
- LTͷ͓Λ͍͍͔ͨͩͨΒ - ձࣾͷΠϕϯτͰ͑ͦ͏͔ͩΒ ͳΜͰͬͨͷ͔
ͳΜͰͬͨͷ͔ 10/3ʹ100ਓ͍ۙنͰ5पه೦ύʔςΟΛ͢Δ
ͳΜͰͬͨͷ͔ ΠϕϯτͰΫΠζΛͬͨΓ͢Δ
ͳΜͰͬͨͷ͔ 60ਓنͷஈ֊Ͱ…
ͳΜͰͬͨͷ͔ ճͷूܭ͕ͱͬͯਏ͍
ͳΜͰͬͨͷ͔ ͳͷͰ
ͳΜͰͬͨͷ͔ ͜Μͳײ͡ͷճγεςϜΛWebsocketͰ࣮͍ͨ͠ ήʔϜϚελʔ ΫϥΠΞϯτ
ͳΜͰͬͨͷ͔ ͜Μͳײ͡ͷճγεςϜΛWebsocketͰ࣮͍ͨ͠ ήʔϜϚελʔ ΫϥΠΞϯτ ճͷૹ৴
ͳΜͰͬͨͷ͔ ͜Μͳײ͡ͷճγεςϜΛWebsocketͰ࣮͍ͨ͠ ήʔϜϚελʔ ΫϥΠΞϯτ ਖ਼൱ͷૹ৴ ࣌ؒͰͷճకΊΓ ճͷૹ৴
ௐࠪ
ௐࠪ ࣅͨαʔϏεͳ͍ͷ͔
ϚδΧϧˑϏϯΰ COCORO ௐࠪ http://bingo.mindfree.co.jp/
Quizar ௐࠪ http://www.quizar.info/
ήʔϜϚελʔ - ΫϥΠΞϯτ ͱ͍͏ߏͷαʔϏε2͕ͭ͋ͬͨ ௐࠪ
αʔϏεΛ͍ͯΈΔ ௐࠪ - 3લʹsocket.ioΛͬͯ࡞ΒΕͨͷ - RoutingΛݟΑ͏ͱͨ͠Βαʔόཱ͕ͬͯͳ͔ͬͨ ʢλΠϜΞτʣ - express.jsͳͲͷϑϨʔϜϫʔΫΛ͍ͬͯͳ͔ͬͨ -
αʔϏε͕ಈ͍͍ͯΔͷRoutingࢀߟʹͰ͖ͦ͏ Quizar ϚδΧϧˑϏϯΰ COCORO
ௐࠪ ࢀߟʹͳΔ ιʔε͕ͳ͍…ʂ
ௐࠪ Ͱ͖ͬͱ expressͱ͔͕ ॿ͚ͯ͘ΕΔʂ
ௐࠪ ͱ͍͏Θ͚Ͱ
ϑϨʔϜϫʔΫͷબఆ λΠτϧͲ͓Γ expressͱsocket.ioΛ͏ ௐࠪ
expressΛબΜͩཧ༝ - υοτΠϯετʔϧʹ͋Δ - খنͱ͖͍͍ͯͨͷͰֶशίετ͕ͦ͏ - ษڧձͷexpress͕ओͷ1ͭͩͬͨ ௐࠪ
socket.ioΛબΜͩཧ༝ - υοτΠϯετʔϧʹ͋Δ - ௐͨ݁Ռɺ΄΅Ұ ௐࠪ
2ͭͱϦϑΝϨϯε͕ ଟ͍ͷͰ͍͚ͦ͏ʂ ௐࠪ
࣮ફ
࣮ફ ·ͣͬͺΓ
υοτΠϯετʔϧ Expressೖ (શ21ճ) - ϓϩάϥϛϯάͳΒυοτΠϯετʔϧ http://dotinstall.com/lessons/basic_expressjs ҙ - expressͷόʔδϣϯ͕3ͳͷͰҙʢݱࡏ4ʣ -
ಈըΛݟΔ্Ͱόʔδϣϯมߋ͕བྷΉ෦ɺmiddlewareͷมߋ͙Β͍ɻ LoggerͳͲͷmiddleware͕express͔ΒΓ͚ΒΕͨͷͰɺඞཁʹԠ͡ ͯnpm installɾrequireΛ͢Δײ͡ ࣮ફ
มߋ͜Μͳײ͡ express.hogehogeͷ෦͕֘ ࣮ફ
υοτΠϯετʔϧͰֶΜͩͷ جຊతͳػೳ -Routing -Middleware -View ࣮ફ
Routing ࣮ફ
Middleware ΞΫηεϩάΛ؆қʹग़ྗ putɺdeleteͳͲͷHTTPϝιουͷ࣮ݱ ࣮ફ
ViewͷϨϯμϦϯά ςϯϓϨʔτΤϯδϯͱ߹Θͤͯࢦఆͯ͠ ϨϯμϦϯά ࣮ફ
֎ଆ͚ͩ Ͱ͖ͦ͏ ࣮ફ
࣍ʹ ࣮ફ
socket.ioͷνϡʔτϦΞϧ ࣮ફ
socket.ioͷνϡʔτϦΞϧ Script͜Ε͚ͩ Server side Client side ࣮ફ
Server side Client side socket.ioͷνϡʔτϦΞϧ ଓΛͪड͚Δ ࣮ફ
Server side Client side socket.ioͷνϡʔτϦΞϧ #buttonΛΫϦοΫ ࣮ફ
Server side Client side socket.ioͷνϡʔτϦΞϧ ͜͜Ͱ௨৴ Ҿʹ#mͷvalue ࣮ફ
Server side Client side socket.ioͷνϡʔτϦΞϧ connectionड͚औΓ chat messageड͚औΔ ࣮ફ
Server side Client side socket.ioͷνϡʔτϦΞϧ ಉ͘͡chat messageΛ ͪड͚ɺड৴ ࣮ફ
Server side Client side socket.ioͷνϡʔτϦΞϧ ରͷཁૉʹappend() ϝοηʔδΛදࣔ ࣮ફ
૾Ҏ্ʹ ؆୯ͳAPI…ʂ ࣮ફ
͜Ε͍͚Δ ʢ֬৴ʣ ࣮ફ
·ͱΊ
·ͱΊ - جຊ͙͢ʹཧղͰ͖ΔͷͰֶΜͰΔײָ͕͍͠ - ࠔͬͨ࣌࠷ѱιʔεΛಡΜͰͳΜͱ͔ͳΔɺͣ - express3ͷ࣌ͷใ͕ଟ͍ͨΊɺ༧ΑΓɹɹ ϦϑΝϨϯε͕ͳ͍ - ࣗ༝ߴͯ͘ΞονίονͰ৭ʑॲཧ͕Ͱ͖ΔͷͰ
ࡶʹͳΓͦ͏ - ͜͏ॻ͘ͱ͍͍Αతͳ͓࡞๏͕ͳ͍ͷͰ໎͏ ྑ͔ͬͨ ΈͲ͜Ζ
ຖ1࣌ؒͣͭ৮Δ͚ͩͰ ेָ͠ΊΔͷͰੋඇʂ ͓खܰͰ͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠