×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
"TZODͰ ඇಉظॲཧΛ গָ͚ͩ͠ʹॻ͘ @tascript e-ZUKA Tech Night
Slide 2
Slide 2 text
;͋Έ 森田 亘(たすくん@tascript) GMOペパボエンジニア Nuxt、Vue、TypeScript
Slide 3
Slide 3 text
3VCZͰ ඇಉظॲཧΛॻ͖͍ͨ
Slide 4
Slide 4 text
બࢶ Thread(並列処理) Fiber(並行処理) fork(プロセスの複製) etc…
Slide 5
Slide 5 text
ߟྀ͖͢ I/O待ちによるGVL(Giant VM lock)の解放 スレッドセーフなのか プリエンプティブ/ノンプリエンティブによるコンテキストスイッチ スレッドの増加によるコードの複雑化
Slide 6
Slide 6 text
Ԟ͕ਂ͍
Slide 7
Slide 7 text
ߟ͑Δ͜ͱ͕ଟ͘ͳΔ
Slide 8
Slide 8 text
"TZODͰ ඇಉظॲཧΛ ޮతʹॻ͚Δ
Slide 9
Slide 9 text
"TZOD 非同期I/Oのフレームワーク 内部ではFiberを使用 JavaScriptのasync/awaitっぽい 簡潔なシンタックスで非同期処理が実装可能
Slide 10
Slide 10 text
'JCFS ノンプリエンプティブな軽量スレッド 親子関係のスレッドを作成 親子間でコンテキストスイッチ コルーチンに近い ࢠ ࣌ؒ
Slide 11
Slide 11 text
جຊతͳૢ࡞ Asyncブロックで非同期処理を宣言 taskメソッド(read、write、sleep) 同期処理と非同期処理が明瞭になる
Slide 12
Slide 12 text
'JCFSͷΈͰ࣮ࢪ 同期処理と非同期処理で関数を変更 DRYとはなにか
Slide 13
Slide 13 text
BTZODBXBJUͬΆ͘ 非同期処理の結果を待機する 結果によって例外処理も書きやすい 同期が必要なポイントが確認しやすい
Slide 14
Slide 14 text
͍ॴ ブロッキングI/Oによるボトルネックの解消 非同期処理のネスト、コールバックが発生し始めた 非同期処理の結果について例外処理を書きたい 非同期処理も簡潔に書きたい