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
今更 WebSocket で遊ぶ話 #javado
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kihara, Takuya
PRO
February 09, 2020
Technology
0
450
今更 WebSocket で遊ぶ話 #javado
Java Doでしょう #17:Javaユーザーに伝えたい開発運用&フリーテーマ会!
https://javado.connpass.com/event/164021/
Kihara, Takuya
PRO
February 09, 2020
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
340
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
550
Amazon Q Developer CLI でゲームと Amplify アプリを作ってみた #ゆるWeb札幌
tacck
PRO
0
52
ゆるWeb勉強会@札幌 #30 #ゆるWeb札幌
tacck
PRO
0
28
Flutter を始めよう! - Flutter の開発現場から
tacck
PRO
0
180
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
400
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
180
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
550
はじめまして GoLang #cm_sapporo_study
tacck
PRO
0
150
Other Decks in Technology
See All in Technology
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
140
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
840
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
Agile Leadership Summit Keynote 2026
m_seki
1
670
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
140
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
480
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
[SF Ruby Conf 2025] Rails X
palkan
1
760
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
WCS-LA-2024
lcolladotor
0
450
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Bash Introduction
62gerente
615
210k
Test your architecture with Archunit
thirion
1
2.2k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Discover your Explorer Soul
emna__ayadi
2
1.1k
Transcript
גࣜձࣾϊʔεσΟςʔϧ ։ൃ%JWJTJPOٕज़ਪਐ(SPVQ UBDDLݪ !UBDDL +BWB%PͰ͠ΐ͏ KBWBEP ࠓߋ8FC4PDLFUͰ ༡Ϳ ݄
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP • ໊લ ݪ / @tacck •
ॴଐ גࣜձࣾϊʔεσΟςʔϧ ։ൃDivision ٕज़ਪਐGroup / Leader • ओ࠵ • ΏΔWebษڧձ@ࡳຈ • εϚʔτεϐʔΧʔͰ༡΅͏ձ@ࡳຈ • ͖ͳϑΟΪϡΞεέʔτͷٕ εϓϨουɾΠʔάϧ ୭ PHP Conference Hokkaido 2019
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP 8FC4PDLFUͱ
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP • Webϒϥβ - WebαʔόؒͰ͑Δɺ ͓खܰͳํ௨৴ͷن֨ɻ • Webϒϥβ؍ͰɺJavaScriptͷ
ΠϕϯτϕʔεͰ࣮Մೳɻ → ΠϕϯττϦΨʔͰDOMߋ৽͕Ͱ͖Δ →→ νϟοτͳͲͷϦΞϧλΠϜΞϓϦ͕࡞Γ͍͢ɻ 8FC4PDLFUͱ
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP • Webαʔό (Node.js) • “post”ϝοηʔδΛड͚औͬͨΒɺ idΛ֬ೝͯ͠ΧϯτΞοϓɻ •
ΧϯτΞοϓޙʹɺ“selections”ϝοηʔδΛ શΫϥΠΞϯτʹ݁Ռૹ৴ɻ ؆୯ͳϦΞϧλΠϜථΞϓϦ
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP socket.on('message', message => { console.log(message) const obj
= JSON.parse(message) const type = obj.message const data = obj.data if (type === 'post') { selections[data.id].count++ } wss.clients.forEach(client => { client.send(JSON.stringify( { message: 'selections', data: selections } )) }) })
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP • Webϒϥβ (Vue.js) • “selections”ϝοηʔδΛड͚औͬͨΒɺ ͱΧϯτΛߋ৽ɻ •
ϘλϯΫϦοΫͰɺ “post”ϝοηʔδૹ৴ɻ ؆୯ͳϦΞϧλΠϜථΞϓϦ
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP mounted() { this.ws = new WebSocket('wss://tacck-ws.herokuapp.com/') const
self = this this.ws.addEventListener('message', message => { const obj = JSON.parse(message.data) const type = obj.message const data = obj.data if (type === 'selections') { self.selections = data } }) }, methods: { send(id) { this.ws.send(JSON.stringify( { message: 'post', data: { id: id } } )) } }
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP ࢼͦ͏ https://github.com/tacck/websocket-sample-client-vuejs https://github.com/tacck/websocket-sample-server-nodejs
!UBDDL +BWB%PͰ͠ΐ͏ KBWBEP FOE