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
Kihara, Takuya
February 09, 2020
Technology
0
390
今更 WebSocket で遊ぶ話 #javado
Java Doでしょう #17:Javaユーザーに伝えたい開発運用&フリーテーマ会!
https://javado.connpass.com/event/164021/
Kihara, Takuya
February 09, 2020
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
AWS Lambda で LLRT を動かしてみた #北海道まったりLT大会
tacck
0
55
地方から始める登壇のステップアップ 〜Java Do から JJUG CCC への登壇参加記録 #javado
tacck
0
85
ゆるWebの新型コロナ Before/After とこれからのこと #seb_yearend
tacck
0
24
AWS Amplify と Amazon Bedrock を使ってオレオレ生成AIサイトを作る #ゆるWeb札幌
tacck
0
150
「普通」のエンジニアとしての生存戦略〜または、いかにして技術を楽しむか。 #情報メディア入門
tacck
0
56
噂の Amazon Bedrock を Java から使ってみる #javado
tacck
1
280
ソラカメとAmplifyでお手軽ライブカメラを作ってみた(制限あり) #ゆるWeb札幌
tacck
0
220
ゆるWeb勉強会@札幌 #24 #ゆるWeb札幌
tacck
0
120
AWS Amplify と Cloudflare Pages 比べてみれば / #CloudflareUG_cts #AWSAmplifyJP
tacck
1
630
Other Decks in Technology
See All in Technology
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.7k
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
610
本当のAWS基礎
toru_kubota
0
370
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
980
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
740
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.8k
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
440
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
150
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
190
The CloudCompare project by Dr. Daniel Girardeau-Montaut
kentaitakura
0
520
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
280
2024/4/26 コンピュータ歴史博物館解説告知
toshi_atsumi
0
210
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
288
19k
No one is an island. Learnings from fostering a developers community.
thoeni
15
2.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
30
46k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Rails Girls Zürich Keynote
gr2m
91
13k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Infographics Made Easy
chrislema
238
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
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