正文開始 在開始進行流媒體通訊協議前,咱們要先來學習什麼是通訊協議,這個東西沒有學習好,雖然你還是可以幹出一個直播服務器,但就只是做出來,但是當你碰到問題時,或是想要追求更高的效能時,一定卡關。 通訊協議 ...
正文開始 之前的八篇文章中,我們已經理解完聲音與影像的採集與編碼原理,並且也簡單的進行 Web 方面的採集實作,接下來咱們就要開始進入網路的部份,而這部份最主要探討的主題為: 別人要如何聽的到我的聲音呢 ? 基本上這 ...
正文開始 前一篇文章『30-07 Web 如何進行語音與影像採集 ?』咱們已經學習到如何使用 WebRTC 來進行聲音與影像的採集,並且將採集的結果儲放成一個 stream,最後在將儲放成檔案,接下來我們將研究一下 stream 裡面的東西, ...
正文開始 前面幾篇咱們已經學習了聲音與影像的採集相關知識,那接下咱們來學習一下如何在 Web 上進行聲音與影像的採集。 如何在 Web 上進行聲音與影像的採集 ? ( 其它平台的別問我 ) 這篇文章中,咱們將會用到一個東東叫做We ...
正文開始 前面的文章咱們已經學習到麥克風或攝影機如何的將聲音與影像進行採集,並且也學會了將這些 raw data 進行編碼為了讓它們儘量小點兒,好讓咱們傳輸時輕鬆些,接下來咱們要學習將這些東東封裝在一個容器中。 聲音與影 ...
正文開始 本篇文章中我們將要學習以下的主題: 影像編碼 接下來我們會分以下三個章節來進行學習: 什麼是影像編碼呢 ? 如何進行壓縮呢 ? 常用的編碼 什麼是影像編碼呢 ? 用來描敘影像的有規則二進位。 這個東西事實上就和音頻 ...
圖片來源:馬克 正文開始 影像的產生與採集 在聲音的採集與編碼後,咱們要開始學習影像採集的部份,在開始採集之前咱們要先理解圖片,接下來我們還要學習對電腦來說影像到底是如何組成的。 對電腦來說圖片是啥呢 ? 那對電 ...
圖片來源 : 馬克 正文開始 在上一篇文章中,在咱們理解了麥克風幫我們將聲音進行採集,並且透過 PCM 方法轉化成電腦看的懂的東東後,接下來咱們要來學習以下主題 : 聲音的編碼與壓縮 這篇文章中咱們會先說明一下編碼是什麼東 ...
圖片來源:馬克 正文開始 首先最一開始的文章,咱們要來討論聲音的採集這個主題,但是我覺得比較準備的說法是下面這種說明: 要如何採集聲音到電腦中呢 ? 要理解這個問題,咱們就需要從最源頭開始說起,什麼是聲音呢 ? 知 ...
前言 現今可以說是即時網路影音平台的戰國時代,17 直播、KKBOX、KKTV 、Youtube、 IG 等這些平台一個一個都推出了不少直播、影音串流內容提供(點播),接下來這 30 天咱們將要從 0 到 1 的來研究要如何將 ...
在之前筆者的這篇文章中: 一個基於 AWS Elasticsearch 的用戶行為 log 系統建立 在們學習了如何使用 AWS 的相關工具來建立一個用戶行為的 LOG 分析系統。 但是這篇文章中所提到的架構有個問題。 這個版本有什麼問題呢 ? 那就是在某些情況下它會一 ...
我相信有使用過 Elasticsearch 的人都應該是會被他的日期時區的問題搞到很火。 在開始搞前先說說我的簡單需求: 馬克大希望可以使用 ISO 標準來進行範圍搜尋,例如2017-07-16T19:20:30。 這時通常時間的儲法會有兩種 ...
本篇文章中,我們要說明的主題為 : 如何使用 AWS Elasticsearch 來建立一個用戶行為 log 系統。 本篇文章中,我們將分成以下的主題: Log 系統的架構說明 AWS 的工具申請 (Elasticsearch、Kinesis、S3) Log client 端的小實作 Log ...
在筆者的一個基於 AWS Elasticsearch 的用戶行為 log 系統建立中,我們建立了一個使用者行為分析的 log 系統,文章中有提到,我們會將比較舊的 log 放置到 S3 中,所以本篇文章我們將要學習的主題為: 如何時用 AWS Athena 來尋找 S3 中的資料 另外本篇另一 ...
上一篇文章『一個基於 AWS Elasticsearch 的用戶行為 log 系統建立』中我們說明了,如何使用 AWS Elasticsaerch 來建立收集 log 的系統,而 log 系統通常也有一種需求,那就是需要定期的清除舊的 log ,所以本篇文章的主題為: 要如何定期的清除 Elasticsearch 文件 ? 然後我們 ...
在這一篇文章中,我們將要理解兩個問題 : 在新增一個 document 時,會建立 json 實體與索引,那這兩個東東會存放到那兒去 ? 而在建立索引時,它又存放了什麼東東 ? 在開始前,我們先簡單的複習一下 Elasticsearch 的基本觀念。 Elasticsearch ( ES ) 的前提觀念 ...
本篇文章中,我們將要很快速的學習以下幾個重點: elasticsearch 的基本觀念。 使用 docker 建立 elastisearch 服務。 新增 document。 取得 document。 修改 document。 搜尋 document。 elasticsearch 的基本觀念 Elasticserach 是一種分散式的搜尋引 ...
在現今伊斯蘭的世界中,我們常常會聽到遜尼派與什葉派這兩個派別,那這兩個派別有什麼不同嗎 ? 而且為什麼會又分這兩個派別呢 ? 這兩個派別又對現在的世界有什麼影響呢 ? 在這篇文章中,我們會來慢慢的理解這些事情。 伊 ...
本篇文章中我們將會學習到以下幾個重點 什麼是 Prometheus 呢 ? 要如何監控 node http server 呢 ? 我想從 Prometheus 監控自訂的資訊,要如何做呢 ? 什麼是 Prometheus 呢 ? 在我們平常開發完系統時,我們常常會有個需求,那就是要如何監控我們的系統呢 ? 以確保它 cpu ...
首先我們先來看看最一開始時,要建立連線會那些事情,假設我們的 server 已經開啟 : var io = require('socket.io').listen(8080); io.sockets.on('connection', function (socket) { console.log("Hello xxxx client"); }); 接下來我們要從前端開始追蹤它做了那些事情。 Client 端它做了什麼呢 ?? Socket.io-client 建立連線的地方 在最開始時,一定是前端會去進 ...
socket io 是 nodejs 所提供的套件,它主要可以做的事情就是推播功能。 你想想,假設你要做個股票報價網站,然後當你後端收到新的股價時,你要如何的送到前端 ? 在傳統的 server 與 client 架構下,因為只能由 client 向 server 發出請求,而不能由 server 發送新 ...
socket.io 是 node js 的一個 framework,它可以幫助我們建立聊天室這種推播功能的系統,這篇文章我們不會說明它如何使用,而是要理解 socket.io 這個套件的架構組成。 socket.io 主要由以下幾個東東構成的 : engine.io、engin ...
在上一篇文章中,我們說明了如何的設計像 line 的聊天群的架構設計,而這一篇我們要來說明聊天室的架構設計,這東西和上一篇有什麼差別 ? 通常聊天群是會由用戶提出申請,然後管理者來加入到該群裡,而聊天室則不相同,它 ...
本篇文章中,我們講要說明,如何開發一個簡單的聊天群系統,這個東東雖然我們很常見到,到和我們平常開發的一些 WEB 有很大的差別。 差別在那呢 ? 假設我們開一個todolist功能,事實上大部份的工作就是crud的 ...
在前面的幾篇有說到,不同的 process 間可以使用 IPC 通信來進行溝通,但如果是不同電腦呢 ? 要如何溝通呢 ? 我們這時就可以使用 socket 來進行溝通。 在開始說明 socket 前,我們需要先準備一些基本知識,那就是常聽到的 tcp/ip。 TCP/IP 通訊 ...
本文中我們將會知道兩件事件 為什麼要使用命令模式呢 ? 什麼是命令模式呢? 為什麼要使用命令模式呢 ? 我們先來想想,假設我們要做一個簡單的計算機的功能,然後他有提供以下方法: 加 減 乘 除 然後實際上執行大概會長這樣 : ...
本篇文章中,我們想要知道以下兩件事情 : 為什麼要使用它呢 ? 什麼是策略模式呢 ? 為什麼要使用策略模式呢 ? 我們簡單的寫一下,一個多需要用不同方法的登入方法,它可以選擇使用google、facebook的方法, ...
在前幾篇文章中,我們說明了如何將系統進行擴展,而接下來呢,我們將要說明如何使用訊息佇列來進行整合,事實上之前的每篇文章中都要提到一個名稱IPC通信,其中裡面就包含了訊息佇列 (message queue)。 訊息佇列基本 ...
上一章節中我們有提到rabbitmq,它是用來建立中介式架構的broker,但這種架構有什麼問題呢 ? 那就是分散式架構的頭號公敵單點失效(single point of failure)。 所以後來就有人提出使用對等式架 ...
本篇文章中,我們想要知道以下的重點 : passport 是啥鬼 ? 要如何使用它呢 ? 要如何使用一個 passport 的登入系統呢 ? passport 是啥 ? passport.js是 node 中的一段登入驗證中間層(middleware),也就是說可以讓你簡單的使用 ...