Submit Search
Concurrent Programming in JavaScript
Download as PPTX, PDF
0 likes
141 views
yjono Seino
Sapporo.js というコミュニティで発表した時の資料。 2012年頃の JavaScript並行プログラミング とそのちょっと先に出てきた技術について紹介していた。
Internet
Read more
1 of 21
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
More Related Content
PDF
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
PDF
Getting start with knockout.js
Akio Ishida
PDF
Vue.js ハンズオン資料
よしだ あつし
PDF
jQueryを中心としたJavaScript
hideaki honda
PDF
究極にして至高のWAF
Yuki Ishikawa
PDF
Flux react現状確認会
VOYAGE GROUP
PDF
JavaScript 研修
Yuki Ishikawa
PDF
まだ DOM 操作で消耗してるの?
Yuki Ishikawa
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
Getting start with knockout.js
Akio Ishida
Vue.js ハンズオン資料
よしだ あつし
jQueryを中心としたJavaScript
hideaki honda
究極にして至高のWAF
Yuki Ishikawa
Flux react現状確認会
VOYAGE GROUP
JavaScript 研修
Yuki Ishikawa
まだ DOM 操作で消耗してるの?
Yuki Ishikawa
What's hot
(17)
PDF
a-blogcsm な寺子屋 2 in Okazaki
Etsushi Ishii
PDF
なぜ人は必死でjQueryを捨てようとしているのか
Yoichi Toyota
PDF
React+fluxを導入した話
Yuki Ishikawa
PDF
Cssアニメーションとその制御
Muyuu Fujita
PDF
a-sap09「a-blog cmsとWordPress」
Seiko Kuchida
PDF
軽量フレームワークNancy
Narami Kiyokura
PDF
( ゚∀゚)o彡° Flux! Flux!
Yuki Ishikawa
PDF
Learning jQuery
taiju higashi
PDF
Gulp De wordpress in WordBench
Kanako Kobayashi
PDF
E2E CSS Testing at HTML5 Conference 2016
Takeharu Igari
PPTX
webアプリケーションフレームワークの話
Yoshihiro Ura
PDF
svelte と tailwind で始めるフロントエンド開発
Shuichi Takaya
PDF
WordPress ユーザーのための a-blog cms 入門
Akiko Kasaya
PDF
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida
PDF
WebフレームワークXSS対策の自動化
Yoshihiro Ura
PDF
Ember コミュニティとわたし
Ryunosuke SATO
PDF
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
a-blogcsm な寺子屋 2 in Okazaki
Etsushi Ishii
なぜ人は必死でjQueryを捨てようとしているのか
Yoichi Toyota
React+fluxを導入した話
Yuki Ishikawa
Cssアニメーションとその制御
Muyuu Fujita
a-sap09「a-blog cmsとWordPress」
Seiko Kuchida
軽量フレームワークNancy
Narami Kiyokura
( ゚∀゚)o彡° Flux! Flux!
Yuki Ishikawa
Learning jQuery
taiju higashi
Gulp De wordpress in WordBench
Kanako Kobayashi
E2E CSS Testing at HTML5 Conference 2016
Takeharu Igari
webアプリケーションフレームワークの話
Yoshihiro Ura
svelte と tailwind で始めるフロントエンド開発
Shuichi Takaya
WordPress ユーザーのための a-blog cms 入門
Akiko Kasaya
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida
WebフレームワークXSS対策の自動化
Yoshihiro Ura
Ember コミュニティとわたし
Ryunosuke SATO
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
Ad
Similar to Concurrent Programming in JavaScript
(20)
PDF
JavaScriptトレンド総括(2014)
VOYAGE GROUP
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
PDF
Play jjug2012spring
Takafumi Ikeda
PDF
多分モダンなWebアプリ開発
tak-nakamura
PDF
WebStormでできること
kamiyam .
PPTX
Jsf アプリ作ったった
Oda Shinsuke
PDF
React es2015
t-onizawa
PDF
JSer Class #2
mizuky fujitani
PPTX
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
PDF
Gruntの罪と罰
kamiyam .
KEY
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
PDF
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
PDF
javascript を Xcode でテスト
Yoichiro Sakurai
PDF
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
PDF
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
hideyuki ikeda
PDF
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
PPTX
ビルド職人の朝は早い
Masashi MATSUI
PDF
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Akira Inoue
PDF
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
Ryuji Tamagawa
PPTX
Type scriptmemo
ytanno
JavaScriptトレンド総括(2014)
VOYAGE GROUP
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
Play jjug2012spring
Takafumi Ikeda
多分モダンなWebアプリ開発
tak-nakamura
WebStormでできること
kamiyam .
Jsf アプリ作ったった
Oda Shinsuke
React es2015
t-onizawa
JSer Class #2
mizuky fujitani
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
Gruntの罪と罰
kamiyam .
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
javascript を Xcode でテスト
Yoichiro Sakurai
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
hideyuki ikeda
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
ビルド職人の朝は早い
Masashi MATSUI
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Akira Inoue
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
Ryuji Tamagawa
Type scriptmemo
ytanno
Ad
Concurrent Programming in JavaScript
1.
Concurrent Programming in JavaScript SEINO
Yoshinori Sapporo.js
2.
自己紹介 • 情野 吉紀 •
職業 デバッガー • プログラミング好き • 趣味プログラミングしない • JavaScriptほとんど書かない
3.
おしながき • 導入 • カタログ •
未来
4.
• 導入 • 並行プログラミングカタログ •
未来
5.
メリット • なんでしょう? • JavaScript
1スレッドしかないよね?
6.
JSスレッドモデル • シングルスレッドのように振る舞う • デッドロック、競合状態と無縁 •
WebWorkerについては後でね • サイ本6版 p.352 • 13.3.3 クライアントサイドJavaScriptスレッドモデル
7.
メリット • 複数の処理を並行に実行できると • scriptロード •
ユーザ入力応答 • 通信 • DOM操作 • などを、待機時間なしに実行できる
8.
デメリット • なんでしょう?
9.
デメリット • キュータスク処理時間は50msec以下 • 続・ハイパフォーマンスWebサイト •
メンテナンス性の低下 • デバッグの難化 • 実行順序が非決定的
10.
どうにかならないの?
11.
• 導入 • 並行プログラミングカタログ •
未来
12.
カタログ • コールバックネスト • setTimeoutイディオム •
Web Workers • node.jsスタイルAPI • Promise/A(+) • Flow.js ( NOT Flow-js )
13.
コールバックネスト • ユースケース • 非同期API
14.
setTimeoutイディオム • ユースケース • ユーザ応答性を高めるために処理を 分割したい •
続・ハイパフォーマンスWebプログラミング • http://please-sleep.cou929.nu/using-javascript-timer-for-ui- performance.html
15.
Web Workers • ユースケース •
ユーザ応答性を高めるために処理を 分割したい • とりわけ重い処理(100ms over)を並行 処理したい • Web Workers
16.
node.jsスタイルAPI • ユースケース • node.jsアプリケーションを作る際に 書く •
http://dev.classmethod.jp/server- side/asyn/
17.
Promise/A(+) • ユースケース • 非同期API間でデータを引き継ぐ場合 •
例外処理が必要な場合
18.
Flow.js • ユースケース • 処理フローがグラフ構造のように複 雑になる場合
19.
未来 • Web Workers •
Task.js - http://taskjs.org/ • generators + promises = tasks • Fiber - https://npmjs.org/package/fibers • Actor -
20.
参考文献 • JavaScript 第6版
21.
次回予告 • Io :
Prototype Programming Language • JavaScript: Power of Simplicity Part2 Functional Programming
Editor's Notes
#4:
動機 - JavaScriptプログラムを書いてて並行プログラミングをしなければ行けなくなる理由は? 並行プログラミングカタログ - 並行プログラミング技法は何十年も前から研究されているが、一方で現在のJavaScriptではどんなプログラミング技法が使えるの? 未来 - 現在主流となっている並行プログラミング技法、そしてEcmaScript6の仕様からJavaScriptの未来の並行プログラミング技法をイメージします。
#5:
動機 - JavaScriptプログラムを書いてて並行プログラミングをしなければ行けなくなる理由は?
#7:
サーバーサイドは@tricknotesに聞いてください。 node.js はプロセスをフォークしてプロセス間通信するっぽい。OSネイティブなプロセス間通信プログラミング。 RhinoとかはたぶんJavaThreadじゃね?(投げやり)
#9:
ATMの例 札幌駅地下街のアピアにはATMたくさんあります。 複数の金融機関それぞれについて複数台あり、通路が待っている人であふれないようになっています。 仮に、1台しかATMがなかったとします。 人がたくさん並びます。対策をとらないとすぐに人であふれてしまいます。 どんな対策をとりますか? 答えは、一人一人の持ち時間を設定することです。
#10:
メンテナンス性の低下ってのは、著しく読みづらくなる、属人性の高いコードが生まれやすい
#12:
動機 - JavaScriptプログラムを書いてて並行プログラミングをしなければ行けなくなる理由は?
#15:
Web
#20:
Web Workers 共有ワーカー 名古屋にお住まいの @bleis おにいちゃんが発表した async/await 不要論 http://bleis-tift.hatenablog.com/entry/asyncawaitdis F# computation式 asyncワークフロー
Download