原创 RxJS的另外四種實現方式(序)

本文適合人羣:瞭解Rx編程人士、Javascript發燒友 本文涉及概念:響應型編程、NodeJs、函數式編程 背景 本人自從讀過一篇來自Info的《函數式反應型編程(FRP) —— 實時互動應用開發的新思路》後便迷戀上了Rx,甚至

原创 RxJS的另外四種實現方式(三)——性能最高的庫 頂 原

接上篇 RxJS的另外四種實現方式(二)——代碼最小的庫(續) 代碼最小的庫rx4rx-lite雖然在性能測試中超過了callbag,但和most庫較量的時候卻落敗了,於是我下載了most庫,要解開most庫性能高的原因。 我們先上一組

原创 RxJS的另外四種實現方式(一)——代碼最小的庫 頂 原

接上篇RxJS的另外四種實現方式(序) 起因 想到這個庫的原因,是看了callbag庫想到的,callbag庫的原理大家可以自己找資料瞭解,我就不多贅述,我只談談我的理解。callbag的設計思路是把消費者和生產者合併成一個,通過互相傳

原创 WebAssembly 技術彙總 原

官方網站 https://webassembly.org/ 要點 文件格式(wasm,wast/wat,asm.js) 編譯(emscripten) 編程語言(C/C++、Rust、Golang、Javascript、Typescript

原创 Node.js一次處理10萬條數據 原

電話銷售大家一定都經歷過,許多公司都有電銷的團隊,相信看過華爾街之狼的人肯定會理解的更加深刻。我們今天不討論那些公司是如何通過各種渠道獲取到大衆的電話號碼的。我有幸開發了一個需要處理海量電話號碼的系統,這個系統的功能包括: 一次導入10萬

原创 libuv的典型應用——CTP的Node.js封裝 原

寫過CTP的同學可能不多,這是一個期貨接口。沒聽說過的也無妨。 C++多線程回調 CTP 提供了若干個父類供開發者繼承,裏面的回調都是通過覆蓋父類的純虛函數實現。 當SDK有事件發生的時候,就會調用這些定義的回調函數。 class CTho

原创 遊戲外掛是怎麼煉成的 原

本人曾經幫朋友開發了一款DNF外掛程序,其重要功能是使用賬戶列表中的用戶名密碼自動登錄DNF,後面的事情交給按鍵精靈完成。 外掛是一條黑色產業鏈,由於騰訊的保護程序相當強悍,如今要做出一個外掛將非常困難。外掛是怎麼贏利的?很多人瞭解的模式是

原创 RxJS的另外四種實現方式(序) 頂 原

本文適合人羣:瞭解Rx編程人士、Javascript發燒友 本文涉及概念:響應型編程、NodeJs、函數式編程 背景 本人自從讀過一篇來自Info的《函數式反應型編程(FRP) —— 實時互動應用開發的新思路》後便迷戀上了Rx,甚至

原创 RxJS的另外四種實現方式(四)——性能最高的庫(續) 頂 原

接上一篇RxJS的另外四種實現方式(三)——性能最高的庫 上一篇文章我展示了這個最高性能庫的實現方法。下面我介紹一下這個性能提升的祕密。 首先,爲了弄清楚Most庫究竟爲何如此快,我必須藉助其他工具。比如chrome 的devtools

原创 使用JS實現RTMP協議直播(三) 頂 原

broadway和libspeex的C代碼可以先編譯成llvm的中間文件,然後再和自己寫的c++代碼連接形成最終的js代碼。 中間遇到的問題是,如何在C代碼和js代碼之間進行交互,就是哪些代碼寫成C,哪些用js實現。 用emscripten

原创 將桌面捕獲到虛擬攝像頭 原

當然你可以直接用現成的虛擬攝像頭軟件實現這個功能。不過當初我開發這個插件的原因是,需要在Flash產品裏面共享桌面,如果此時需要引導用戶安裝一個第三方的虛擬攝像頭體驗不好,所以公司希望我自己開發一個虛擬攝像頭,一鍵安裝減少用戶的使用門檻。所

原创 RxJS的另外四種實現方式(六)——使用Stream類實現 原

接上一篇 RxJS的另外四種實現方式(五)——使用生成器實現 該實現方式與之前幾種不同的,該實現方式僅針對Nodejs環境。在Nodejs環境中,提供了Stream類,包括Readable、Transform、Writeable等子類都

原创 一圖弄清JavaScript的繼承與原型 原

其中Function、Object是JavaScript的內建類,JavaScript的類實際上是一個function 而function對象會憑空多出一個prototype屬性 這就是一切困擾的起源 凡是function類型的對象,co

原创 H5實時解碼音頻並播放 原

音視頻的格式是一個有歧義的說法。我們熟知的諸如Flv、Mp4、Mov啥的都是包裝格式,可以理解爲一種容器,就像一個盒子。裏面放到是經過編碼的音視頻數據,而這些音視頻數據都有自己的編碼格式,如AAC、H264、H265等等。 今天要展示的是從

原创 RxJS的另外四種實現方式(二)——代碼最小的庫(續) 頂 原

接上篇 RxJS的另外四種實現方式(一)——代碼最小的庫 上篇我們展示了生產者interval和操作符filter的實現,接下來我們看一下消費者subscriber的實現 callbag的實現 const subscribe = (li