[JWT] JSON Web Token 指南

Intro JWT (JSON Web Token) 是一種基於 JSON 的開放標準(RFC 7519),它定義了一種簡潔(compact)且自包含(self-contained)的方式,用於在雙方之間安全地將訊息作為 JSON 物件傳輸。而這個訊息是經過數位簽章(Digital Signature),因此可以被驗證及信任。可以使用 密碼(經過 HMAC 演算法) 或用一對 公鑰/私鑰(經過 RSA 或 ECDSA 演算法) 來對 JWT 進行簽章。 Wiki – JSON Web Token RFC 7515 – JSON Web Signature(JWS) JWT 的簽名標準,包括 Header、Payload 和 Signature,Header […]

[.NET][C#] Web 開發環境與語言架構指南

Intro .NET Framework 安裝 Visual Studio Community Download Visual Studio for Mac – IDE for macOS Quick Start 建議新專案.Template選擇Console Application預設C#,並選擇.NET Framework版本已建立專案。 進入專案IDE應將在Program.cs自動提供Hello World程式碼: using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine(“Hello World!”); } } […]

[Golang] Go Web 開發環境與語言架構指南

Intro Golang官方網站 WikePedia – Go語言 安裝 至官方下載頁面依據OS環境下載並安裝Golang: https://golang.org/doc/install 檢查Golang版本: $ go version Quickstart Tutorial: Get started with Go 在任一專案目錄下建立./hello.go: package main import "fmt" func main() { fmt.Println("Hello, World!") } 使用run指令快速直譯執行程式碼: $ go run . Go Modules – Package套件管理 Tutorial: Create […]

[Node.js] Node.js Web 開發環境與語言架構指南

Intro Node.js Wiki Node.js 採用 Google 開發的 V8 引擎執行 JavaScript 代碼,使用事件驅動、非阻塞/非同步輸入輸出模型等技術來提高效能,可優化應用程式的傳輸量和規模。 Node.js 主要用於編寫高度可擴展的網絡應用程序,與其他語言最大的不同之處: 如 PHP 等語言採用阻塞 I/O 模型: 只有前一條命令執行完畢才會執行後面的命令 Node.js 使用非阻塞 I/O 模型: 多條命令可以同時被執行,通過回呼函式得知命令已結束執行 總之,Node.js 結合了 JavaScript 的易學易用和 Unix 網路編程的特性。 安裝 Node.js Downloads – Node.js 檢查版本 $ node –version v14.17.5 […]

[Windows] 系統重灌安裝指南 (支援Windows10 1809之後版本)

Intro 依據PC不同的開機磁區標準疊代,截至目前整理為以下: MBR: 最高支援FAT32檔案格式,製作安裝碟需要工具軟體,如UltraISO。 UEFI: 目前最高支援FAT32檔案格式,可以直接透過FAT32檔案格式複製所以檔案至安裝碟。 UEFI FAT32限制 因為UEFI目前僅支援到FAT32檔案格式,當ISO內容檔案超過4GB則需要特別處理,如切割檔案或者使用兩個磁區分別作為FAT32啟動並讀取另一個檔案格式磁碟內容。 以下介紹Windows的問題以及軟體工具推薦。 Windows 10 1809 之後版本 (2018年) Windows 10在1809版本後單檔已經超過4GB,即會面臨到需要處理UEFI FAT32限制問題。 Rufus 解決方案 Rufus (Github) 非常方便的開放原始碼軟體工具,有效解決UEFI FAT32問題。 – 若選擇小於4G以上的ISO檔,則僅能選擇MBR+FAT32模式(支援UEFI-CSM)。 – 若選擇超過4G以上的ISO檔,則可以選擇MBR(支援UEFI-CSM)或UEFI,檔案系統僅可選擇NTFS,實現由FAT32作為UEFI開機磁區並引導讀取NTFS磁區檔案。 – 超過4G以上的方式會需要BIOS先disable Secure Boot。

[Java] Java / Spring Boot Web 開發環境與語言架構指南

安裝 | Quick Start | Package套件管理 | Logging | 開發工具 | Spring Boot Web | 部署 | Template Engine | Concurrency | Appendix Intro Java programming language JVM JVM (Java Virtual Machine – Java虛擬機),能夠執行Java位元組碼且以堆疊結構機器實做的虛擬機器。它有自己的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。 JVM 封鎖了與具體作業系統平台相關的資訊,使得Java程式只需生成在 JVM 上執行的目的碼(位元組碼),就可以在多種平台上執行。通過對中央處理器(CPU)所執行的軟體實作,實現能執行編譯過的Java程式碼 (Applet與應用程式)。 (References: […]

[Linux][Swap] 虛擬記憶體分頁Swap指南

Intro Wiki – 分頁Swap 常見的應用情境如開發環境要做套件安裝如PHP Composer,則可以利用暫時設定檔案Swap的方式解決。 基本用法 查看Swap狀態: swapon -s 卸載Swap: # Partition swapoff /dev/hdb2 # File swapoff /swapfile 透過Partition分割 透過檔案增加 主要透過swapon與swapoff指令來操作設定分頁,利用實體所在硬碟分割區中的檔案提供Swap。 先建立一個想要配給Swap容量的檔案於硬碟分割區,可以透過fallocate指令: fallocate -l 2G /swapfile 格式化此檔案為Swap file: chmod 600 /swapfile mkswap /swapfile swapon /swapfile 確認查看或設定自動掛載 完成後可以使用swapon -s指令確認查看,另外如要自動掛載則可以於/etc/fstab加入設定: /swapfile […]

[WordPress] 基本架構與環境建置指南

Intro 目前PHP Blog套件首選 WordPress繁體中文下載: https://tw.wordpress.org/download/ 官方安裝實用指南: https://wordpress.org/support/article/how-to-install-wordpress/ PHP 相容 PHP 5.6以上 官方建議: https://wordpress.org/about/requirements/ 資料夾權限配置 官方文件: https://wordpress.org/support/article/changing-file-permissions/ 社群建議需要改為可寫入的資料夾: /wp-content /wp-includes 其中wp-includes是為了讓外掛(Plugin)自動更新而不用透過FTP設定,可能需要搭配以下設定。 /wp-config.php 增加下列常數並設定: define(‘FS_METHOD’, ‘direct’); StackOverFlow – Can I install/update WordPress plugins without providing FTP access?