Recent posts

GPG 與 YubiKey 的相遇之旅

category: random     6 minute read     Posted on:

Introduction to YubiKey ref: https://www.yubico.com

DevOps - 從 GitHub Actions 初探 CI/CD

category: devops     3 minute read     Posted on:

CI/CD Continuous Integration - CI 是現今軟體開發流程當中的一種 best practice 開發的過程當中,我們有可能在實作中不小心改壞了一個東西,又剛好 QA 沒有測出來直上 production 這時候出問題就比較麻煩了對吧?

網頁程式設計三兩事 - gRPC 與 JSON-RPC

category: website     7 minute read     Posted on:

RPC RPC(Remote Procedure Call) 是一種通信協定, 它能夠 允許本機電腦程式呼叫遠端電腦程式 聽起來好像還好? 重點是它能夠以 類似於呼叫本地 function 般輕鬆(稱為 location transparency)

網頁程式設計三兩事 - RESTful API

category: website     2 minute read     Posted on:

What is API API - Application Programming Interface 是一種 介面,他高度抽象化了背後的實作原理 使得呼叫端可以透過簡單的呼叫達成一件相對複雜的事情

關於 Python 你該知道的那些事 - GIL(Global Interpreter Lock)

category: random     5 minute read     Posted on:

Preface 我一開始用 Python 開發多執行緒的程式的時候 學長姐都告誡我說不要使用 threading 而是要使用 multiprocessing 這個 library 因為後者才是 真正的 threading

Git 進階使用 - Git Reset

category: git     less than 1 minute read     Posted on:

Introduce to Git Reset 開發者最喜歡 Git 的其中一個很大的原因就是即使你做錯了 仍然可以重來 使用 git reset 可以幾乎拯救所有 “不小心的操作”(只要 .git 資料夾還存在的情況下)

Git 進階使用 - Git Rebase

category: git     1 minute read     Posted on:

Introduce to Git Rebase Rebase 顧名思義,即更改目前的 base(分支基礎) rebase 在很多地方都很有用,包含像是更改 commit message, re-order commits, squash commits 以及 pull base branch 的 changes

Linux Kernel - namespaces

category: linux-kernel     2 minute read     Posted on:

Introduce to namespaces namespaces 是 linux kernel 的一種資源隔離機制,用以防止不同 process 看到不同資源

Linux Kernel - Clock

category: linux-kernel     1 minute read     Posted on:

Hardware and System Clock Linux 的世界裡,有兩種時鐘,他們分別為

Container 技術 - 理解 Docker Container

category: container     2 minute read     Posted on:

Virtualization Docker 身為一個容器化技術的代表,與傳統 virtual machine 不同 Docker 擁有更快的啟動速度、對系統資源的極低要求以及輕量化的優點,既然同為 虛擬化技術,那麼他與傳統的 virtual machine 又有甚麼不一樣的地方呢?