Blog
Technical notes, oshi diaries, and everyday jottings. Most posts are written in Chinese; some carry EN / JP translations.
Docker:Image Optimisation
從 Layer Caching、Multi-stage builds 到 Distroless,整理 Docker Image 又快又小又安全的優化方式,思考的像是資深工程師
git worktree
在 AI agent 滿天飛的時代,重新認識 git 的物件模型,利用 worktree 提升自己生產力。
json.Tool
介紹 Python 內建的 json.tool CLI 工具,可在終端機快速格式化 API 回傳的 JSON,也能當作 linter 檢查 JSON 檔案的格式錯誤。
uv
uv 是一套以 Rust 寫成的工具取代 pip / venv / pyenv / poetry, 主打依賴解析與安裝速度,並用帶 hash 的 uv.lock 鎖定可重現的環境。
推活人生 - 始動
回顧 2025 年,記錄為 Vtuber ウタノ推活的歷程,包含首次赴日參加現地、製作粉絲網站與 Blender 3D 建模,並反思畢業離別與日本旅行的點滴。
Docker vs VM
從 Hypervisor 與 Guest OS 的架構差異,講到 Linux 核心的 Namespaces、Cgroups,再拆解 veth pair、bridge 與 iptables 如何撐起容器網路,並比較四種 network driver 的取捨。
Docker:入門概念
從 OCI 規範與 Namespaces、Cgroups 等底層原理切入,比較 Docker 與 Podman 架構差異。
重開/多Session無法吃到zsh-autosuggestions
解決安裝 zsh-autosuggestions 後重開終端機或切換分頁讀不到歷史紀錄的問題,透過在 zshrc 設定共享歷史相關選項即可修復。
PEP 765 try finally迷思
解析 PEP 765 為何禁止在 finally 區塊中使用 return、break、continue,並延伸介紹 with 資源管理與 Python 3.11 的 ExceptionGroup 與 except* 例外處理機制。
whisper
介紹如何使用 OpenAI 的開源語音辨識模型 Whisper 來製作影片逐字稿,搭配 yt-dlp 下載音檔,並提供模型選擇、參數說明與 Colab 執行範例。
yt-dlp 存檔不再錯過
整理使用 yt-dlp 下載 YouTube 影片與直播的常用指令,涵蓋安裝、格式選擇、批次檔下載、直播從頭錄製與日期區間篩選等實用技巧。
Vtuber的定位——淺談、反思、我推文化
被學長問「為什麼看 Vtuber 而不看真人」之後,從 justin.tv 到 twitch 的直播文化談起,聊偶像與 Vtuber 的距離、我推文化,以及私心小推。
Hacktoberfest 2023 - from a junior engineer perspective
準備 Canonical 面試時,開始認真看待開源貢獻。整理 Hacktoberfest 的參加方式、該避開的事,以及一個工程師能從中期待什麼。
Tlog#2 天文碩士轉職後端工程師
申請英國天文所失敗、結束研究助理之後,一個月內投了 30 份工作、4 場面試、1 個 offer。記下天文碩士轉職後端工程師時,真正派上用場的是哪些能力。
Django + Docker -> Deployment with Nginx, Gunicorn and PostgreSQL
以天文觀測平台 TOM 為例的完整實作教學,從 HTML/CSS 前端、Django 框架的 views、urls、models 開發,到使用 Docker、Gunicorn、Nginx 與 PostgreSQL 將網站部署上線。
Hexo token update
說明 GitHub 廢除帳密驗證後,如何在 Hexo 的 _config 改用 Personal Access Token 部署,並提供 macOS 使用者透過 Keychain 更新金鑰的解法。
Tlog#1
睽違半年的雜談式生活紀錄,回顧當兵後申請國外研究所失利、投入天文研究與觀測網站開發,並聊聊鈴芽之旅、Vtuber 文化與開始學日文的心路歷程。
致陪伴我青春的動畫 86 不存在的戰區
WFH 的漫漫長夜追完 86 不存在的戰區,23 集的觀後感——劇情節奏、戰鬥場面的取捨,以及主角群的心境刻畫為什麼撐起了整部作品。
Shell Script Basics
Shell Script 快速參考筆記,從 Shell 的概念講起,整理 pwd、ls、chmod、find 等常用指令,並涵蓋變數、條件判斷、迴圈、函式與導向運作子等腳本基礎。
Loop
介紹 Python 的 for 與 while 迴圈寫法,並說明 pass、continue、break 的差異,最後以 CS50 馬力歐磚塊作業比較 C 語言的迴圈實作。
致陪伴我青春的動畫 TIGER×DRAGON!
從灼眼的夏娜入坑、高中停止追番,再回頭重溫虎與龍。記下這部作品的 OP/ED、劇情,以及動畫對我這一代人的意義。
Built-in Functions
按字母整理 Python 的 built-in functions,從 abs、all、any 到 breakpoint 的實際用法與範例,當作一份可以隨時翻回來的筆記。
Vim
在別人的電腦或伺服器上,預設就裝好的編輯器最好用。整理 Vim 的開檔存檔、游標移動、組合鍵與 macros,目標是讓沒基礎的人也能快速上手。
MacOS Terminal
從 Homebrew 開始,逐步安裝設定 iTerm2、oh-my-zsh 與 powerlevel10k 主題、字體與配色,打造一個美觀又好用的 macOS 終端機開發環境。
Python Handling Strings
整理 Python 三種字串格式化方式:舊式 % 佔位符、.format() 方法以及 Python 3.6 後的 f-string,並比較各自的用法與可讀性。
從寫Package到打包上傳PYPI
從 setup.py 與 pyproject.toml 的最小結構開始,用 setuptools 打包,先上 TestPyPI 驗證再正式發布到 PyPI 的完整流程。
Github.io個人網站架設
離開 Medium 之後,用 GitHub Pages 加 Hexo 架起自己的部落格。從 Git/GitHub 基礎、GitHub Pages 設定,到一鍵部署與常用指令的紀錄。
成長環境重要嗎?
在彰化的中等家庭長大,高二參加 TYPT 才發現自己活在井裡。關於成長環境的起始條件究竟決定了多少,以及個人的方程式是 delta function 還是 exponential function。