0%

Docker

簡介

Docker 是一種虛擬化技術,透過 container 的方式將應用程式和所需執行環境打包起來,方便佈署到其他伺服器上,避免因為系統環境不同而無法正確執行,也可以節省建立環境的繁瑣步驟。此外,Docker 也可以用來模擬不同環境下,程式是否能正確執行。

和 Virtual Machine 相比,Docker 的利用率更高,容量小、高效能、啟動速度快,一台伺服器上(Host)可以執行多個 container, 而每個 container 是獨立的,互不影響。

接下來紀錄一下如何在 Linux 環境上安裝及使用 Docker,並且使用 Docker 將我們的應用程式及執行環境打包。

Read more »

mocha

前言

在開發專案的過程中,很重要的一個部份是測試。在開發時常常會遇到某次修改之後,原本正常的功能突然不能用了,透過單元測試可以確保每次修改後,沒有造成其他地方出問題。

Javascript 有許多單元測試框架,例如:mocha, Jest, Jasmine…等,這篇文章主要是使用 mocha 測試框架。此外,我們還需要斷言庫來幫助我們判斷測試結果是否符合預期,這裡我們使用 chai 斷言庫。另外還可以搭配 supertest 來測試 Node.js API, supertest 是一個提供輕量級的 HTTP Request 測試的套件,通常會用來測試 Node.js API.

接下來就記錄一下如何使用 mocha, chai 和 supertest 來做單元測試。

Read more »

Nginx 可同時處理的連線數上限是 worker_processes * worker_connections, worker_processes 是 worker 的行程數,通常會設定成 CPU 核心數,或是也可以設定成 auto,讓 Nginx 自動偵測可用的 CPU 核心數。而worker_connections 是同一時間允許的連線總數量。

Read more »

Nginx

前言

Nginx 是一個 Web Server, 也可以用來作為 Reverse Proxy, Load Balancer 和 HTTP cache.
這一篇文章主要紀錄如何安裝以及設定 Nginx。

Read more »

https

我們可以透過以下兩個網站申請免費的 SSL 憑證:

  • Let′s encrypt: 是一個提供免費 SSL 服務的網站,可以手動申請 SSL 憑證,也可以串接它的 API,讓申請憑證的流程自動化,詳細的內容可以參考官方網站
  • CloudFlare: 主要提供 CDN 的服務,多了一層的代理,可以保護網站受到攻擊,同時也能提升網站效能,另外 CloudFlare 也有提供免費的 SSL 服務。
Read more »