Walle Blog

Welcome to my blog!

在最近專題開發的過程中,我反覆安裝與測試了多次 MicroK8s,期間踩了不少坑,也累積了許多實戰經驗。因此,我決定整理這篇 Blog,讓自己以後部署時可以有一份可直接複製使用的指令手冊,也幫助正在學習 Kubernetes 的朋友少走一些彎路。

本文是基於 MicroK8s 官方文件、Helm、Argo CD Image Updater 等官方說明整合的安裝流程,並修正了常見名詞與設定錯誤,方便直接在 Ubuntu 環境中快速部署高可用 Kubernetes 集群。

閱讀全文 »

前言

在現代軟體開發中,Python 應用的部署一直面臨著多重挑戰:程式碼安全性、執行效能、以及部署複雜度。傳統的解決方案如 PyInstaller 雖然廣泛使用,但在設定複雜度和效能方面仍有不足。

本文將深入探討 Nuitka 編譯器與 Docker 容器化技術的結合,這個創新方案不僅能有效保護程式碼,更能在容器環境中實現驚人的效能提升和部署優化。

閱讀全文 »

前情提要

在準備研究所面試與專題報告時,演算法分析 往往是必考重點。本文彙整了從最基礎的漸進符號定義O, Ω, Θ, o, ω)到空間複雜度遞迴關係、以及Master 定理與其擴展版本的精華內容,並搭配典型範例與 C/C++ 實作要點,助你快速掌握:

  1. 各種 Asymptotic Notation 的嚴謹定義與相互關係
  2. 空間複雜度 分析要點與 C/C++ 參數傳遞差異
  3. 遞迴函式 的展開帶入法與 Master 定理(原始/擴展)
  4. 限定與推導法(Limit Method)、等價證明、Log Method 常見技巧
  5. 典型範例:Selection Sort、階乘、遞迴和遞迴樹、Stirling 公式等

無論你是研究所考生、面試準備者,或想系統複習演算法理論的工程師,這篇筆記都能提供一個清晰、一站式的參考架構。讓我們從基本概念出發,一步步深入最核心、最實用的分析技巧!

閱讀全文 »

使用 Git Worktree 提高開發效率與維持線性 Commit Log

最近在專案開發中,我發現自己經常遇到這些問題:

  • 修 Bug 時要來回切換分支,結果 stashstash 去,不小心還搞丟了一些變更。
  • 切換分支之後還要等一堆 npm install 或是 docker-compose up,光是環境準備就花掉大半時間。
  • git log 變得又亂又複雜,充滿 merge commit,視覺污染嚴重。

結果後來發現 Git Worktree 這個超級好用的工具,讓我可以同時開多個分支開發,完全不用 stash,而且還能維持漂亮的 Git 歷史!

這篇文章我會用比較口語的方式來介紹 Hotfix + Worktree 的 Git 流程,讓你開發更順、commit log 更乾淨!🚀

閱讀全文 »

LazyVim 和 Oh My Tmux 設定過程

我嘗試了一些方式安裝 Neovim,大部分找到的都偏複雜, 後來我覺得直接用 LazyVim 安裝最快了,然後搭配 tmux 感覺就是工作效率翻倍, 但是我覺得還是要熟悉 Vim 才會有這樣的感覺,然後搭配著 Tmux 的功能讓頁面可以快速切換, 總體來說我覺得這樣的搭配也算好用。

閱讀全文 »

前情提要

這篇文章主要探討了 死結管理(Deadlock Management) 的核心概念與解決方法。今天的內容涵蓋了死結的定義、發生條件,以及處理死結的不同方法,包括 預防(Prevention)、避免(Avoidance) 和 檢測與恢復(Detection and Recovery)。此外,還詳細介紹了 Banker’s Algorithm 和 資源分配圖(Resource-Allocation Graph) 的應用,以及如何選擇適當策略來處理系統中的死結問題,希望透過這篇文章幫助讀者全面了解死結管理的理論基礎與實務應用。

閱讀全文 »

前情提要

這篇文章深入探討了 競爭條件(Race Condition) 與 同步(Synchronization) 在操作系統進程管理中的核心概念。從基本的臨界區問題(Critical-Section Problem)出發,逐步介紹了解決該問題的各種方法,包括硬體支持(如 Test-and-Set 和 Compare-and-Swap)、軟體解法(如 Peterson’s Solution)、互斥鎖(Mutex Lock)以及信號量(Semaphore)的應用。

閱讀全文 »

前情提要

這篇文章主要整理了 ISO 27001 標準中第四至第六章的內容,涵蓋了組織全景、領導與規劃三大主題。今天的重點包括如何了解內外部情境、關注方需求與期望,以及確定資訊安全管理系統(ISMS)的範圍;同時也深入探討了高層管理階層在資訊安全中的角色與承諾,並說明了風險評鑒與目標規劃的具體步驟,這些內容為組織建立有效的 ISMS 提供了全面的指引。

閱讀全文 »

前情提要

這篇文章詳細介紹了 Kubernetes(K8s) 中的核心概念之一 —— Pod,包括它的定義、生命週期、資源管理與限制,以及相關操作指令。Pod 是 K8s 中創建和管理的最小單位,文章重點說明了 Pod 的組成、運行邏輯,以及如何在 K8s 中部署應用程式。同時還提供了配置 Pod 資源限制的範例 YAML 文件與實操步驟,並總結了一些常用的 kubectl 指令,幫助讀者更好地理解和運用 Pod 的功能。

閱讀全文 »

簡介

DOMjudge 是一個開源的程式設計競賽管理系統,通常用於各類程式設計競賽,例如 ACM ICPC。本篇文章將介紹如何透過自動化 Shell 腳本來在 Ubuntu 系統上安裝 DOMjudge 競賽系統。我們會逐步解釋每個步驟,幫助讀者了解整個過程的每一個細節。

閱讀全文 »
0%