| | | JavaScript並發編程(影印版)(英文版) | 該商品所屬分類:計算機/網絡 -> 計算機影印版 | 【市場價】 | 564-817元 | 【優惠價】 | 353-511元 | 【介質】 | book | 【ISBN】 | 9787564170769 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
-
出版社:東南大學
-
ISBN:9787564170769
-
作者:(加)亞當·布達奇
-
頁數:267
-
出版日期:2017-04-01
-
印刷日期:2017-04-01
-
包裝:平裝
-
開本:16開
-
版次:1
-
印次:1
-
字數:353千字
-
JavaScript已經具備了並發能力,這也解釋了為 什麼這門語言至今仍然屹立於現代web開發的前沿陣 地。亞當·布達奇編著的《JavaScript並發編程(影 印版)(英文版)》將幫助你深入JavaScript並發編程 的世界,演示如何應用其核心原理、關鍵技術以及工 具來應對各種復雜的開發難題。圍繞並發編程的三個 核心要素:並發、同步和保護,你將學會如何編寫更 高效、更富於變化的JavaScript程序,從而提高用戶 體驗。 書中通過采用各種開發方法,帶領你將這些原理 應用於實踐。從JavaScript promises、web workers、生成器到函數式編程技術,所有這些知識 都將對你的應用程序性能產生實實在在的影響。除此 之外,還進一步討論了NodeJS並發編程。在成長為更 優秀的Web開發人員的道路上,本書將助你一臂之力 。
-
Preface Chapter 1: Why JavaScript Concurrency? Synchronous JavaScript Synchronicity is easy to understand Asynchronous is inevitable Asynchronous browsers Types of concurrency Asynchronous actions Parallel actions JavaScript concurrency principles: Parallelize, Synchronize, Conserve Parallelize Synchronize The Promise API Conserve Summary Chapter 2: The JavaScript Execution Model Everything is a task Meet the players The Execution environment Event loops Task queues Execution contexts Maintaining execution state Job queues Creating tasks using timers Using setTimeout() Using setlnterval() Responding to DOM events Event targets Managing event frequency Responding to network events Making requests Coordinating requests Concurrency challenges with this model Limited opportunity for parallelism Synchronization through callbacks Summary Chapter 3: Synchronizing with Promises Promise terminology Promise State Executor Resolver Rejector Thenable Resolving and rejecting promises Resolving promises Rejecting promises Empty promises Reacting to promises Resolution job queues Using promised data Error callbacks Always reacting Resolving other promises Promise-like objects Building callback chains Promises only change state once Immutable promises Many then callbacks, many promises Passing promises around Synchronizing several promises Waiting on promises Cancelling promises Promises without executors Summary Chapter 4: Lazy Evaluation with Generators Call stacks and memory allocation Bookmarking function contexts Sequences instead of arrays Creating generators and yielding values Generator function syntax Yielding values Iterating over generators Infinite sequences No end in sight Alternating sequences Deferring to other generators Selecting a strategy Interweaving generators Passing data to generators Reusing generators Lightweight map/reduce Coroutines Creating coroutine functions Handling DOM events Handling promised values Summary Chapter 5: Working with Workers What are workers? OS threads Event targets True parallelism Types of workers Dedicated workers Sub-workers Shared workers Worker environments What's available, what isn't? Loading scripts Communicating with workers Posting messages Message serialization Receiving messages from workers Sharing application state Sharing memory Fetching resources Communicating between pages Performing sub-tasks with sub-workers Dividing work into tasks A word of caution Error handling in web workers Error condition checking Exception handling Summary Chapter 6: Practical Parallelism Functional programming Data in, data out Immutability Referential transparency and time Do we need to go parallel? How big is the data? Hardware concurrency capabilities Creating tasks and assigning work Candidate problems Embarrassingly parallel Searching collections Mapping and reducing Keeping the DOM responsive Bottom halves Translating DOM manipulation Translating DOM events Summary Chapter 7: Abstracting Concurrency Writing concurrent code Hiding the concurrency mechanism Without concurrency Worker communication with promises Helper functions Extending postMessage0 Synchronizing worker results Lazy workers Reducing overhead Generating values in workers Lazy worker chains Using Parallel.js How it works Spawning workers Mapping and reducing Worker pools Allocating pools Scheduling jobs Summary Chapter 8: Evented IO with NodeJS Single threaded IO IO is slow IO events Multi-threading challenges More connections, more problems Deploying to the Internet The C10K problem Lightweight event handlers Evented network IO Handling HTTP requests Streaming responses Proxy network requests Evented file IO Reading from files Writing to files Streaming reads and writes Summary Chapter 9: Advanced NodeJS Concurrency Coroutines with Co Generating promises Awaiting values Resolving values Asynchronous dependencies Wrapping coroutines Child Processes Blocking the event loop Forking processes Spawning external processes Inter-process communication Process Clusters Challenges with process management Abstracting process pools Server clusters Proxying requests Facilitating micro-services Informed load balancing Summary Chapter 10: Building a Concurrent Application Getting started Concurrency first Retrofitting concurrency Application types Requirements The overall goal The API The UI Building the API The HTTP server and routing Co-routines as handlers The create chat handler The join chat handler The load chat handler The send message handler. Static handlers Building the UI Talking to the API Implementing the HTML DOM events and manipulation Adding an API worker Additions and improvements Clustering the API Cleaning up chats Asynchronous entry points Who's typing? Leaving chats Polling timeouts Summary Index
| | | | | |