際際滷

際際滷Share a Scribd company logo
Action Cable
2016/12/13 1
Action Cable
? ActionCableとは
? WebSocketsとRailsをy栽するためのフレ`ムワ`ク
? RailsのRESTとWebSocketのシ`ムレスなy栽
? }方のクライアントとPub/Sub宥佚
http://railsguides.jp/action_cable_overview.html
? 麼な旋喘箭
? ライブチャット
? サイトのお岑らせや少御をリアルタイム燕幣
? 蒙
? WebSocket
? Redisが駅勣(subscription adapter に radis を旋喘する栽駅勣)
2016/12/13 2
WebSocket
? 褒圭鰺佚をgFするプロトコル
? HTTPでコネクション_羨、WebSocket プロトコルへ upgrade
? Blocking I/Oを隔つWebサ`バとは猥圓い
? Unicorn 〜
? Puma, Thin 
? Puma や Thin のようなスレッドサ`バを聞っている栽は、
アプリ坪でActionCableのg廾を咾す並ができる┐そらく subscription adapter: async
2016/12/13 3
Sample
? ごくシンプルなチャットのg廾をB初します
? 撹┐曚箸鵑 rails new のまま
? Ruby 2.3.3
? Ruby On Rails 5.0.0.1
? Puma (rails5 default)
? DB隆聞喘
? Redis隆聞喘development
2016/12/13 4
Configurations
? Action Cable has three required configurations
? Subscription Adapter
? Allowed Request Origins
? Cable Server URL
2016/12/13 5
Configurations
? subscription adapter
? config/cable.yml
? AdapterにPostgreSQLやRedis吉 Pub/SubのC嬬を隔ったプロセスをO協辛嬬
2016/12/13 6
development:
adapter: async
test:
adapter: async
production:
adapter: redis
url: redis://localhost:6379/1
Configurations
? allowed request origins
? Action Cableは峺協されていない僕佚圷からのリクエストを鞭け原けません
O協でS辛する駅勣があります
2016/12/13 7
config.action_cable.allowed_request_origins = ['http://rubyonrails.com', %r{http://ruby.*}]
config.action_cable.disable_request_forgery_protection = true
Configurations
? Cable Server URL(Consumer Configuration)
? Action Cable のサ`バ`URLをclientサイドに戻工する駅勣があります
(クライアントのJavaScriptの嶄でサ`バ`サイドのURLを峺協する駅勣があります)
2016/12/13 8
config.action_cable.url = "ws://example.com:28080"
☆ default
Rails.application.config.action_cable
=> {
:mount_path=> "/cable",
:disable_request_forgery_protection => true,
:allowed_request_origins => http://localhost:3000
}
Implement room channel
? Roomチャンネルの恬撹
2016/12/13 9
# rails g channel room speak
Running via Spring preloader in process 12363
Expected string default value for '--jbuilder'; got true (boolean)
create app/channels/room_channel.rb
identical app/assets/javascripts/cable.js
create app/assets/javascripts/channels/room.coffee
Implement room channel
? Roomチャンネルの恬撹
2016/12/13 10
# rails g channel room speak
Running via Spring preloader in process 12363
Expected string default value for '--jbuilder'; got true (boolean)
create app/channels/room_channel.rb
identical app/assets/javascripts/cable.js
create app/assets/javascripts/channels/room.coffee
Implement room channel
? Roomチャンネルの恬撹
? app/channels/room_channel.rb
? WebSocketサ`バ` ? クライアント
? app/assets/javascripts/channels/room.coffee
? クライアント ? WebSocketサ`バ`
2016/12/13 11
# rails g channel room speak
Running via Spring preloader in process 12363
Expected string default value for '--jbuilder'; got true (boolean)
create app/channels/room_channel.rb
identical app/assets/javascripts/cable.js
create app/assets/javascripts/channels/room.coffee
Implement room channel
? app/channels/room_channel.rb
2016/12/13 12
class RoomChannel < ApplicationCable::Channel
def subscribed
stream_from "room_channel^
end
def unsubscribed
# Any cleanup needed when channel is unsubscribed
end
def speak(data)
ActionCable.server.broadcast 'room_channel', message: data['message']
end
end
Implement room channel
? app/assets/javascripts/channels/room.coffee
2016/12/13 13
App.room = App.cable.subscriptions.create "RoomChannel",
connected: ->
# Called when the subscription is ready for use on the server
disconnected: ->
# Called when the subscription has been terminated by the server
received: (data) ->
# Called when there's incoming data on the websocket for this channel
h = $("<p>" + data["message"] + "</p>")
$(".messages").append(h)
$("input.speak").val("")
speak: (data)->
@perform 'speak', data
聞ってみて
? gにできそうだが´まだまだY創音怎
? subscription adapter にvして吉?
? 之泣について
? サ`バ`で砿尖されている俊A彜Bの秤鵑払われると、クライアントが俳僅されているgに巷_されたメッ
セ`ジが払われてしまう
? 棋ちrgがある
? 融隼のエラ`で俊A彜Bの秤鵑篤pする
? RedisのPub/Subを旋喘する栽、Redisが峭まると、ActionCabelも峭まる
? ACK/NACKがないActionCableに僕ったメッセ`ジが曙いたかどうかを_JするC嬬がない
? メッセ`ジの會が隠^されない
? プラットフォ`ム犹ミ\喘來がない
哈喘圷
https://blog.ably.io/rails-5-actioncable-the-good-and-bad-parts-1b56c3b31404
https://www.transnet.ne.jp/2016/05/18/colnrrails-
5%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%9Factioncable%E3%81%AE%E5%88%A9%E7%82%B9%E3%81%A8%E6%AC%A0
%E7%82%B9%E3%82%B3%E3%83%A9%E3%83%A0/
2016/12/13 14

More Related Content

Similar to ウェブチップス茶氏 Action cable (20)

Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWSScala: Mobile Backend on AWS
Scala: Mobile Backend on AWS
cmaraiyusuke
?
Architecting on Alibaba Cloud - 階児A -
Architecting on Alibaba Cloud - 階児A -Architecting on Alibaba Cloud - 階児A -
Architecting on Alibaba Cloud - 階児A -
寔令 耳弥
?
晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS
晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS
晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS
Hiraku Komuro
?
さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...
さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...
さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...
さくらインタ`ネット幄塀氏芙
?
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
?
皆沿温姻一にプルリク誘げてみた
皆沿温姻一にプルリク誘げてみた皆沿温姻一にプルリク誘げてみた
皆沿温姻一にプルリク誘げてみた
Noritaka Sekiyama
?
CloudSpiral 2014定業 Webアプリvx2晩朕
CloudSpiral 2014定業 Webアプリvx2晩朕CloudSpiral 2014定業 Webアプリvx2晩朕
CloudSpiral 2014定業 Webアプリvx2晩朕
Shin Matsumoto
?
CloudFrontB並箭 ハ`トビ`ツ 20121025
CloudFrontB並箭 ハ`トビ`ツ 20121025CloudFrontB並箭 ハ`トビ`ツ 20121025
CloudFrontB並箭 ハ`トビ`ツ 20121025
Toshiaki Baba
?
Elixir秘T仝及3指Phoenix 1.2で互堀Webアプリ REST APIをサクッといてみる々‐症井/☆仟井あります
Elixir秘T仝及3指Phoenix 1.2で互堀Webアプリ  REST APIをサクッといてみる々‐症井/☆仟井ありますElixir秘T仝及3指Phoenix 1.2で互堀Webアプリ  REST APIをサクッといてみる々‐症井/☆仟井あります
Elixir秘T仝及3指Phoenix 1.2で互堀Webアプリ REST APIをサクッといてみる々‐症井/☆仟井あります
fukuoka.ex
?
Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ REST APIアプリをサクッといてみる々
Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ  REST APIアプリをサクッといてみる々Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ  REST APIアプリをサクッといてみる々
Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ REST APIアプリをサクッといてみる々
fukuoka.ex
?
晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛
晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛
晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛
悪晦温恢幄塀氏芙
?
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
Yuichi Hasegawa
?
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
?
Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜
Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜
Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜
寔令 耳弥
?
Rails兜伉宀レッスン lesson1 3rd edition
Rails兜伉宀レッスン lesson1 3rd editionRails兜伉宀レッスン lesson1 3rd edition
Rails兜伉宀レッスン lesson1 3rd edition
Goh Matsumoto
?
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
Amazon Web Services Japan
?
∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏
∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏
∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏
Yukihiko SAWANOBORI
?
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWS
Eiji Shinohara
?
Scala: Mobile Backend on AWS
Scala: Mobile Backend on AWSScala: Mobile Backend on AWS
Scala: Mobile Backend on AWS
cmaraiyusuke
?
Architecting on Alibaba Cloud - 階児A -
Architecting on Alibaba Cloud - 階児A -Architecting on Alibaba Cloud - 階児A -
Architecting on Alibaba Cloud - 階児A -
寔令 耳弥
?
晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS
晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS
晦温馨恢糸温と珂看恢庄鉛艶の胆龍しいかもしれないvS
Hiraku Komuro
?
さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...
さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...
さくらのDockerコンテナホスティング-Arukasの盾hとインフラを屶える室gJuly Tech Festa 2016 〆IoTxAIxインフラr旗...
さくらインタ`ネット幄塀氏芙
?
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
?
皆沿温姻一にプルリク誘げてみた
皆沿温姻一にプルリク誘げてみた皆沿温姻一にプルリク誘げてみた
皆沿温姻一にプルリク誘げてみた
Noritaka Sekiyama
?
CloudSpiral 2014定業 Webアプリvx2晩朕
CloudSpiral 2014定業 Webアプリvx2晩朕CloudSpiral 2014定業 Webアプリvx2晩朕
CloudSpiral 2014定業 Webアプリvx2晩朕
Shin Matsumoto
?
CloudFrontB並箭 ハ`トビ`ツ 20121025
CloudFrontB並箭 ハ`トビ`ツ 20121025CloudFrontB並箭 ハ`トビ`ツ 20121025
CloudFrontB並箭 ハ`トビ`ツ 20121025
Toshiaki Baba
?
Elixir秘T仝及3指Phoenix 1.2で互堀Webアプリ REST APIをサクッといてみる々‐症井/☆仟井あります
Elixir秘T仝及3指Phoenix 1.2で互堀Webアプリ  REST APIをサクッといてみる々‐症井/☆仟井ありますElixir秘T仝及3指Phoenix 1.2で互堀Webアプリ  REST APIをサクッといてみる々‐症井/☆仟井あります
Elixir秘T仝及3指Phoenix 1.2で互堀Webアプリ REST APIをサクッといてみる々‐症井/☆仟井あります
fukuoka.ex
?
Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ REST APIアプリをサクッといてみる々
Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ  REST APIアプリをサクッといてみる々Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ  REST APIアプリをサクッといてみる々
Elixir秘T仝及3指Phoenix 1.3で互堀webアプリ REST APIアプリをサクッといてみる々
fukuoka.ex
?
晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛
晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛
晦温馨沿で恬るソ`シャルアプリの減塞貨゛アプリとインフラの距才のテクニック゛
悪晦温恢幄塀氏芙
?
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
?
Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜
Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜
Anchors Aweigh!! - re:Invent鷂@re:Port 2016 寄昜
寔令 耳弥
?
Rails兜伉宀レッスン lesson1 3rd edition
Rails兜伉宀レッスン lesson1 3rd editionRails兜伉宀レッスン lesson1 3rd edition
Rails兜伉宀レッスン lesson1 3rd edition
Goh Matsumoto
?
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
Amazon Web Services Japan
?
∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏
∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏
∀襯泪轡鵑兇辰り盾hとg樹Vagrant | StaticPress 〜 S3 〜 Vagrant 茶氏
Yukihiko SAWANOBORI
?
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWS
Eiji Shinohara
?

More from Yu Ito (8)

Kof2017 シラサギ秘
Kof2017 シラサギ秘Kof2017 シラサギ秘
Kof2017 シラサギ秘
Yu Ito
?
茶氏0614 vagrant
茶氏0614 vagrant茶氏0614 vagrant
茶氏0614 vagrant
Yu Ito
?
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
Yu Ito
?
シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016
Yu Ito
?
uOSS茶氏及膨指 シラサギハンズオン 0925
uOSS茶氏及膨指 シラサギハンズオン 0925uOSS茶氏及膨指 シラサギハンズオン 0925
uOSS茶氏及膨指 シラサギハンズオン 0925
Yu Ito
?
シラサギハンズオン |奨
シラサギハンズオン |奨シラサギハンズオン |奨
シラサギハンズオン |奨
Yu Ito
?
シラサギハンズオン 寄昜
シラサギハンズオン 寄昜シラサギハンズオン 寄昜
シラサギハンズオン 寄昜
Yu Ito
?
シラサギハンズオン 防臭
シラサギハンズオン 防臭シラサギハンズオン 防臭
シラサギハンズオン 防臭
Yu Ito
?
Kof2017 シラサギ秘
Kof2017 シラサギ秘Kof2017 シラサギ秘
Kof2017 シラサギ秘
Yu Ito
?
茶氏0614 vagrant
茶氏0614 vagrant茶氏0614 vagrant
茶氏0614 vagrant
Yu Ito
?
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
Yu Ito
?
シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016
Yu Ito
?
uOSS茶氏及膨指 シラサギハンズオン 0925
uOSS茶氏及膨指 シラサギハンズオン 0925uOSS茶氏及膨指 シラサギハンズオン 0925
uOSS茶氏及膨指 シラサギハンズオン 0925
Yu Ito
?
シラサギハンズオン |奨
シラサギハンズオン |奨シラサギハンズオン |奨
シラサギハンズオン |奨
Yu Ito
?
シラサギハンズオン 寄昜
シラサギハンズオン 寄昜シラサギハンズオン 寄昜
シラサギハンズオン 寄昜
Yu Ito
?
シラサギハンズオン 防臭
シラサギハンズオン 防臭シラサギハンズオン 防臭
シラサギハンズオン 防臭
Yu Ito
?

Recently uploaded (8)

鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓
鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓
鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓
Matsushita Laboratory
?
Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...
Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...
Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...
NTT DATA Technology & Innovation
?
2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L
2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L
2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L
CRI Japan, Inc.
?
PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰
ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰
ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰
ssuserfcafd1
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓
鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓
鴛界鞄庄庄檎庄一庄壊顎一艶喝尖僥粗隈平寂の岑紛慌嗤に鬚韻秦抓架涜曠謄ストの更夛晒にvする冩梢.沿糸韓
Matsushita Laboratory
?
Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...
Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...
Apache SparkにするKubernetesのNUMAノ`ドを吭Rしたリソ`ス護り輝ての來嬬森 (Open Source Conference ...
NTT DATA Technology & Innovation
?
2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L
2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L
2025フ`ドテックWeek寄昜婢幣氏 - LoRaWANを聞った}方ポイント梁業砿尖 by AVNET囁小何L
CRI Japan, Inc.
?
PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL恷仟嗜 ゛カラムナストアから伏撹AIB亊まで゛ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰
ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰
ドメインモデリング児云園抓僻悶の送れ2025喝02喝27芙坪鬚運岸.沿沿岳恰
ssuserfcafd1
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?

ウェブチップス茶氏 Action cable

  • 2. Action Cable ? ActionCableとは ? WebSocketsとRailsをy栽するためのフレ`ムワ`ク ? RailsのRESTとWebSocketのシ`ムレスなy栽 ? }方のクライアントとPub/Sub宥佚 http://railsguides.jp/action_cable_overview.html ? 麼な旋喘箭 ? ライブチャット ? サイトのお岑らせや少御をリアルタイム燕幣 ? 蒙 ? WebSocket ? Redisが駅勣(subscription adapter に radis を旋喘する栽駅勣) 2016/12/13 2
  • 3. WebSocket ? 褒圭鰺佚をgFするプロトコル ? HTTPでコネクション_羨、WebSocket プロトコルへ upgrade ? Blocking I/Oを隔つWebサ`バとは猥圓い ? Unicorn 〜 ? Puma, Thin ? Puma や Thin のようなスレッドサ`バを聞っている栽は、 アプリ坪でActionCableのg廾を咾す並ができる┐そらく subscription adapter: async 2016/12/13 3
  • 4. Sample ? ごくシンプルなチャットのg廾をB初します ? 撹┐曚箸鵑 rails new のまま ? Ruby 2.3.3 ? Ruby On Rails 5.0.0.1 ? Puma (rails5 default) ? DB隆聞喘 ? Redis隆聞喘development 2016/12/13 4
  • 5. Configurations ? Action Cable has three required configurations ? Subscription Adapter ? Allowed Request Origins ? Cable Server URL 2016/12/13 5
  • 6. Configurations ? subscription adapter ? config/cable.yml ? AdapterにPostgreSQLやRedis吉 Pub/SubのC嬬を隔ったプロセスをO協辛嬬 2016/12/13 6 development: adapter: async test: adapter: async production: adapter: redis url: redis://localhost:6379/1
  • 7. Configurations ? allowed request origins ? Action Cableは峺協されていない僕佚圷からのリクエストを鞭け原けません O協でS辛する駅勣があります 2016/12/13 7 config.action_cable.allowed_request_origins = ['http://rubyonrails.com', %r{http://ruby.*}] config.action_cable.disable_request_forgery_protection = true
  • 8. Configurations ? Cable Server URL(Consumer Configuration) ? Action Cable のサ`バ`URLをclientサイドに戻工する駅勣があります (クライアントのJavaScriptの嶄でサ`バ`サイドのURLを峺協する駅勣があります) 2016/12/13 8 config.action_cable.url = "ws://example.com:28080" ☆ default Rails.application.config.action_cable => { :mount_path=> "/cable", :disable_request_forgery_protection => true, :allowed_request_origins => http://localhost:3000 }
  • 9. Implement room channel ? Roomチャンネルの恬撹 2016/12/13 9 # rails g channel room speak Running via Spring preloader in process 12363 Expected string default value for '--jbuilder'; got true (boolean) create app/channels/room_channel.rb identical app/assets/javascripts/cable.js create app/assets/javascripts/channels/room.coffee
  • 10. Implement room channel ? Roomチャンネルの恬撹 2016/12/13 10 # rails g channel room speak Running via Spring preloader in process 12363 Expected string default value for '--jbuilder'; got true (boolean) create app/channels/room_channel.rb identical app/assets/javascripts/cable.js create app/assets/javascripts/channels/room.coffee
  • 11. Implement room channel ? Roomチャンネルの恬撹 ? app/channels/room_channel.rb ? WebSocketサ`バ` ? クライアント ? app/assets/javascripts/channels/room.coffee ? クライアント ? WebSocketサ`バ` 2016/12/13 11 # rails g channel room speak Running via Spring preloader in process 12363 Expected string default value for '--jbuilder'; got true (boolean) create app/channels/room_channel.rb identical app/assets/javascripts/cable.js create app/assets/javascripts/channels/room.coffee
  • 12. Implement room channel ? app/channels/room_channel.rb 2016/12/13 12 class RoomChannel < ApplicationCable::Channel def subscribed stream_from "room_channel^ end def unsubscribed # Any cleanup needed when channel is unsubscribed end def speak(data) ActionCable.server.broadcast 'room_channel', message: data['message'] end end
  • 13. Implement room channel ? app/assets/javascripts/channels/room.coffee 2016/12/13 13 App.room = App.cable.subscriptions.create "RoomChannel", connected: -> # Called when the subscription is ready for use on the server disconnected: -> # Called when the subscription has been terminated by the server received: (data) -> # Called when there's incoming data on the websocket for this channel h = $("<p>" + data["message"] + "</p>") $(".messages").append(h) $("input.speak").val("") speak: (data)-> @perform 'speak', data
  • 14. 聞ってみて ? gにできそうだが´まだまだY創音怎 ? subscription adapter にvして吉? ? 之泣について ? サ`バ`で砿尖されている俊A彜Bの秤鵑払われると、クライアントが俳僅されているgに巷_されたメッ セ`ジが払われてしまう ? 棋ちrgがある ? 融隼のエラ`で俊A彜Bの秤鵑篤pする ? RedisのPub/Subを旋喘する栽、Redisが峭まると、ActionCabelも峭まる ? ACK/NACKがないActionCableに僕ったメッセ`ジが曙いたかどうかを_JするC嬬がない ? メッセ`ジの會が隠^されない ? プラットフォ`ム犹ミ\喘來がない 哈喘圷 https://blog.ably.io/rails-5-actioncable-the-good-and-bad-parts-1b56c3b31404 https://www.transnet.ne.jp/2016/05/18/colnrrails- 5%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%9Factioncable%E3%81%AE%E5%88%A9%E7%82%B9%E3%81%A8%E6%AC%A0 %E7%82%B9%E3%82%B3%E3%83%A9%E3%83%A0/ 2016/12/13 14