Noob Tsai

Noob Tsai

即將畢業的肥宅工程師,除了臺灣人的兩個母語以外還會說英文和 JavaScript。曾經做過全職 JS Full-stack Dev 和實習 HTML5 Games Dev;現在在努力寫文章養活自己。

前後端渲染以外,前後端驗證有什麼不同?
鐵人賽JavaScript程式React

前後端渲染以外,前後端驗證有什麼不同?

昨天講了前後端渲染的差別,其實除了渲染以外,許多像是驗證的動作也是在前端、後端都可以做的。這篇來講講在前後端驗證有什麼不一樣。

Client-side Render 和 SSR 的差別
鐵人賽網路httpGoogleReactJavaScript

Client-side Render 和 SSR 的差別

Client-side Render 和 Server-side Render 在實作起來究竟有什麼差別?Debug 時有什麼不一樣,對 SEO 又會有什麼影響呢?

Ngrok:讓本機測試時也能有 HTTPS 憑證
鐵人賽程式JavaScript軟體

Ngrok:讓本機測試時也能有 HTTPS 憑證

前端在本機測試時,通常已經不至於直接點開 HTML 檔案,而會搭配 webpack-dev-server 等套件做測試;後端也可以使用 nodemon 等套件測試,但預設的網址通常都是 http://localhost:3000,要怎麼加上 HTTPS、甚至讓別人也能看到呢?

SSH 金鑰:免密碼登入遠端主機、傳遞檔案
鐵人賽VPSLinux網路

SSH 金鑰:免密碼登入遠端主機、傳遞檔案

覺得打密碼很麻煩嗎?透過 Public Key Authentication 的方式,可以讓你不需輸入密碼就透過 SSH 進入你的遠端主機。

用 Cron 幫網站寫備份腳本吧
鐵人賽LinuxVPSUbuntu

用 Cron 幫網站寫備份腳本吧

Cron 是個好用的 Linux 工具,可以用來定期自動化許多工作,就像 Windows 的排程管理員一樣。透過 Cron,可以輕鬆幫網站寫備份腳本。

Nginxconfig:自動產生 Nginx 設定檔的線上工具
鐵人賽VPShttpLinux網路

Nginxconfig:自動產生 Nginx 設定檔的線上工具

上次有介紹到 Nginx,一個輕巧而優美的 HTTP 伺服器,並建議新手都應該嘗試看看。但是一開始使用預設的設定檔後,可能稍微知道怎麼修改,卻不知道該怎麼編寫。這個 Nginxconfig 就是一個線上的 nginx 設定檔產生器,只要勾選、輸入幾個設定,就會產生對應的設定檔供使用者下載。

三招找出主機上哪個處理程序在耗費你的資源
鐵人賽VPSLinux

三招找出主機上哪個處理程序在耗費你的資源

Linux 的指令介面中不像 Windows,東西卡住叫工作管理員出來關掉沒有回應的程式就好。在 Linux 上該做什麼才能知道誰在耗用資源呢?

Nginx:高效能的 Web 伺服器、反向代理、負載平衡
鐵人賽LinuxVPShttp網路

Nginx:高效能的 Web 伺服器、反向代理、負載平衡

Web 伺服器的首選,大概不是 Nginx 就是 Apache 了。這篇文章說明為什麼我偏向使用 Nginx 而不是 Apache。

透過 HTTP Cache 讓 CDN 快取特定檔案
鐵人賽網路http

透過 HTTP Cache 讓 CDN 快取特定檔案

這篇來講 HTTP 快取的作法,不論你是要調整檔案快取時間、決定要不要讓 CDN 快取,還是要隨時保持最新的檔案,都可以透過這些 Header 來調整。

CloudFlare 快取了什麼?五招設定看這裡
鐵人賽VPS網路http

CloudFlare 快取了什麼?五招設定看這裡

CloudFlare 能夠幫你擋下許多惡意流量、也能幫你快取住許多資源。但你知道 CloudFlare 預設到底會快取什麼,該怎麼清除掉過期的快取嗎?

CloudFlare:免費 CDN、DNS 託管,加速又防 DDOS
鐵人賽VPS網路http

CloudFlare:免費 CDN、DNS 託管,加速又防 DDOS

如果你的網站有很多靜態資源(如圖片、影片等),需要大量流量的話,通常會找個像樣的 CDN 來幫網站加速,這時 CloudFlare 就是你的一個好選擇。

tmux:管理終端 Session、分割視窗的神器
鐵人賽LinuxVPS

tmux:管理終端 Session、分割視窗的神器

學會怎麼部署工具後,尤其又知道怎麼使用 WSL,通常大部分都會本機完成開發後再丟到遠端主機執行。但有時候必須在遠端同時嘗試作業和看 log,就只能開兩個 SSH 視窗進去管理嗎?

API 實作(五):用 DevTools 查看 HTTP 封包
鐵人賽程式API網路http

API 實作(五):用 DevTools 查看 HTTP 封包

寫完 API 以後通常會用 postman 去測試,但是實際放到前端去呼叫以後可能還是會有一些沒抓到的問題,這時候 Chrome 的 DevTools 就可以協助你解決這種問題。

API 實作(四):實際串上 MongoDB 資料庫
鐵人賽LinuxVPSDatabase程式JavaScript

API 實作(四):實際串上 MongoDB 資料庫

之前有提過,MongoDB 的 Schema-less 特性、加上 BSON 結構很適合拿來用 Node.js 寫個 Side-project,所以今天要拿之前的 API 範例,實際串上 MongoDB 資料庫。

在 Linux 下備份與還原 MongoDB 資料庫
鐵人賽VPSLinuxDatabase

在 Linux 下備份與還原 MongoDB 資料庫

上一篇提到了如何安裝、操作 MongoDB,這篇要討論如何自動備份資料庫。

MongoDB:開源、好上手的 NoSQL 資料庫
鐵人賽VPSLinux程式JavaScriptDatabase

MongoDB:開源、好上手的 NoSQL 資料庫

MongoDB 是個開源的 NoSQL 資料庫,由於你不需要花很多時間先制定每張資料表要長怎樣、畫出 ER Model,因此不管是用來做 Side-project,還是用來塞大量資料都很適合。

Certbot:幫你的網站安裝免費 HTTPS 憑證
鐵人賽VPSLinux網路http

Certbot:幫你的網站安裝免費 HTTPS 憑證

我們可以透過 Certbot 來建立免費的 HTTPS 憑證。Certbot 其實是利用 Let's Encrypt 的免費 HTTPS 憑證,而 Let's Encrypt 是由 Mozilla、Cisco、Google 等大公司共同贊助推動的服務,主要是要推廣大家都來簽 HTTPS,讓網路更安全。

用 Nginx 伺服器建立反向代理
鐵人賽網路LinuxVPShttp

用 Nginx 伺服器建立反向代理

雖然我們可以直接將 Node.js 專案的 port 指向 80,甚至可以加上 HTTPS 憑證,那用 Nginx 當反向代理還有什麼好處呢?

在 Gandi 上購買你的第一個 Domain
鐵人賽VPS網路

在 Gandi 上購買你的第一個 Domain

有了 Server 也有了服務後,你開始可以把服務公開給別人一起使用了。但是丟給別人的時候只能給 IP,很麻煩嗎?這時候你就應該購買你的第一個 Domain。

使用 pm2 管理 Node.js 服務
鐵人賽VPSJavaScript程式Linux

使用 pm2 管理 Node.js 服務

把服務部屬到主機後,如何讓服務保持執行,甚至在主機重開機後都會自動執行呢?通常我們會用 pm2 來管理 server 上的 Node.js 服務。

把第一個服務部署到主機上吧!
鐵人賽VPSLinuxAPI

把第一個服務部署到主機上吧!

開了一臺主機以後可以做什麼呢?第一件事就是要把自己寫的服務放上去讓別人使用吧!這篇文章會介紹兩種常見的部屬服務的方法。

剛架設雲端 VPS 主機後該做的三件事
鐵人賽VPSLinux

剛架設雲端 VPS 主機後該做的三件事

略懂略懂後端程式後,還是要實際開個主機部屬起來才有感覺。接下來幾篇文章會講解如何開一臺雲端 VPS 主機,以及怎麼設定環境、部屬程式碼、維護線上服務。

API 實作(三):以 Postman 測試 API
鐵人賽程式JavaScriptAPIhttp網路

API 實作(三):以 Postman 測試 API

寫完 API 以後,要怎麼確定 API 是符合文件、符合預期的呢?除了用瀏覽器寫表單慢慢測、或是用 curl 工具測試以外,還有更直覺簡單的方法:Postman。

API 實作(二):以 Koa 實作 RESTful API
鐵人賽程式JavaScripthttp網路API

API 實作(二):以 Koa 實作 RESTful API

透過 Koa 來寫 Web 框架,很輕鬆就可以寫出一個 RESTful API。這篇會示範如何以 koa-router,寫一個簡單具有 CRUD 功能的 RESTful API。

Koa.js:簡單好用的 Web 框架
鐵人賽程式JavaScripthttp網路

Koa.js:簡單好用的 Web 框架

這幾年 JavaScript 已經不只可以寫前端,也可以寫後端程式。如果說要用 JS 來寫後端程式,第一個我會推薦 Koa.js。