<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-TW"><id>https://codingman.cc/</id><title>CodingMan.cc</title><updated>2026-04-17T22:33:40.647242+00:00</updated><author><name>CodingMan</name></author><link href="https://codingman.cc/" rel="alternate"/><generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator><subtitle>his technical blog is called CodingMan.cc, which is written by CodingMan.</subtitle><entry><id>https://codingman.cc/pip-install-editable-mode</id><title>Python 開發者的「可編輯模式」神技 - pip install -e</title><updated>2026-04-04T12:26:58+08:00</updated><link href="https://codingman.cc/pip-install-editable-mode"/><summary>Python 開發者的「可編輯模式」神技 - pip install -e</summary><published>2026-04-04T12:26:58+08:00</published></entry><entry><id>https://codingman.cc/competitive-rating-systems-elo-to-trueskill</id><title>競技對戰評分系統：從 Elo 及其進化版演算法深度解析</title><updated>2026-03-28T14:30:00+08:00</updated><link href="https://codingman.cc/competitive-rating-systems-elo-to-trueskill"/><summary>在競技遊戲（Esports）與棋類比賽中，如何精確測量玩家的「真實實力」是一門結合統計學與心理學的深奧學問。最經典的 Elo 系統雖然奠定了基礎，但在現代遊戲複雜的環境下（如玩家長時間未玩、多人團戰等），它顯得有些力不從心。

本文將帶你走過評分系統的進化史，從 Elo 到 Glicko，再到微軟的 TrueSkill，最後解析現代遊戲常見的 MMR 雙軌制實作邏輯。</summary><published>2026-03-28T14:30:00+08:00</published></entry><entry><id>https://codingman.cc/vscinemas-skill</id><title>威秀影城場次規劃神器：vscinemas-skill 介紹</title><updated>2026-03-28T14:00:00+08:00</updated><link href="https://codingman.cc/vscinemas-skill"/><summary>想要連看兩部電影卻算不準交通時間？或者想在 IMAX 與 4DX 之間快速比較場次？
排電影行程不該這麼燒腦。

今天來介紹一個專為 Claude Code 開發的開源工具 [vscinemas-skill](https://github.com/PttCodingMan/vscinemas-skill)，
它能讓你直接在終端機查詢威秀影城場次，並以視覺化時間軸呈現多部電影的組合，讓觀影計畫一目了然。</summary><published>2026-03-28T14:00:00+08:00</published></entry><entry><id>https://codingman.cc/coolpc-skill</id><title>原價屋組電腦的神助手：coolpc-skill 介紹</title><updated>2026-03-28T10:00:00+08:00</updated><link href="https://codingman.cc/coolpc-skill"/><summary>在 DIY 電腦玩家的世界裡，「原價屋」估價單是每位玩家配單、比價的必經之地。
然而，面對琳瑯滿目的零件與跳動的價格，如何快速找出預算內的最佳組合總是非常耗時。

今天來介紹一個開源工具 [coolpc-skill](https://github.com/PttCodingMan/coolpc-skill)，
它是一個專為 Claude Code 設計的 Skill，能直接抓取 **原價屋** 的即時商品與價格，
協助你在對話中快速討論預算、挑選零件，甚至自動完成網頁填單。</summary><published>2026-03-28T10:00:00+08:00</published></entry><entry><id>https://codingman.cc/tsmc-resume-matcher</id><title>用 AI 幫你配對台積電職缺：tsmc-resume-matcher 介紹</title><updated>2026-03-22T12:00:00+08:00</updated><link href="https://codingman.cc/tsmc-resume-matcher"/><summary>找工作最令人困擾的，莫過於投出去的履歷石沉大海。
有時候不是你不夠強，而是你的履歷跟職缺的契合度沒有被充分呈現。

今天來介紹一個開源工具 [tsmc-resume-matcher](https://github.com/PttCodingMan/tsmc-resume-matcher)，
它是一個以 **台積電** 招募職缺為主要目標的 Claude Code Skill，
能利用 AI 分析你的履歷與台積電職缺的配對程度，並給出量化分數與具體改進建議。</summary><published>2026-03-22T12:00:00+08:00</published></entry><entry><id>https://codingman.cc/python-async-await-intro</id><title>Python：手把手教你 async 與 await</title><updated>2026-03-07T14:30:00+08:00</updated><link href="https://codingman.cc/python-async-await-intro"/><summary>Python：手把手教你 async 與 await</summary><published>2026-03-07T14:30:00+08:00</published></entry><entry><id>https://codingman.cc/how-to-improve-network-quality-x-twitter-video</id><title>如何改善網路品質 - X/推特 影片</title><updated>2026-02-08T10:59:44+08:00</updated><link href="https://codingman.cc/how-to-improve-network-quality-x-twitter-video"/><summary>你是否遇過這種情況：家中的中華電信 300M/500M 甚至 1G 光纖，測速時數據非常漂亮，但打開手機 Twitter (X) 看影片時卻一直轉圈圈，反而切換到行動網路 5G 就瞬間流暢？

這次我試圖針對 RouterOS (MikroTik) 進行了一次優化。這不僅僅是「改改設定」，更是一次從 **解析 (L7)、傳輸 (L4) 到安全性協定** 三個面向的「網路底層重構」。以下是核心邏輯與設定摘要。

&gt; 此次結果為個人嘗試結果，實測有可見的改善，也可能因為各種外在因素而無法改善你的情況，請見諒。</summary><published>2026-02-08T10:59:44+08:00</published></entry><entry><id>https://codingman.cc/devops-yaml-merge-tool</id><title>DevOps - 如何使用 Python 合併 YAML</title><updated>2025-11-28T22:53:26+08:00</updated><link href="https://codingman.cc/devops-yaml-merge-tool"/><summary>在 Kubernetes 的世界中，**Helm** 是最主流的套件管理工具。而在 Helm Chart 中，`values.yaml` 扮演著靈魂角色，定義了所有部署參數的預設值（Default Values）。

然而，隨著環境變多（`dev`, `stag`, `prod`），我們經常面臨一個挑戰：**如何有效管理不同環境的差異？**</summary><published>2025-11-28T22:53:26+08:00</published></entry><entry><id>https://codingman.cc/simple-encrypted-chat-tools</id><title>簡單好用的加密聊天工具</title><updated>2025-11-12T21:25:00+08:00</updated><link href="https://codingman.cc/simple-encrypted-chat-tools"/><summary>簡單好用的加密聊天工具</summary><published>2025-11-12T21:25:00+08:00</published></entry><entry><id>https://codingman.cc/interview-with-tsmc</id><title>面試心得 - 台積電</title><updated>2025-08-06T15:53:11+08:00</updated><link href="https://codingman.cc/interview-with-tsmc"/><summary>背景：私大資工系延畢兩年，彰師大數學所畢業，有十年工作經驗，喜歡開放原始碼與寫部落格 😀

睽違兩年，再度接到了來自台積電的面試邀請。2023 年那次因為家庭因素中止，這次很幸運終於可以跑完所有流程。

這次挑戰的依然是軟體工程師職缺 (我也只會這個 😆)，底下就來分享一下這次的闖關心得。</summary><published>2025-08-06T15:53:11+08:00</published></entry><entry><id>https://codingman.cc/pkcs11-otp-standard</id><title>PKCS#11 OTP - 硬體安全模組中的一次性密碼標準</title><updated>2025-07-31T16:21:14+08:00</updated><link href="https://codingman.cc/pkcs11-otp-standard"/><summary>在數位安全的領域中，雙因素認證（Two-Factor Authentication, 2FA）已成為保護帳戶和敏感資料的基礎。

其中，一次性密碼（One-Time Password, OTP）是最常見的實現方式之一。為了將這種強大的認證機制標準化並整合到硬體安全模組（HSM）和智慧卡等加密設備中，PKCS#11 標準引入了對 OTP 的支援。本文將根據相關技術文件，深入探討 PKCS#11 OTP 的核心概念、運作機制及其重要性。

本文將探討 PKCS#11 中 OTP 的整合，並介紹其核心運作機制。</summary><published>2025-07-31T16:21:14+08:00</published></entry><entry><id>https://codingman.cc/ffx-mode-encryption</id><title>FFX 模式 - 保留格式的加密技術</title><updated>2025-07-31T15:44:33+08:00</updated><link href="https://codingman.cc/ffx-mode-encryption"/><summary>在資訊安全的領域中，資料加密是保護敏感資訊的關鍵手段。然而，傳統的加密方法通常會改變資料的原始格式與長度，這在許多既有系統中可能會引發問題，例如資料庫欄位長度不符、或是無法通過格式檢驗。  

為了解決這個問題，「保留格式加密」（Format Preserving Encryption, FPE）技術應運而生，而 **FFX 模式**正是實現 FPE 的一種重要框架。

本文將探討 FFX 模式的核心概念、運作原理，以及其在現代資訊安全中的應用。</summary><published>2025-07-31T15:44:33+08:00</published></entry><entry><id>https://codingman.cc/radius</id><title>RADIUS - 網路存取的守門員</title><updated>2025-07-24T17:42:30+08:00</updated><link href="https://codingman.cc/radius"/><summary>在現今複雜的網路環境中，如何有效且安全地管理使用者的存取權限，是一項至關重要的任務。RADIUS (Remote Authentication Dial In User Service)，中文全名為「遠端使用者撥入驗證服務」，就是為此而生的關鍵協定。它提供了一個集中式的管理框架，確保只有合法的用戶才能存取網路資源。

本文將探討 RADIUS 的起源、核心概念、運作架構以及安全性考量，幫助您更深入地了解這個在網路安全領域中扮演重要角色的協定。</summary><published>2025-07-24T17:42:30+08:00</published></entry><entry><id>https://codingman.cc/kerberos-authentication-protocol</id><title>Kerberos - 網路身分驗證協定</title><updated>2025-07-24T16:00:25+08:00</updated><link href="https://codingman.cc/kerberos-authentication-protocol"/><summary>在現今複雜的網路環境中，如何安全地驗證使用者身分並授權其存取網路資源，是一項至關重要的課題。**Kerberos** 協定，作為一個成熟且強大的解決方案，被廣泛應用於各種分散式系統中，提供了強固的身分驗證機制。

本文將探討 Kerberos 的起源、核心元件、驗證流程以及其在現代網路安全中的重要性。</summary><published>2025-07-24T16:00:25+08:00</published></entry><entry><id>https://codingman.cc/cryptography-x509-time-stamp</id><title>密碼學 - X.509 Time Stamp</title><updated>2025-07-22T15:07:18+08:00</updated><link href="https://codingman.cc/cryptography-x509-time-stamp"/><summary>在資訊安全的世界中，如何證明一份文件、一筆交易紀錄或一個數位簽章在某個特定時間點就已經存在，是一個至關重要的問題。  
X.509 時戳協定（Time Stamp Protocol, TSP）為此提供了標準化的解決方案，其核心目的在於建立資料在特定時間之前就已存在的證據。

本文將探討 X.509 時戳的核心概念、運作流程以及其在資訊安全中的應用。</summary><published>2025-07-22T15:07:18+08:00</published></entry><entry><id>https://codingman.cc/cryptography-pkcs11-key-agreement</id><title>密碼學 - PKCS#11 Key Agreement</title><updated>2025-07-22T11:07:44+08:00</updated><link href="https://codingman.cc/cryptography-pkcs11-key-agreement"/><summary>PKCS#11 是一套由 RSA Laboratories 發布的標準化密碼學權杖介面（Cryptographic Token Interface Standard），現由 OASIS 組織維護。它旨在提供一個通用的應用程式介面（API），讓軟體應用程式能夠與各種密碼學硬體（如硬體安全模組 HSM、智慧卡）進行互動，而無需關心底層硬體的實作細節。

在眾多功能中，金鑰協議（Key Agreement）是一個核心的安全操作，它允許多個參與方基於各自的私鑰與對方的公鑰，在不安全的通道上安全地協商並產生一個共享的秘密金鑰。這個共享金鑰後續可用於對稱加密、訊息驗證碼（MAC）的產生等操作。

本文將探討 PKCS#11 中的金鑰協議機制，特別是如何使用 C_DeriveKey 函式來實現金鑰派生，以及相關的機制參數設定。</summary><published>2025-07-22T11:07:44+08:00</published></entry><entry><id>https://codingman.cc/cryptography-galois-counter-mode</id><title>密碼學 - Galois Counter Mode</title><updated>2025-07-21T16:10:30+08:00</updated><link href="https://codingman.cc/cryptography-galois-counter-mode"/><summary>在資訊安全的領域中，我們不僅僅需要保護資料的「機密性」，確保只有授權方能讀取；同時也需要保證資料的「完整性」與「真實性」，確保資料在傳輸或儲存過程中未被竄改。Galois Counter Mode (GCM) 是一種先進的區塊加密模式，它能一併滿足這三大需求，提供所謂的「認證加密」(Authenticated Encryption)。

本文將介紹 GCM 的歷史背景、核心組成、運作原理以及其在現代密碼學中的重要性。</summary><published>2025-07-21T16:10:30+08:00</published></entry><entry><id>https://codingman.cc/key-length-and-brute-force</id><title>金鑰長度與暴力破解</title><updated>2025-07-21T12:39:54+08:00</updated><link href="https://codingman.cc/key-length-and-brute-force"/><summary>在數位世界中，從登入密碼到網路銀行的加密連線，我們無時無刻不依賴「密碼學」來保護資訊安全。然而，有矛必有盾，一種最古老、最直接的攻擊手法至今仍然是資安領域的一大威脅——那就是**暴力破解攻擊 (Brute Force Attack)**。

本文將深入探討暴力破解的原理，以及為何「金鑰長度」(Key Length) 是抵禦這種攻擊最核心的關鍵。</summary><published>2025-07-21T12:39:54+08:00</published></entry><entry><id>https://codingman.cc/cryptography-wrap-algorithms</id><title>密碼學 - Wrap Algorithms</title><updated>2025-07-21T11:41:30+08:00</updated><link href="https://codingman.cc/cryptography-wrap-algorithms"/><summary>在資訊安全的領域中，金鑰（Key）的管理是確保資料機密性與完整性的核心。然而，金鑰本身也需要被保護，尤其是在傳輸或儲存於不安全的環境中時。這就是「Wrap Algorithms」發揮作用的地方。

本文將深入淺出地介紹什麼是 Wrap Algorithms、其運作原理以及在密碼學標準中的應用。</summary><published>2025-07-21T11:41:30+08:00</published></entry><entry><id>https://codingman.cc/cryptography-pfx</id><title>密碼學 - PFX</title><updated>2025-07-21T11:26:38+08:00</updated><link href="https://codingman.cc/cryptography-pfx"/><summary>在資訊安全的領域中，如何安全地儲存與交換數位憑證及私密金鑰，始終是一個核心議題。

PFX (Personal Information Exchange Syntax)，也常被稱為 PKCS#12，正是一種為了解決此問題而生的標準化檔案格式。無論您是網站管理員、開發人員，或只是對網路安全感興趣，了解 PFX 都是至關重要的一環。</summary><published>2025-07-21T11:26:38+08:00</published></entry><entry><id>https://codingman.cc/pkcs5-pbkdf-from-password-to-secure-key</id><title>PKCS#5 PBKDF：從密碼中提煉安全的金鑰</title><updated>2025-07-18T16:53:40+08:00</updated><link href="https://codingman.cc/pkcs5-pbkdf-from-password-to-secure-key"/><summary>在資訊安全的領域中，如何將使用者容易記憶的密碼，轉換為加密演算法所需的安全金鑰，是一項重要的課題。為此，PKCS#5 標準定義了基於密碼的金鑰派生函數（Password-Based Key Derivation Function, PBKDF），旨在從一個密碼中安全地產生金鑰。

PBKDF 屬於金鑰派生函數（Key Derivation Function, KDF）的一種。其核心目的，是透過一系列的運算，將相對不安全的密碼，轉換成具備足夠安全強度的金鑰，以抵禦暴力破解等攻擊手段。目前，業界廣泛使用的是 PBKDF2，而其前身 PBKDF1 已不再建議使用。

本文將探討 PBKDF2 的運作原理、與 PBKDF1 的差異，以及其在現代密碼學中的應用。</summary><published>2025-07-18T16:53:40+08:00</published></entry><entry><id>https://codingman.cc/hmac</id><title>HMAC - 訊息完整性與身份驗證</title><updated>2025-07-18T15:24:16+08:00</updated><link href="https://codingman.cc/hmac"/><summary>在資訊安全的領域中，確保資料在傳輸過程中未被竄改（完整性）以及確認訊息來源的真實性（身份驗證）是至關重要的課題。訊息鑑別碼 (Message Authentication Code, MAC) 正是為此而生的技術，而其中，HMAC (Hash-based Message Authentication Code) 則是最廣泛應用且安全可靠的一種實現方式。

本文將探討 HMAC 的核心概念、運作原理，以及如何在 Python 中實作 HMAC，讓您能夠輕鬆地為您的應用程式增添訊息完整性與身份驗證的保障。</summary><published>2025-07-18T15:24:16+08:00</published></entry><entry><id>https://codingman.cc/cryptography-dsa</id><title>密碼學 - DSA</title><updated>2025-07-17T13:50:22+08:00</updated><link href="https://codingman.cc/cryptography-dsa"/><summary>數位簽章演算法（Digital Signature Algorithm, DSA）是廣泛應用的非對稱金鑰加密技術，主要用於資料的數位簽章，確保訊息的完整性、來源的真實性以及不可否認性。

本文將探討 DSA 的歷史、運作原理、優缺點、相關變形，並提供一個 Python 實作範例。</summary><published>2025-07-17T13:50:22+08:00</published></entry><entry><id>https://codingman.cc/cryptography-ecc</id><title>密碼學 - 橢圓曲線密碼學(ECC)</title><updated>2025-07-16T16:05:24+08:00</updated><link href="https://codingman.cc/cryptography-ecc"/><summary>在當今資訊安全的世界中，資訊安全至關重要。橢圓曲線密碼學 (Elliptic Curve Cryptography, ECC) 作為一種現代化的公鑰加密技術，憑藉其高效率和高安全性的優點，已廣泛應用於網頁加密 (HTTPS)、數位簽章、虛擬貨幣（如比特幣）等領域。

本文將深入淺出地介紹 ECC 的歷史、數學原理、金鑰交換機制，並透過 Python 範例實際演練。</summary><published>2025-07-16T16:05:24+08:00</published></entry><entry><id>https://codingman.cc/pkcs10-your-digital-identity-certificate-request</id><title>PKCS#10 - 您的數位身分證申請書</title><updated>2025-07-14T15:29:15+08:00</updated><link href="https://codingman.cc/pkcs10-your-digital-identity-certificate-request"/><summary>在現今的網路世界裡，無論是網路購物、線上銀行，還是企業間的資料交換，我們都需要一個可靠的方式來證明「我就是我」，就像在現實生活中我們使用身分證一樣。若沒有一個可信的身份驗證機制，詐騙和假冒行為將層出不窮。

為了解決這個問題，我們需要一張「數位身分證」（也就是數位憑證）。而獲取這張憑證的第一步，就是填寫一份標準化的申請書。這份申請書，就是我們今天的主角——**PKCS#10**。</summary><published>2025-07-14T15:29:15+08:00</published></entry><entry><id>https://codingman.cc/diffie-hellman-key-exchange</id><title>密碼學 - Diffie-Hellman 金鑰交換演算法</title><updated>2025-07-14T14:27:57+08:00</updated><link href="https://codingman.cc/diffie-hellman-key-exchange"/><summary>在網際網路的世界裡，當兩個人（或兩台電腦）需要安全地通訊時，他們通常會使用加密技術。但問題來了：如果他們從未見過面，要如何商定一個只有他們兩人知道的加密金鑰，而又不讓竊聽者知道呢？這就是「Diffie-Hellman 金鑰交換」演算法要解決的核心問題。

Diffie-Hellman 演算法於 1976 年由 Whitfield Diffie 和 Martin Hellman 發表，是第一個實際應用的非對稱金鑰加密範例。它允許兩個從未謀面的通訊方，在一個完全公開、可能被竊聽的通訊渠道中，建立一個共享的秘密金鑰。

本文將探討 Diffie-Hellman 演算法的核心思想、運作原理，以及如何在 Python 中實作這個演算法。</summary><published>2025-07-14T14:27:57+08:00</published></entry><entry><id>https://codingman.cc/meshtastic-why-you-should-not-use-router-mode</id><title>Meshtastic - 為什麼你不應該使用 ROUTER 模式</title><updated>2025-07-13T11:44:56+08:00</updated><link href="https://codingman.cc/meshtastic-why-you-should-not-use-router-mode"/><summary>在使用 Meshtastic 建構無線通訊網路時，許多人直覺地認為，將位於制高點或訊號良好的節點設定為 `ROUTER` (路由器) 模式，是擴展網路覆蓋範圍的最佳方法。
然而，這個看似合理的設定，在未經協調的情況下，反而會因為 Meshtastic 精心設計的核心傳輸機制，導致訊息傳播效率低下，甚至形成訊號障礙。</summary><published>2025-07-13T11:44:56+08:00</published></entry><entry><id>https://codingman.cc/pkix-certificate-validation-and-crl</id><title>密碼學 - 解析 PKIX 憑證驗證與 CRL</title><updated>2025-07-03T17:46:16+08:00</updated><link href="https://codingman.cc/pkix-certificate-validation-and-crl"/><summary>在現今的數位世界中，公開金鑰基礎建設（Public Key Infrastructure, PKI）是網路安全與信任的基石。其核心概念是利用數位憑證，將一個公鑰與特定實體（如個人、網站或公司）的身份綁定在一起。
然而，我們如何能確保一份宣稱有效的憑證及其中的公鑰是真實且值得信賴的？

答案就在於一套嚴謹的驗證流程（PKIX）與一個必要的作廢機制（CRL）。</summary><published>2025-07-03T17:46:16+08:00</published></entry><entry><id>https://codingman.cc/cryptography-signeddata-envelopeddata</id><title>密碼學 - SignedData 與 EnvelopedData</title><updated>2025-07-03T17:02:21+08:00</updated><link href="https://codingman.cc/cryptography-signeddata-envelopeddata"/><summary>在數位資訊交換的時代，如何確保訊息的「完整性」、「來源可信度」以及「機密性」是至關重要的課題。公開金鑰基礎建設（PKI）中的密碼學訊息語法（Cryptographic Message Syntax, CMS），其前身為 PKCS#7 標準，定義了多種資料保護的結構，其中 SignedData 和 EnvelopedData 是兩個最核心也最常被應用的概念。</summary><published>2025-07-03T17:02:21+08:00</published></entry><entry><id>https://codingman.cc/quantum-cryptography-leighton-micali-signature</id><title>量子密碼學 - Leighton-Micali Signature 簽章</title><updated>2025-06-16T13:52:26+08:00</updated><link href="https://codingman.cc/quantum-cryptography-leighton-micali-signature"/><summary>在資訊安全的廣闊世界中，「LMS」是一個關鍵字，它代表著 **Leighton-Micali Signature**。這不僅僅是另一個加密演算法，更是我們應對未來「量子威脅」的一道重要防線。當強大的量子電腦問世，現今多數加密系統（如 RSA、ECC）將變得脆弱不堪，而 LMS 這類「後量子密碼學」(Post-Quantum Cryptography, PQC) 的設計，正是為了確保我們的數位世界在那個時代依然安全。

本文將簡單扼要的說明 LMS 的運作原理。</summary><published>2025-06-16T13:52:26+08:00</published></entry><entry><id>https://codingman.cc/iperf3-network-performance-testing-tool</id><title>iperf3 網路效能測試工具</title><updated>2025-06-05T09:30:42+08:00</updated><link href="https://codingman.cc/iperf3-network-performance-testing-tool"/><summary>iperf3 是一款強大的開源網路效能測試工具，廣泛用於測量 IP 網路上的最大可達到頻寬。

最近在建置跨地區的 K8s 叢集時，剛好有機會需要驗證公司內部的專線品質，所以就使用 iperf3 進行測試、評估網路狀態與效能。

本篇文章將教學 iperf3 的基本使用方法、常見參數以及如何在不同環境中進行測試。</summary><published>2025-06-05T09:30:42+08:00</published></entry><entry><id>https://codingman.cc/ldap-introduction</id><title>LDAP 簡介</title><updated>2025-05-20T16:59:49+08:00</updated><link href="https://codingman.cc/ldap-introduction"/><summary>輕量級目錄存取協定 (Lightweight Directory Access Protocol, LDAP) 是一種用於存取和維護分散式目錄資訊服務的應用層協定。

簡單來說，LDAP 提供了一種標準化的方式來查詢和修改網路目錄中的資訊，例如使用者帳號、群組、組織單位、以及其他網路資源的設定。由於其高效和靈活性，LDAP 已成為企業和組織中進行身份驗證、授權和資訊搜尋的核心組件。

本文將簡要介紹 LDAP 的歷史演進、核心概念，以及其在登入驗證中的應用。</summary><published>2025-05-20T16:59:49+08:00</published></entry><entry><id>https://codingman.cc/python-dotenv</id><title>Python - dotenv 教學</title><updated>2025-04-18T09:57:14+08:00</updated><link href="https://codingman.cc/python-dotenv"/><summary>在開發 Python 應用程式時，我們經常需要處理一些敏感資訊或設定值，例如 API 金鑰、資料庫密碼、或是不同部署環境（開發、測試、生產）的特定設定。將這些資訊直接寫在程式碼中不僅不安全，也難以管理。
這時候，`python-dotenv` 這個函式庫就能派上用場了！</summary><published>2025-04-18T09:57:14+08:00</published></entry><entry><id>https://codingman.cc/python-10-is-10-vs-500-is-500</id><title>Python - 10 is 10 vs 500 is 500</title><updated>2025-04-11T15:46:09+08:00</updated><link href="https://codingman.cc/python-10-is-10-vs-500-is-500"/><summary>在使用 Python 進行程式設計時，可能會觀察到一種特殊的現象：對於特定範圍內的整數，使用 `is` 運算子比較兩個賦予相同值的變數會返回 `True`，而超出該範圍的整數則返回 `False`。

具體示例如下：

```pycon
&gt;&gt;&gt; a = 10  
&gt;&gt;&gt; b = 10  
&gt;&gt;&gt; a is b  
True  # 嗯，合理！

&gt;&gt;&gt; x = 500  
&gt;&gt;&gt; y = 500  
&gt;&gt;&gt; x is y  
False # WTF？？？
```

當變數 `a` 與 `b` 均被賦值為 `10` 時，`a is b` 的評估結果為 `True`。然而，當變數 `x` 與 `y` 被賦值為 `500` 時，`x is y` 的評估結果卻為 `False`，儘管其值相等。此現象並非程式錯誤，而是源於 Python 內部的一種**最佳化機制**。

本文將扼要地闡釋此最佳化機制背後的原理。</summary><published>2025-04-11T15:46:09+08:00</published></entry><entry><id>https://codingman.cc/ssh-key-management</id><title>SSH key - 從產生、設定到撤銷</title><updated>2025-04-07T21:15:58+08:00</updated><link href="https://codingman.cc/ssh-key-management"/><summary>SSH (Secure Shell) 是我們遠端連線到伺服器的常用工具。相較於每次都輸入密碼，使用 SSH 金鑰對（Key Pair）不僅更安全，也更方便。
這篇文章將引導你完成 SSH 金鑰的產生、將公鑰複製到目標電腦、設定 SSH Config 以簡化連線，以及在金鑰外洩時如何撤銷它。</summary><published>2025-04-07T21:15:58+08:00</published></entry><entry><id>https://codingman.cc/python-publish-to-twitter</id><title>如何使用 Python 發佈文章到 X/Twitter</title><updated>2025-03-13T15:29:05+08:00</updated><link href="https://codingman.cc/python-publish-to-twitter"/><summary>在現今社交媒體時代，許多內容都可以自動化的產生，再搭配自動化發佈則可以為我們節省大量時間。

本文將介紹如何使用 Python 發布文章到 X/Twitter (以下簡稱為 Twitter~~，完全沒有要叫 X 的意思~~)，讓各位可以自由地串接自己的內容。</summary><published>2025-03-13T15:29:05+08:00</published></entry><entry><id>https://codingman.cc/cryptography-pkcs-7</id><title>密碼學 - PKCS#7</title><updated>2025-03-03T21:14:01+08:00</updated><link href="https://codingman.cc/cryptography-pkcs-7"/><summary>在現代，安全通訊是至關重要的，無論是傳送敏感資訊還是驗證網站的真實性，密碼學都扮演著核心角色。其中，PKCS#7（Public-Key Cryptography Standard #7）是一項關鍵標準，定義了如何格式化已簽章或加密的資料。

本文將深入探討 PKCS#7 的功能、運作方式和實際應用，適合對密碼學有基本了解但不熟悉技術細節的讀者。</summary><published>2025-03-03T21:14:01+08:00</published></entry><entry><id>https://codingman.cc/docker-containerization-technology-and-its-principle</id><title>Docker 容器化技術及其原理</title><updated>2025-03-02T19:36:11+08:00</updated><link href="https://codingman.cc/docker-containerization-technology-and-its-principle"/><summary>在現代軟體開發領域，容器化技術已成為構建、部署和運行應用程式的標準方法。
如果你是即將投入後端相關技術的工程師，了解 Docker 及其底層原理可以在未來的職業生涯中創造競爭優勢。

本文將探討 Docker 的核心概念、底層技術原理以及與傳統虛擬化技術的本質差異。</summary><published>2025-03-02T19:36:11+08:00</published></entry><entry><id>https://codingman.cc/padding</id><title>Padding - 加密中的填充機制</title><updated>2024-12-22T22:10:45+08:00</updated><link href="https://codingman.cc/padding"/><summary>想像你正在寄送一箱珍貴的瓷器。為了確保瓷器在運輸過程中的安全，你會用泡棉或其他緩衝材料填滿箱子的空隙。在資料加密的世界裡，Padding（填充）就扮演著類似的角色。

現代加密系統就像一個標準化的包裝箱，它要求所有要加密的資料都必須是固定大小的區塊。然而，現實世界中的資料就像各種不同大小的物品，很少剛好符合這個固定大小。這時候，我們就需要填充機制來補足這些空缺。

本文將介紹不同的填充機制，讓你了解如何在加密中使用Padding，以確保資料的完整性和安全性。</summary><published>2024-12-22T22:10:45+08:00</published></entry><entry><id>https://codingman.cc/powersort-python-built-in-sorting-algorithm</id><title>PowerSort - Python 內建排序法</title><updated>2024-12-10T10:11:25+08:00</updated><link href="https://codingman.cc/powersort-python-built-in-sorting-algorithm"/><summary>在 Python 3.11 版本中，Python 的內建排序演算法從 Timsort 改為 PowerSort 作為預設的 `list.sort()` 演算法。

而 Python 的參考實作 CPython 以及注重即時編譯的 PyPy 都採用了 PowerSort 作為其預設的排序演算法。表示這個改變是 Python 在排序演算法最佳化方面的重要進展。

本文將介紹 PowerSort 的核心概念，以及採用它的原因。</summary><published>2024-12-10T10:11:25+08:00</published></entry><entry><id>https://codingman.cc/cryptography-aes</id><title>密碼學 - AES</title><updated>2024-12-06T18:08:33+08:00</updated><link href="https://codingman.cc/cryptography-aes"/><summary>AES (Advanced Encryption Standard) 是目前最廣泛使用的對稱式加密演算法。
在 2001 年由美國國家標準與技術研究院(NIST)正式採用，取代了先前的 DES (Data Encryption Standard)，特點是安全性高、運算效率好，且適合硬體實作。

本文將介紹 AES 的基本概念和運作原理，以及在網路安全中的應用。</summary><published>2024-12-06T18:08:33+08:00</published></entry><entry><id>https://codingman.cc/random-number</id><title>什麼是隨機亂數</title><updated>2024-11-25T13:59:55+08:00</updated><link href="https://codingman.cc/random-number"/><summary>在資訊安全與應用統計的世界中，隨機亂數的產生與使用是非常重要的一部分，無論是在模擬實驗、密碼學、統計抽樣還是機器學習等領域，都需要高品質的亂數來確保研究結果的可靠性。

本文將講解什麼是隨機亂數、如何產生隨機亂數、以及如何使用隨機亂數來驗證研究結果的可靠性。</summary><published>2024-11-25T13:59:55+08:00</published></entry><entry><id>https://codingman.cc/cryptography-rc4</id><title>密碼學 - RC4</title><updated>2024-11-04T10:29:42+08:00</updated><link href="https://codingman.cc/cryptography-rc4"/><summary>RC4 是 Ron Rivest 於 1987 年設計的串流加密演算法，在早期因其計算效率和簡單實作而成為資料加密的熱門選擇。然而，由於其安全弱點，RC4 已經逐漸淡出大眾的視野。

本文將介紹 RC4 的基本概念和原理，幫助各位更好地理解這個重要的密碼學里程碑。</summary><published>2024-11-04T10:29:42+08:00</published></entry><entry><id>https://codingman.cc/what-is-hash-function</id><title>密碼學 - 雜湊函數</title><updated>2024-10-13T21:57:02+08:00</updated><link href="https://codingman.cc/what-is-hash-function"/><summary>密碼學 - 雜湊函數</summary><published>2024-10-13T21:57:02+08:00</published></entry><entry><id>https://codingman.cc/what-is-pki</id><title>公開金鑰基礎建設（PKI）：數位世界的安全基石</title><updated>2024-10-12T22:32:00+08:00</updated><link href="https://codingman.cc/what-is-pki"/><summary>在現代數位世界中，資訊安全已經成為不可或缺的重要議題，而 PKI（Public Key Infrastructure，公開金鑰基礎建設）是保障資訊安全的重要基石之一。PKI 是一套基礎設施，用來建立、管理、分發、使用、儲存和撤銷數位證書，以實現加密通訊和身份驗證。這項技術廣泛應用於各種網路服務，包括電子郵件加密、網站 HTTPS 安全連線、電子簽章等。PKI 的存在，使得我們能夠在充滿風險的網路環境中建立起信任的橋樑，並保證資料在傳輸過程中的安全性和完整性。</summary><published>2024-10-12T22:32:00+08:00</published></entry><entry><id>https://codingman.cc/pkcs-11-session-and-object</id><title>PKCS#11 - 物件與連線</title><updated>2024-10-11T21:59:42+08:00</updated><link href="https://codingman.cc/pkcs-11-session-and-object"/><summary>PKCS#11 是一個應用程式介面標準，用於存取硬體安全模組（HSM）或智慧卡等加密裝置。它提供了一個通用的框架，允許應用程式與各種加密裝置互動。

在這篇文章中，我們將深入探討 PKCS#11 中的兩個核心管理功能：Session 管理與 Object 管理。對這些概念的深入理解，對於有效地操作安全模組以及開發安全應用程式至關重要，尤其是在現代分佈式系統和高安全性應用中。</summary><published>2024-10-11T21:59:42+08:00</published></entry><entry><id>https://codingman.cc/how-to-install-private-certificates</id><title>各種作業系統的憑證安裝教學</title><updated>2024-10-09T14:06:05+08:00</updated><link href="https://codingman.cc/how-to-install-private-certificates"/><summary>在這個 Cloud Native 的時代，私有環境愈來愈普遍，隨之而來的是安裝私有憑證的需求。不論是為了設定內部的 Docker Registry、內部的 API 服務、或者是其他需要加密的私有系統，我們經常需要在不同作業系統上安裝自簽的憑證或其他內部憑證。

本文將為大家整理在各種常見的作業系統上安裝憑證的方法，幫助你快速解決私有憑證的問題。希望能讓大家在面對各式各樣的系統設定時，可以更加得心應手，減少因為憑證問題而帶來的困擾。</summary><published>2024-10-09T14:06:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-peak-index-in-a-mountain-array</id><title>LeetCode 筆記 - 852. Peak Index in a Mountain Array</title><updated>2024-10-08T17:22:08+08:00</updated><link href="https://codingman.cc/leetcode-peak-index-in-a-mountain-array"/><summary>題目在此 [852. Peak Index in a Mountain Array](https://leetcode.com/problems/peak-index-in-a-mountain-array/)

給定一個山形陣列 `arr`，請找出陣列中峰值（peak）的索引。山形陣列是指先遞增後遞減的陣列，且至少包含三個元素。</summary><published>2024-10-08T17:22:08+08:00</published></entry><entry><id>https://codingman.cc/leetcode-range-module</id><title>LeetCode 筆記 - 715. Range Module</title><updated>2024-10-08T16:19:11+08:00</updated><link href="https://codingman.cc/leetcode-range-module"/><summary>題目在此 [715. Range Module](https://leetcode.com/problems/range-module/)

請實作一個 `RangeModule` 類別來追蹤數字區間的添加、移除和查詢操作。這個類別應該支援以下方法：
1. `addRange(left: int, right: int)`
    添加一個區間 `[left, right)`，表示從 `left` 到 `right`（不包含 `right`）的所有數字都被追蹤。
2. `removeRange(left: int, right: int)`
    移除一個區間 `[left, right)`，表示從 `left` 到 `right`（不包含 `right`）的所有數字不再被追蹤。
3. `queryRange(left: int, right: int) -&gt; bool`
    查詢區間 `[left, right)` 是否完全被追蹤。如果區間內的所有數字都被追蹤，則返回 `true`，否則返回 `false`。</summary><published>2024-10-08T16:19:11+08:00</published></entry><entry><id>https://codingman.cc/leetcode-successful-pairs-of-spells-and-potions</id><title>LeetCode 筆記 - 2300. Successful Pairs of Spells and Potions</title><updated>2024-10-08T09:57:50+08:00</updated><link href="https://codingman.cc/leetcode-successful-pairs-of-spells-and-potions"/><summary>題目在此 [2300. Successful Pairs of Spells and Potions](https://leetcode.com/problems/successful-pairs-of-spells-and-potions/)

給定兩個整數陣列 `spells` 和 `potions`，以及一個整數 `success`。對於每個 `spells[i]`，請找出有多少個 `potions[j]` 使得 

$$spells[i] * potions[j] &gt;= success$$</summary><published>2024-10-08T09:57:50+08:00</published></entry><entry><id>https://codingman.cc/leetcode-avoid-flood-in-the-city</id><title>LeetCode 筆記 - 1488. Avoid Flood in The City</title><updated>2024-10-07T10:14:32+08:00</updated><link href="https://codingman.cc/leetcode-avoid-flood-in-the-city"/><summary>題目在此 [1488. Avoid Flood in The City](https://leetcode.com/problems/avoid-flood-in-the-city/)

給定一個整數陣列 `rains`，其中 `rains[i] &gt; 0` 表示第 `i` 天下雨，且 `rains[i]` 是下雨的湖泊編號；`rains[i] == 0` 表示第 `i` 天沒有下雨，可以選擇乾旱一個湖泊。

請你返回一個陣列 `result`，其中 `result[i] == -1` 表示第 `i` 天下雨，`result[i]` 是乾旱的湖泊編號。若無法避免洪水，請返回空陣列。</summary><published>2024-10-07T10:14:32+08:00</published></entry><entry><id>https://codingman.cc/leetcode-target-sum</id><title>LeetCode 筆記 - 494. Target Sum</title><updated>2024-10-06T20:17:25+08:00</updated><link href="https://codingman.cc/leetcode-target-sum"/><summary>題目在此 [494. Target Sum](https://leetcode.com/problems/target-sum/)

給定一個整數陣列 `nums` 與一個目標值 `target`。
請找出有多少種方法可以對 `nums` 中的每個元素加上**正號**或**負號**，使得最終的總和等於 `target`。</summary><published>2024-10-06T20:17:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-apply-substitutions</id><title>LeetCode 筆記 - 3481. Apply Substitutions</title><updated>2024-10-06T19:14:34+08:00</updated><link href="https://codingman.cc/leetcode-apply-substitutions"/><summary>題目在此 [3481. Apply Substitutions](https://leetcode.com/problems/apply-substitutions/)

給定一個字串 `text` 與替換規則 `replacements` ，其中 $replacements[i] = [source_i, target_i]$。
請你將 `text` 中所有出現 $source_i$ 的地方替換成 $target_i$。替換規則會依照 `replacements` 陣列的順序進行，且不會有重疊的替換規則。</summary><published>2024-10-06T19:14:34+08:00</published></entry><entry><id>https://codingman.cc/leetcode-swim-in-rising-water</id><title>LeetCode 筆記 - 778. Swim in Rising Water</title><updated>2024-10-06T17:01:44+08:00</updated><link href="https://codingman.cc/leetcode-swim-in-rising-water"/><summary>題目在此 [778. Swim in Rising Water](https://leetcode.com/problems/swim-in-rising-water/)

給定一個 `m x n` 的整數矩陣 `grid`，其中每個元素代表該位置的高度。你從左上角 `(0, 0)` 開始，目標是到達右下角 `(m-1, n-1)`。你可以向上、下、左、右移動，但只能在當前時間 `t` 大於或等於你所在位置的高度時才能移動。

請找出到達目標位置右下角所需的最小時間 `t`。</summary><published>2024-10-06T17:01:44+08:00</published></entry><entry><id>https://codingman.cc/leetcode-maximal-rectangle</id><title>LeetCode 筆記 - 85. Maximal Rectangle</title><updated>2024-10-06T11:53:30+08:00</updated><link href="https://codingman.cc/leetcode-maximal-rectangle"/><summary>題目在此 [85. Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/)

給定一個 由 `0` 和 `1` 組成的二維矩陣，請找出其中只包含 `1` 的最大矩形，並返回其面積。</summary><published>2024-10-06T11:53:30+08:00</published></entry><entry><id>https://codingman.cc/leetcode-best-time-to-buy-and-sell-stock-ii</id><title>LeetCode 筆記 - 122. Best Time to Buy and Sell Stock II</title><updated>2024-10-05T17:12:41+08:00</updated><link href="https://codingman.cc/leetcode-best-time-to-buy-and-sell-stock-ii"/><summary>題目在此 [122. Best Time to Buy and Sell Stock II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)</summary><published>2024-10-05T17:12:41+08:00</published></entry><entry><id>https://codingman.cc/leetcode-largest-rectangle-in-histogram</id><title>LeetCode 筆記 - 84. Largest Rectangle in Histogram</title><updated>2024-10-05T16:20:30+08:00</updated><link href="https://codingman.cc/leetcode-largest-rectangle-in-histogram"/><summary>題目在此 [84. Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)

給定一個整數陣列 `heights`，其中每個元素代表直方圖中每個柱子的高度，請找出能夠形成的最大矩形面積。</summary><published>2024-10-05T16:20:30+08:00</published></entry><entry><id>https://codingman.cc/leetcode-sort-colors</id><title>LeetCode 筆記 - 75. Sort Colors</title><updated>2024-10-04T18:49:49+08:00</updated><link href="https://codingman.cc/leetcode-sort-colors"/><summary>題目在此 [75. Sort Colors](https://leetcode.com/problems/sort-colors/)

給定一個只包含 `0`、`1` 和 `2` 的陣列，請將陣列中的元素原地排序，使得相同的元素相鄰，且按照 `0`、`1`、`2` 的順序排列。你必須在不使用內建排序函式的情況下完成此任務。</summary><published>2024-10-04T18:49:49+08:00</published></entry><entry><id>https://codingman.cc/leetcode-regular-expression-matching</id><title>LeetCode 筆記 - 10. Regular Expression Matching</title><updated>2024-10-03T17:52:15+08:00</updated><link href="https://codingman.cc/leetcode-regular-expression-matching"/><summary>題目在此 [10. Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)

給定一個字串 `s` 與一個模式字串 `p`，請實作一個函式來判斷 `s` 是否符合 `p` 的模式。模式字串 `p` 可以包含以下兩種特殊字元：
- `.`：匹配任意單一字元。
- `*`：匹配零個或多個前一個字元。

例如：
- `s = "aa"`, `p = "a"`，會回傳 `false`，因為 `a` 無法匹配整個字串 `aa`。
- `s = "aa"`, `p = "a*"`，會回傳 `true`，因為 `a*` 可以匹配 `aa`（`a` 出現兩次）。
- `s = "ab"`, `p = ".*"`，會回傳 `true`，因為 `.*` 可以匹配任意字串。</summary><published>2024-10-03T17:52:15+08:00</published></entry><entry><id>https://codingman.cc/leetcode-find-the-number-of-copy-arrays</id><title>LeetCode 筆記 - 3468. Find the Number of Copy Arrays</title><updated>2024-10-03T15:44:09+08:00</updated><link href="https://codingman.cc/leetcode-find-the-number-of-copy-arrays"/><summary>題目在此 [3468. Find the Number of Copy Arrays](https://leetcode.com/problems/find-the-number-of-copy-arrays/)

給定一個整數陣列 `nums` 與 `bounds`, 其中 $bounds[i] = [lower_i, upper_i]$，請找出有多少個不同的整數陣列 `original` 可以經過某個整數 `k` 的加法運算後，變成 `nums`，且每個 `original[i]` 都在 `bounds[i]` 的範圍內。

1. `(copy[i] - copy[i - 1]) == (original[i] - original[i - 1])` for `1 &lt;= i &lt;= n - 1`.
2. `lower[i] &lt;= original[i] &lt;= upper[i]` for `0 &lt;= i &lt;= n - 1`.</summary><published>2024-10-03T15:44:09+08:00</published></entry><entry><id>https://codingman.cc/leetcode-next-permutation</id><title>LeetCode 筆記 - 31. Next Permutation</title><updated>2024-10-03T13:22:01+08:00</updated><link href="https://codingman.cc/leetcode-next-permutation"/><summary>題目在此 [31. Next Permutation](https://leetcode.com/problems/next-permutation/)

給定一個整數陣列 `nums`，請找出其下一個排列方式。排列方式是指將陣列中的數字重新排列成字典序中下一個較大的排列。如果不存在較大的排列，則將陣列重新排列成字典序中最小的排列（即升冪排列）。

例如：
- `nums = [1,2,3]`，會回傳 `[1,3,2]`
- `nums = [3,2,1]`，會回傳 `[1,2,3]`
- `nums = [1,1,5]`，會回傳 `[1,5,1]`</summary><published>2024-10-03T13:22:01+08:00</published></entry><entry><id>https://codingman.cc/leetcode-decode-string</id><title>LeetCode 筆記 - 394. Decode String</title><updated>2024-10-02T17:59:35+08:00</updated><link href="https://codingman.cc/leetcode-decode-string"/><summary>題目在此 [394. Decode String](https://leetcode.com/problems/decode-string/)

給定一個編碼過的字串，請將其解碼回原本的字串。編碼規則為 `k[encoded_string]`，表示 `encoded_string` 會被重複 `k` 次。
`k` 是一個正整數，且 `encoded_string` 只會包含小寫英文字母。你可以假設輸入的字串是有效的，且不會有額外的空白字元，且原始資料不會被重複編碼。

例如：
- `s = "3[a]2[bc]"`，會回傳 `"aaabcbc"`
- `s = "3[a2[c]]"`，會回傳 `"accaccacc"`</summary><published>2024-10-02T17:59:35+08:00</published></entry><entry><id>https://codingman.cc/leetcode-trapping-rain-water</id><title>LeetCode 筆記 - 42. Trapping Rain Water</title><updated>2024-10-02T14:01:33+08:00</updated><link href="https://codingman.cc/leetcode-trapping-rain-water"/><summary>題目在此 [42. Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)

給定一個整數陣列，代表每個位置的高度，請計算這些高度可以接多少雨水。</summary><published>2024-10-02T14:01:33+08:00</published></entry><entry><id>https://codingman.cc/leetcode-merge-two-sorted-lists</id><title>LeetCode 筆記 - 21. Merge Two Sorted Lists</title><updated>2024-10-01T16:12:45+08:00</updated><link href="https://codingman.cc/leetcode-merge-two-sorted-lists"/><summary>題目在此 [21. Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)

給定兩個排序過的鏈結串列，請將它們合併成一個新的排序鏈結串列，並且回傳新的鏈結串列。</summary><published>2024-10-01T16:12:45+08:00</published></entry><entry><id>https://codingman.cc/leetcode-remove-duplicates-from-sorted-list</id><title>LeetCode 筆記 - 83. Remove Duplicates from Sorted List</title><updated>2024-10-01T14:31:31+08:00</updated><link href="https://codingman.cc/leetcode-remove-duplicates-from-sorted-list"/><summary>題目在此 [83. Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/)

給定一個**排序過**的鏈結串列，請移除重複的節點，並且回傳新的鏈結串列。</summary><published>2024-10-01T14:31:31+08:00</published></entry><entry><id>https://codingman.cc/leetcode-remove-duplicates-from-sorted-list-ii</id><title>LeetCode 筆記 - 82. Remove Duplicates from Sorted List II</title><updated>2024-10-01T14:18:22+08:00</updated><link href="https://codingman.cc/leetcode-remove-duplicates-from-sorted-list-ii"/><summary>題目在此 [82. Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)

給定一個**排序過**的鏈結串列，請移除所有重複的節點，並且回傳新的鏈結串列。</summary><published>2024-10-01T14:18:22+08:00</published></entry><entry><id>https://codingman.cc/leetcode-range-sum-query-mutable</id><title>LeetCode 筆記 - 307.Range Sum Query - Mutable</title><updated>2024-09-23T17:35:36+08:00</updated><link href="https://codingman.cc/leetcode-range-sum-query-mutable"/><summary>題目在此 [307. Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/)

給定一個整數陣列，實作一個可以更新數值並且可以計算區間和的資料結構。</summary><published>2024-09-23T17:35:36+08:00</published></entry><entry><id>https://codingman.cc/one-time-signature</id><title>密碼學 - 一次性簽章</title><updated>2024-09-02T09:17:55+08:00</updated><link href="https://codingman.cc/one-time-signature"/><summary>在現代，資訊安全的重要性越來越高。隨著量子計算的迅猛發展，傳統的加密方法正面臨著前所未有的挑戰。在這樣的背景下，一次性簽章（One-Time Signature，OTS）作為一種創新的密碼學技術，正吸引著許多研究者和工程師的注意。

本文簡單介紹一次性簽章（OTS）技術，這是一種在後量子密碼學中具有重要地位的數位簽章方法。本文適合對密碼學有一定基礎的讀者，或是對加密技術有興趣的工程師朋友們。

我們將比較不同 OTS 方案的安全性、效能和實際應用，揭示 OTS 在現代密碼學中的優勢和挑戰。文章還提供了 Python 實現程式碼，幫助讀者更好地理解這些概念。最後，我們會討論 OTS 與傳統簽章方案的差異，以及它在量子計算時代的潛在應用前景。</summary><published>2024-09-02T09:17:55+08:00</published></entry><entry><id>https://codingman.cc/coscup-hot-topic-analysis-2020-2024</id><title>COSCUP 2020 ~ 2024 熱門技術趨勢觀察</title><updated>2024-08-06T09:13:26+08:00</updated><link href="https://codingman.cc/coscup-hot-topic-analysis-2020-2024"/><summary>COSCUP 2020 ~ 2024 熱門技術趨勢觀察</summary><published>2024-08-06T09:13:26+08:00</published></entry><entry><id>https://codingman.cc/https-proxy-curl-error</id><title>Linux - HTTPS Proxy 設定導致的 curl 錯誤</title><updated>2024-08-01T12:20:55+08:00</updated><link href="https://codingman.cc/https-proxy-curl-error"/><summary>Linux - HTTPS Proxy 設定導致的 curl 錯誤</summary><published>2024-08-01T12:20:55+08:00</published></entry><entry><id>https://codingman.cc/what-is-pc-sc-library</id><title>PC/SC 函式庫簡介</title><updated>2024-07-30T10:24:11+08:00</updated><link href="https://codingman.cc/what-is-pc-sc-library"/><summary>PC/SC 全名是 Personal Computer/Smart Card，是一套專門為智慧卡和讀卡機之間溝通所設計的標準規範。這個規範是由 PC/SC Workgroup 制定的。

PC/SC 函式庫是根據這個規範實作的 API 集合，使我們在開發智慧卡應用程式時能夠更加方便。

本文將簡單介紹 PC/SC 函式庫的基本概念、使用流程及 APDU 通訊協定，幫助你更好地理解這個重要的智慧卡標準。</summary><published>2024-07-30T10:24:11+08:00</published></entry><entry><id>https://codingman.cc/python-check-if-file-exists</id><title>Python - 確認檔案是否存在</title><updated>2024-07-19T09:36:14+08:00</updated><link href="https://codingman.cc/python-check-if-file-exists"/><summary>在開發 Python 程式時，時常會需要確認某個檔案是不是真的存在。

這篇文章會介紹幾種在 Python 中檢查檔案存在與否的方法，說明它們適合用在什麼場合，最後還會進行效能測試。</summary><published>2024-07-19T09:36:14+08:00</published></entry><entry><id>https://codingman.cc/cryptography-rsa-and-pkcs1</id><title>密碼學 - RSA 與 PKCS#1</title><updated>2024-07-16T20:09:26+08:00</updated><link href="https://codingman.cc/cryptography-rsa-and-pkcs1"/><summary>RSA 是由麻省理工學院的 Ron Rivest、Adi Shamir 和 Leonard Adleman 在 1977 年發表的，名稱就是取自他們三人姓氏的首字母。當時，他們受到了
1976 年 Diffie 和 Hellman 提出的公鑰密碼體制概念的啟發，致力於尋找一種實用的非對稱加密演算法。

PKCS#1 是 RSA 密碼學的一個標準，它定義了 RSA 密碼學中的很多重要概念和演算法，包括 RSA 的金鑰格式、加密和解密過程、簽章和驗證過程等。

本文將介紹 RSA 和 PKCS#1 的基本概念和原理，幫助你更好地理解這兩個重要的密碼學標準。</summary><published>2024-07-16T20:09:26+08:00</published></entry><entry><id>https://codingman.cc/how-to-setup-gitlab-runner</id><title>如何架設 GitLab runner</title><updated>2024-07-11T14:47:49+08:00</updated><link href="https://codingman.cc/how-to-setup-gitlab-runner"/><summary>GitLab Runner 是 GitLab CI/CD 系統的重要組件，用於執行 CI/CD pipeline 中定義的任務。 在持續整合和持續部署（CI/CD）流程中，GitLab Runner 扮演著執行自動化測試、構建和部署的關鍵角色。
通過在 Docker Compose 環境中設定 GitLab Runner，我們可以更靈活地管理和擴充我們的 CI/CD 基礎設施。

本文將詳細介紹如何在現有的 Docker Compose 環境中新增並設定 GitLab Runner。</summary><published>2024-07-11T14:47:49+08:00</published></entry><entry><id>https://codingman.cc/asn1-der-length-decoding</id><title>密碼學 - ASN.1 DER Length Decoding</title><updated>2024-06-25T19:52:36+08:00</updated><link href="https://codingman.cc/asn1-der-length-decoding"/><summary>在密碼學中，ASN.1 (Abstract Syntax Notation One) 是一種用於描述資料結構的標準語法。它廣泛應用於電信、金融、醫療等領域，尤其是在安全協定如SSL/TLS、數位憑證等方面。
ASN.1 定義了多種編碼規則，用於將抽象的資料類型轉換為具體的二進位格式，以便在網路中傳輸或儲存，這個過程稱為序列化。
例如：BER (Basic Encoding Rules)、CER (Canonical Encoding Rules) 和 DER (Distinguished Encoding Rules) 等。

其中，DER (Distinguished Encoding Rules) 在資訊安全領域中被廣泛使用，它是一種更嚴格的 BER 子集，具有唯一性、緊湊性和跨平台等優點。
並可用作描述數位憑證、SSL/TLS 協定、PKCS 標準等安全協定和應用。

本文將介紹 ASN.1 DER 的基本概念、結構和應用，幫助你更好地理解這一重要的編碼規則。</summary><published>2024-06-25T19:52:36+08:00</published></entry><entry><id>https://codingman.cc/how-to-create-ubuntu-bootable-usb-on-mac</id><title>Mac - 如何製作 Ubuntu 重灌隨身碟</title><updated>2024-05-22T09:57:19+08:00</updated><link href="https://codingman.cc/how-to-create-ubuntu-bootable-usb-on-mac"/><summary>Ubuntu 是目前時下最受歡迎的 Linux 發行版之一，它提供了一個穩定且易於使用的環境，並且支援大量的軟體套件。

本文將會介紹如何在 Mac 上製作 Ubuntu 重灌隨身碟。</summary><published>2024-05-22T09:57:19+08:00</published></entry><entry><id>https://codingman.cc/bus-factor</id><title>軟體開發 - 什麼是巴士因子</title><updated>2024-05-09T22:06:10+08:00</updated><link href="https://codingman.cc/bus-factor"/><summary>巴士因子（Bus factor）一詞起源於西班牙建築大師安東尼·高第（Antoni Gaudí）的事故。高第是20世紀初最具創新精神的建築師之一，他的代表作包括巴塞羅那的聖家堂、古埃爾公園等。

在 1926 年，高第在前往聖家堂的路上，被一輛電車撞倒，最終因傷重不治。而他的離世對聖家堂的建設產生了巨大影響，因為高第是該專案的靈魂人物，很多設計細節只存在於他的腦海中，沒有人知道。
高第的不幸遭遇，啟發人們思考團隊中關鍵人物的重要性。如果一個團隊過度依賴某個人，一旦這個人因意外或其他原因無法繼續工作，整個團隊的運作就會受到嚴重影響。

而「巴士因子」這個概念最早可追朔的記載是 Michael McLay 公開詢問：

&gt; 如果 Guido van Rossum 被巴士撞到，那 Python 程式語言會發生什麼事？

至此，「巴士因子」這個概念進入了軟體開發領域，用來衡量一個團隊的風險和穩定性。</summary><published>2024-05-09T22:06:10+08:00</published></entry><entry><id>https://codingman.cc/cloud-native-refactor-application</id><title>雲端原生之路 - 重構</title><updated>2024-04-07T22:28:09+08:00</updated><link href="https://codingman.cc/cloud-native-refactor-application"/><summary>雲端原生 (Cloud Native) 已經成為應用程式開發的大勢所趨。為了充分發揮雲端的優勢，我們需要對傳統的應用程式進行重構，使其能夠更好地適應雲端環境。

本文將專注探討將應用程式上雲端所需要的重構 (Restructure)，包括微服務化、容器化、自動化部署、無狀態設計等。透過這些策略，我們可以將應用程式轉變為雲端原生應用程式，更好地適應雲端環境，提高開發效率和應用程式的可靠性。</summary><published>2024-04-07T22:28:09+08:00</published></entry><entry><id>https://codingman.cc/cloud-architecture-design-paradigms-microservices-monolith-giant-stone-serverless</id><title>雲端架構設計的四種範式 - 單體、微服務、巨石與無服務</title><updated>2024-04-04T19:10:48+08:00</updated><link href="https://codingman.cc/cloud-architecture-design-paradigms-microservices-monolith-giant-stone-serverless"/><summary>在軟體開發的世界中，單體應用程式和微服務是兩種常見的架構風格。而除了這兩個主流的架構風格外，近年來也興起了巨石架構與無服務架構。這四種架構風格各有優缺點，適用於不同的場景。

本文將介紹這四種架構風格的特點，並比較它們之間的差異，希望能幫助讀者更好地理解這四種架構風格，並選擇適合自己的架構風格。</summary><published>2024-04-04T19:10:48+08:00</published></entry><entry><id>https://codingman.cc/git-common-commands</id><title>Git - 常用指令</title><updated>2024-04-04T17:26:45+08:00</updated><link href="https://codingman.cc/git-common-commands"/><summary>Git 是現代最流行的分散式版本控制系統，是由 Linus Torvalds 在 2005 年所開發出來的。

Git 的設計目標是速度、效率和支援大型專案。Git 的分散式架構使得它在分支管理和合併方面都有著獨特的優勢，因此被廣泛應用於軟體開發領域。

這篇文章將會介紹一些常用的 Git 指令，幫助你更快速地上手並提升開發效率。</summary><published>2024-04-04T17:26:45+08:00</published></entry><entry><id>https://codingman.cc/timsort-python-built-in-sorting-algorithm</id><title>TimSort - Python 內建排序法</title><updated>2024-03-24T20:44:22+08:00</updated><link href="https://codingman.cc/timsort-python-built-in-sorting-algorithm"/><summary>TimSort 是 Python 內建的排序法，是一種混合排序法，結合了 Merge Sort 和 Insertion Sort 的特性，並且會根據資料的特性自動切換這兩種排序法。

TimSort 一開始是 Peter McIlroy
在他的論文 [Optimistic Sorting and Information Theoretic Complexity](https://dl.acm.org/doi/10.5555/313559.313859) 中提出的。
接著在 2002 年由 Tim Peters 為 Python 2.3 開發出來，主要是為了解決當時 Python 內建的排序法 QuickSort 的問題。

目前依舊被廣泛應用於各種程式語言和軟體中，例如 Python、Java、Android、V8 等。

&gt; 更新：
&gt; Python 3.11 的內建排序演算法已經從 Timsort 改為 PowerSort 作為預設的排序演算法。
&gt; https://codingman.cc/powersort-python-built-in-sorting-algorithm/</summary><published>2024-03-24T20:44:22+08:00</published></entry><entry><id>https://codingman.cc/leetcode-generate-parentheses</id><title>LeetCode 筆記 - 22. Generate Parentheses</title><updated>2024-02-23T18:45:43+08:00</updated><link href="https://codingman.cc/leetcode-generate-parentheses"/><summary>題目在此 [22. Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)

給你 `n` 這個數字，請產生 `n` 個括號的所有組合。

Example 1:

Input: n = 3
Output: ["((()))","(()())","(())()","()(())","()()()"]

Example 2:
Input: n = 1
Output: ["()"]</summary><published>2024-02-23T18:45:43+08:00</published></entry><entry><id>https://codingman.cc/leetcode-implement-trie-prefix-tree</id><title>LeetCode 筆記 - 208. Implement Trie (Prefix Tree)</title><updated>2024-02-23T18:34:40+08:00</updated><link href="https://codingman.cc/leetcode-implement-trie-prefix-tree"/><summary>題目在此 [208. Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/)

就是實作 [Trie](https://zh.wikipedia.org/wiki/Trie) 的基本功能，包含 `insert`, `search`, `startsWith` 三個方法。</summary><published>2024-02-23T18:34:40+08:00</published></entry><entry><id>https://codingman.cc/badminton-release-your-power</id><title>羽毛球 - 體能的催動</title><updated>2024-02-01T23:17:57+08:00</updated><link href="https://codingman.cc/badminton-release-your-power"/><summary>大學時代曾經跟著校隊練習過一段時間，當時有一些體悟很可惜沒有記錄下來。
而過了十多年後，最近又開始重新認真練習羽毛球，所以這篇文章就是想要記錄一下重新體悟到的體悟。

而這篇就是要來談談什麼是 Level One。</summary><published>2024-02-01T23:17:57+08:00</published></entry><entry><id>https://codingman.cc/trend-micro-ai-contest-2023</id><title>趨勢科技 AI contest 2023</title><updated>2023-12-23T21:32:07+08:00</updated><link href="https://codingman.cc/trend-micro-ai-contest-2023"/><summary>此篇心得是我作為趨勢科技 AI contest 2023 工作人員的個人心得與感想。
有錯誤與不完整，是非常正常的 🤣

文中可能有些誤差和不完整之處，但大致按時間順序記述了整個比賽過程。</summary><published>2023-12-23T21:32:07+08:00</published></entry><entry><id>https://codingman.cc/about-otolith-dislodgement</id><title>淺談耳石脫落</title><updated>2023-12-21T18:22:37+08:00</updated><link href="https://codingman.cc/about-otolith-dislodgement"/><summary>我不是醫生，這篇文章只是分享我自己的經驗，如果你有相關症狀，請務必去看醫生。</summary><published>2023-12-21T18:22:37+08:00</published></entry><entry><id>https://codingman.cc/japan-travel-preparation</id><title>日本旅遊 - 準備篇</title><updated>2023-12-17T20:37:45+08:00</updated><link href="https://codingman.cc/japan-travel-preparation"/><summary>日本擁有豐富的文化遺產，令人驚嘆的自然景觀，美味的美食，以及出色的購物場所。因此日本是許多人旅遊的首選。
而恰當的準備可以讓你的日本之行更加順利和舒適。

這篇文章將會介紹一些日本旅遊的基本資訊，以及一些我們在旅遊中的經驗分享以及一些觀察。</summary><published>2023-12-17T20:37:45+08:00</published></entry><entry><id>https://codingman.cc/leetcode-frequency-of-the-most-frequent-element</id><title>LeetCode 筆記 - 1838. Frequency of the Most Frequent Element</title><updated>2023-11-18T16:56:38+08:00</updated><link href="https://codingman.cc/leetcode-frequency-of-the-most-frequent-element"/><summary>題目在此 [1838. Frequency of the Most Frequent Element](https://leetcode.com/problems/frequency-of-the-most-frequent-element/)

給定一個數列 `nums` 跟一個整數 `k`，我們可以對 `nums` 中的任意元素加上 1 最多 `k` 次，請問最多可以有幾個相同元素？</summary><published>2023-11-18T16:56:38+08:00</published></entry><entry><id>https://codingman.cc/leetcode-unique-length-3-palindromic-subsequences</id><title>LeetCode 筆記 - 1930. Unique Length-3 Palindromic Subsequences</title><updated>2023-11-14T22:52:08+08:00</updated><link href="https://codingman.cc/leetcode-unique-length-3-palindromic-subsequences"/><summary>題目在此 [1930. Unique Length-3 Palindromic Subsequences](https://leetcode.com/problems/unique-length-3-palindromic-subsequences/)

給定一個字串，請問裡面有幾個長度為 3 的迴文子序列？</summary><published>2023-11-14T22:52:08+08:00</published></entry><entry><id>https://codingman.cc/leetcode-sort-vowels-in-a-string</id><title>LeetCode 筆記 - 2785. Sort Vowels in a String</title><updated>2023-11-14T22:25:44+08:00</updated><link href="https://codingman.cc/leetcode-sort-vowels-in-a-string"/><summary>題目在此 [2785. Sort Vowels in a String](https://leetcode.com/problems/sort-vowels-in-a-string/)

給定一個字串，請把裡面的**母音**按照 ASCII 的順序排序。</summary><published>2023-11-14T22:25:44+08:00</published></entry><entry><id>https://codingman.cc/leeetcode-interleaving-string</id><title>LeetCode 筆記 - 97. Interleaving String</title><updated>2023-11-11T21:30:50+08:00</updated><link href="https://codingman.cc/leeetcode-interleaving-string"/><summary>題目在此 [97. Interleaving String](https://leetcode.com/problems/interleaving-string/)

給定三個字串 `s1`、`s2`、`s3`，請問 `s3` 是否可以由 `s1` 與 `s2` 交錯組成？</summary><published>2023-11-11T21:30:50+08:00</published></entry><entry><id>https://codingman.cc/leetcode-design-graph-with-shortest-path-calculator</id><title>LeetCode 筆記 - 2642. Design Graph With Shortest Path Calculator</title><updated>2023-11-11T19:37:33+08:00</updated><link href="https://codingman.cc/leetcode-design-graph-with-shortest-path-calculator"/><summary>題目在此 [2642. Design Graph With Shortest Path Calculator](https://leetcode.com/problems/design-graph-with-shortest-path-calculator/)

給定一個 Graph 與每個邊的方向與權重，指定一個 node 計算出訊號抵達所有 node 的時間。</summary><published>2023-11-11T19:37:33+08:00</published></entry><entry><id>https://codingman.cc/python-heapq-intro</id><title>Python - heapq 模組介紹</title><updated>2023-11-11T16:11:21+08:00</updated><link href="https://codingman.cc/python-heapq-intro"/><summary>在 Python 中，有一個內建的 heapq 模組提供了最小堆積的函數。
在本文中，我們將會介紹 heapq 模組的用法。</summary><published>2023-11-11T16:11:21+08:00</published></entry><entry><id>https://codingman.cc/leetcode-consecutive-characters</id><title>LeetCode 筆記 - 1446. Consecutive Characters</title><updated>2023-11-09T23:00:48+08:00</updated><link href="https://codingman.cc/leetcode-consecutive-characters"/><summary>題目在此 [1446. Consecutive Characters](https://leetcode.com/problems/consecutive-characters/)

給定一個字串，請問連續字串中最長的連續字元長度？</summary><published>2023-11-09T23:00:48+08:00</published></entry><entry><id>https://codingman.cc/leetcode-number-of-substrings-with-only-1s</id><title>LeetCode 筆記 - 1513. Number of Substrings With Only 1s</title><updated>2023-11-09T22:56:25+08:00</updated><link href="https://codingman.cc/leetcode-number-of-substrings-with-only-1s"/><summary>題目在此 [1513. Number of Substrings With Only 1s](https://leetcode.com/problems/number-of-substrings-with-only-1s/)

給定一個字串，請問連續字串中由 `1` 組成的連續字元的子字串有幾個？
因為最後答案可能會很大，所以請回傳答案 mod 10^9 + 7。</summary><published>2023-11-09T22:56:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-count-number-of-homogenous-substrings</id><title>LeetCode 筆記 - 1759. Count Number of Homogenous Substrings</title><updated>2023-11-09T22:50:01+08:00</updated><link href="https://codingman.cc/leetcode-count-number-of-homogenous-substrings"/><summary>題目在此 [1759. Count Number of Homogenous Substrings](https://leetcode.com/problems/count-number-of-homogenous-substrings/)

給定一個字串，請問連續字串中相同字元的子字串有幾個？
因為最後答案可能會很大，所以請回傳答案 mod 10^9 + 7。</summary><published>2023-11-09T22:50:01+08:00</published></entry><entry><id>https://codingman.cc/leetcode-determine-if-a-cell-is-reachable-at-a-given-time</id><title>LeetCode 筆記 - 2849. Determine if a Cell Is Reachable at a Given Time</title><updated>2023-11-08T22:52:31+08:00</updated><link href="https://codingman.cc/leetcode-determine-if-a-cell-is-reachable-at-a-given-time"/><summary>題目在此 [2849. Determine if a Cell Is Reachable at a Given Time](https://leetcode.com/problems/determine-if-a-cell-is-reachable-at-a-given-time/)

給定兩組座標開始與終點與時間，請問是否可以在剛好那個時間抵達終點。

每個時間單位可以移動一格，並且可以移動相鄰的 8 格，最重要的一點是地圖是無限大的，而且走過的格子可以重複走。</summary><published>2023-11-08T22:52:31+08:00</published></entry><entry><id>https://codingman.cc/leetcode-decode-the-slanted-ciphertext</id><title>LeetCode 筆記 - 2075. Decode the Slanted Ciphertext</title><updated>2023-11-07T23:59:59+08:00</updated><link href="https://codingman.cc/leetcode-decode-the-slanted-ciphertext"/><summary>題目在此 [2075. Decode the Slanted Ciphertext](https://leetcode.com/problems/decode-the-slanted-ciphertext/)

給定一個字串，這個字串是由使用傾斜轉置密碼轉換而來，請問原本的字串是什麼？</summary><published>2023-11-07T23:59:59+08:00</published></entry><entry><id>https://codingman.cc/leetcode-eliminate-maximum-number-of-monsters</id><title>LeetCode 筆記 - 1921. Eliminate Maximum Number of Monsters</title><updated>2023-11-07T23:50:09+08:00</updated><link href="https://codingman.cc/leetcode-eliminate-maximum-number-of-monsters"/><summary>題目在此 [1921. Eliminate Maximum Number of Monsters](https://leetcode.com/problems/eliminate-maximum-number-of-monsters/)

給訂兩個數列 `dist` 跟 `speed`，分別代表怪物的距離跟速度，每個回合可以前進 `speed` 個單位，在此同時我們可以選擇一個怪物攻擊，如果怪物的距離小於等於 0，堡壘則會被消滅。

請問最多可以消滅幾個怪物？</summary><published>2023-11-07T23:50:09+08:00</published></entry><entry><id>https://codingman.cc/python-bisect-intro</id><title>Python - bisect 模組介紹</title><updated>2023-11-07T23:19:24+08:00</updated><link href="https://codingman.cc/python-bisect-intro"/><summary>在 Python 中，有一個內建的 bisect 模組提供了二元搜尋法的搜尋與維持排序狀態的函數。
在本文中，我們將會介紹 bisect 模組的用法。</summary><published>2023-11-07T23:19:24+08:00</published></entry><entry><id>https://codingman.cc/python-binary-search</id><title>Python - 二元搜尋法</title><updated>2023-11-07T23:18:04+08:00</updated><link href="https://codingman.cc/python-binary-search"/><summary>Binary Search 是一種在已排序的陣列中，尋找特定元素的演算法。
是一種很有效率的搜尋演算法，在排序過後的資料結構中搜尋數值。其時間複雜度為 $O(\log n)$，比線性搜尋的 $O(n)$ 更好。</summary><published>2023-11-07T23:18:04+08:00</published></entry><entry><id>https://codingman.cc/python-list-intro</id><title>Python - List 介紹</title><updated>2023-11-07T22:59:12+08:00</updated><link href="https://codingman.cc/python-list-intro"/><summary>在 Python 中 **list** 是 Python 中最常用的資料結構之一。**list** 可以儲存不同資料類型的元素,並支援許多便利的操作。

本文將簡單介紹 Python list 的一些基本用法。</summary><published>2023-11-07T22:59:12+08:00</published></entry><entry><id>https://codingman.cc/leetcode-seat-reservation-manager</id><title>LeetCode 筆記 - 1845. Seat Reservation Manager</title><updated>2023-11-06T22:01:28+08:00</updated><link href="https://codingman.cc/leetcode-seat-reservation-manager"/><summary>題目在此 [1845. Seat Reservation Manager](https://leetcode.com/problems/seat-reservation-manager/)

實作一個訂位系統，可以預約座位，並且可以釋放座位。

預約座位時，會從最小的座位開始預約。
釋放座位時，請將傳入的座位號碼加入到可用的座位中。&lt;img src="https://codingman.cc/images/auto/9b03533bd3dd066bb8395cf5c0b8af3f.jpg" alt="image 106" width="0%"&gt;

預約時，保證還有可預約的座位；釋放時，保證傳入的座位號碼一定是已經預約過的。</summary><published>2023-11-06T22:01:28+08:00</published></entry><entry><id>https://codingman.cc/leetcode-find-the-winner-of-an-array-game</id><title>LeetCode 筆記 - 1535. Find the Winner of an Array Game</title><updated>2023-11-05T18:11:05+08:00</updated><link href="https://codingman.cc/leetcode-find-the-winner-of-an-array-game"/><summary>題目在此 [1535. Find the Winner of an Array Game](https://leetcode.com/problems/find-the-winner-of-an-array-game/)

給訂一個數列 `arr` 跟一個數字 `k`，遊戲是固定將 `arr[0]` 跟 `arr[1]` 比較，較小的數字會移動到 `arr` 的最後面。

請問第一個可以連贏 `k` 次的數字是誰？</summary><published>2023-11-05T18:11:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-check-if-there-is-a-valid-partition-for-the-array</id><title>LeetCode 筆記 - 2369. Check if There is a Valid Partition For The Array</title><updated>2023-11-04T19:59:01+08:00</updated><link href="https://codingman.cc/leetcode-check-if-there-is-a-valid-partition-for-the-array"/><summary>題目在此 [2369. Check if There is a Valid Partition For The Array](https://leetcode.com/problems/check-if-there-is-a-valid-partition-for-the-array/)

給一個數列，請問是否可以讓所有 subarray 皆符合以下三個條件：

1. subarray 的長度為 2，且數字相同
2. subarray 的長度為 3，且數字相同
3. subarray 的長度為 3，且相鄰元素為相差 1 的遞增，例如 `[1, 2, 3]` 為合法 subarray，`[1, 4, 5]` 則不是。</summary><published>2023-11-04T19:59:01+08:00</published></entry><entry><id>https://codingman.cc/leeetcode-complete-binary-tree-inserter</id><title>LeetCode 筆記 - 919. Complete Binary Tree Inserter</title><updated>2023-11-04T18:04:29+08:00</updated><link href="https://codingman.cc/leeetcode-complete-binary-tree-inserter"/><summary>題目在此 [919. Complete Binary Tree Inserter](https://leetcode.com/problems/complete-binary-tree-inserter/)

簡單說就是實作一個操作完全二元樹的 class，初始給你的二元樹也會是完全二元樹。</summary><published>2023-11-04T18:04:29+08:00</published></entry><entry><id>https://codingman.cc/leetcode-last-moment-before-all-ants-fall-out-of-a-plank</id><title>LeetCode 筆記 - 1503. Last Moment Before All Ants Fall Out of a Plank</title><updated>2023-11-04T16:41:09+08:00</updated><link href="https://codingman.cc/leetcode-last-moment-before-all-ants-fall-out-of-a-plank"/><summary>題目在此 [1503. Last Moment Before All Ants Fall Out of a Plank](https://leetcode.com/problems/last-moment-before-all-ants-fall-out-of-a-plank/)

在一個木板上隨機擺放一些往左或往右的螞蟻，請問最後一隻螞蟻掉下去的時間點是多少？

當不同方向的螞蟻相遇時，會互相交換方向並繼續走。</summary><published>2023-11-04T16:41:09+08:00</published></entry><entry><id>https://codingman.cc/leetcode-first-missing-positive</id><title>LeetCode 筆記 - 41. First Missing Positive</title><updated>2023-11-04T14:44:08+08:00</updated><link href="https://codingman.cc/leetcode-first-missing-positive"/><summary>題目在此 [41. First Missing Positive](https://leetcode.com/problems/first-missing-positive/)

給一個未排序的數列，請問沒出現過的最小正整數是多少？

請給出 Time complexity $O(n)$, space complexity $O(1)$ 的解法</summary><published>2023-11-04T14:44:08+08:00</published></entry><entry><id>https://codingman.cc/how-engineer-builds-personal-branding</id><title>工程師如何經營個人品牌</title><updated>2023-10-29T16:33:48+08:00</updated><link href="https://codingman.cc/how-engineer-builds-personal-branding"/><summary>在這個快速變化的時代，經營個人品牌對任何人的職涯發展都至關重要。
在這篇文章中，我會分享我自己的經驗，以及我認為工程師可以如何經營個人品牌。</summary><published>2023-10-29T16:33:48+08:00</published></entry><entry><id>https://codingman.cc/tesla-10000km-review</id><title>特斯拉 - 一萬公里心得</title><updated>2023-10-22T20:04:40+08:00</updated><link href="https://codingman.cc/tesla-10000km-review"/><summary>這是我自從 2023.04.26 牽了 Model Y 之後，開了一萬公里的心得。

主要紀錄一下這段時間的使用經驗，還有提醒一下關於我牽車之前沒有注意到的事情，最後也分享一下這段時間非常常被問到的問題。</summary><published>2023-10-22T20:04:40+08:00</published></entry><entry><id>https://codingman.cc/how-to-change-commit-author-in-git</id><title>Git - 如何變更 commit author</title><updated>2023-10-01T21:26:48+08:00</updated><link href="https://codingman.cc/how-to-change-commit-author-in-git"/><summary>在軟體開發的世界中，Git 是一個極為重要的版本控制工具，用來追蹤和管理你的程式碼更動。

有時候，我們可能需要修改之前的 commit author 訊息，可能是因為作者名字錯誤拼寫，或者需要把 commit 歸屬給正確的人~~，或是不小心把公司 mail commit 進去~~。

在這篇文章中，我們將學習如何在 Git 中變更 commit author。</summary><published>2023-10-01T21:26:48+08:00</published></entry><entry><id>https://codingman.cc/how-openai-helps-my-work</id><title>OpenAI 如何幫助我的工程師工作</title><updated>2023-07-15T09:19:30+08:00</updated><link href="https://codingman.cc/how-openai-helps-my-work"/><summary>OpenAI 是一家人工智慧研究公司，致力於研究如何讓人工智慧與人類世界接軌。
除了大家所熟知的 ChatGPT 以外，在機器人、自動駕駛等領域有許多卓越的貢獻。

這篇文章將從各個角度簡單分享一下 OpenAI 如何幫助我在工程師的工作上有更好的產出。</summary><published>2023-07-15T09:19:30+08:00</published></entry><entry><id>https://codingman.cc/how-to-install-python-packages</id><title>Python - 如何安裝套件</title><updated>2023-07-01T09:05:59+08:00</updated><link href="https://codingman.cc/how-to-install-python-packages"/><summary>Python 是一個功能強大且廣受歡迎的程式語言。
它擁有許多令人驚艷的套件和擴充功能，可以幫助我們在開發過程中更有效率和便利。

然而，要使用這些套件，我們首先需要將它們安裝在我們的開發環境中。

本篇文章將帶領您一步一步學習如何安裝 Python 套件，無論您是初學者還是有一些基礎知識的開發者，都可以輕鬆跟上。</summary><published>2023-07-01T09:05:59+08:00</published></entry><entry><id>https://codingman.cc/how-to-use-bert-to-implement-related-posts</id><title>NLP - 如何使用 BERT 實現相關文章功能</title><updated>2023-06-24T21:24:53+08:00</updated><link href="https://codingman.cc/how-to-use-bert-to-implement-related-posts"/><summary>當你的部落格文章越來越多時，你可能會想要增加一個相關文章的功能，以便讀者可以更方便地閱讀你的其他文章。

然而，你可能會發現每當新增一篇新文章，就需要建立新的相關性關係，這樣一來，你就得花費大量時間整理文章之間的相關性。

幸運的是，我們可以利用自然語言處理（NLP）技術來實現相關文章功能。

本文將介紹如何使用 BERT 模型，自動產生每篇文章的相關文章列表，使你可以更專注於撰寫文章本身。</summary><published>2023-06-24T21:24:53+08:00</published></entry><entry><id>https://codingman.cc/how-to-use-one-time-password-to-secure-ubuntu-server-ssh</id><title>如何使用 One Time Password 加強 Ubuntu 伺服器 SSH 安全性</title><updated>2023-06-03T19:32:03+08:00</updated><link href="https://codingman.cc/how-to-use-one-time-password-to-secure-ubuntu-server-ssh"/><summary>伺服器經常成為駭客嘗試攻擊的目標，因此保護系統的重要性變得非常重要。
如果你在家中有重要的系統，那麼如何低成本地加強系統的安全性就變成一個很重要的議題。

本文將會介紹各位如何使用 [One Time Password](https://en.wikipedia.org/wiki/One-time_password) (OTP) 來加強 Ubuntu 伺服器 [SSH](https://zh.wikipedia.org/zh-tw/Secure_Shell) 安全性。</summary><published>2023-06-03T19:32:03+08:00</published></entry><entry><id>https://codingman.cc/how-to-add-timestamp-to-tesla-dashcam-video-on-mac</id><title>如何使用 Mac 幫 Tesla 行車記錄器影片加上時間標籤</title><updated>2023-04-30T22:09:46+08:00</updated><link href="https://codingman.cc/how-to-add-timestamp-to-tesla-dashcam-video-on-mac"/><summary>如果你是 Tesla 車主，你一定會遇到想要使用車上行車紀錄器或哨兵模式影片的時候。

但這些影片預設是沒有加上時間標籤的~~，檢舉起來很不方便~~。

本文將會以 macOS 為例，示範如何幫 Tesla 的行車記錄器影片加上時間標籤！</summary><published>2023-04-30T22:09:46+08:00</published></entry><entry><id>https://codingman.cc/how-to-use-google-analytics-data-api</id><title>如何使用 Google Analytics Data API</title><updated>2023-04-29T23:41:24+08:00</updated><link href="https://codingman.cc/how-to-use-google-analytics-data-api"/><summary>Google Analytics 是一個強大的網站分析工具，它可以讓您追蹤網站上的流量、轉換率和其他重要指標。

然而，對於那些想要分析 Google Analytics 資料的人來說，手動提取和處理這些資料非常浪費時間。這就是為什麼我們需要 Google Analytics Data API 的地方，可以讓你通過程式碼呼叫的方式從 Google Analytics 中取得資料，並將它們導入你的應用程式或進行進一步的資料分析。

在本文中，將介紹各位如何使用 Python 呼叫 Google Analytics Data API。</summary><published>2023-04-29T23:41:24+08:00</published></entry><entry><id>https://codingman.cc/tesla-purchase-experience-model-y</id><title>購車心得 - Tesla Model Y</title><updated>2023-04-29T12:05:16+08:00</updated><link href="https://codingman.cc/tesla-purchase-experience-model-y"/><summary>其實在去年 2022 就有試駕過 Model 3，當時就留下不錯的印象，特別是當時下著雨感受輔助駕駛在高速公路，依舊可以穩定在車道中央的感覺，真的很棒！

但是當時還沒有準備好購車，所以就沒有繼續購車流程。

直到最近 Model Y 的登台，又降價 22 萬之後又降了 6 萬，我終於下單了 (香

本文詳細記錄了我購車的心得，希望能夠幫助到有興趣的朋友。&lt;img src="https://codingman.cc/images/auto/76902b9dd21eb295f1e0ac55590424d5.jpg" alt="image 66"  width="0%" /&gt;</summary><published>2023-04-29T12:05:16+08:00</published></entry><entry><id>https://codingman.cc/how-to-send-sensitive-information-with-gnupg</id><title>如何傳送敏感資訊 - GnuPG</title><updated>2023-04-15T16:18:28+08:00</updated><link href="https://codingman.cc/how-to-send-sensitive-information-with-gnupg"/><summary>如果你覺得現有的 Email 服務不夠安全，或者你需要在不安全的網路環境中傳送加密的訊息，那麼 [GnuPG](https://zh.wikipedia.org/zh-tw/GnuPG) 就是你的好幫手

在本文中，將介紹如何使用 [GnuPG](https://zh.wikipedia.org/zh-tw/GnuPG) 來產生公私鑰，並且來加解密敏感訊息。可以讓我們在不安全的網路環境中，傳送和接收加密的訊息，保護隱私和安全</summary><published>2023-04-15T16:18:28+08:00</published></entry><entry><id>https://codingman.cc/how-to-install-katago-on-mac</id><title>如何在 Mac 上安裝圍棋 AI - KataGo</title><updated>2023-04-09T18:45:01+08:00</updated><link href="https://codingman.cc/how-to-install-katago-on-mac"/><summary>想在 Mac 下圍棋嗎？想搭上圍棋 AI 的熱潮但又不知如何下手嗎？

這篇文章將會帶著你一步一步地教你怎麼在 Mac 上安裝 [KataGo](https://github.com/lightvector/KataGo) 搭配 [Sabaki ui](https://github.com/SabakiHQ/Sabaki)，在 Mac 上也可以享受圍棋 AI 的樂趣！</summary><published>2023-04-09T18:45:01+08:00</published></entry><entry><id>https://codingman.cc/interview-with-TrendMicro</id><title>面試心得 - 趨勢科技</title><updated>2023-04-07T14:15:58+08:00</updated><link href="https://codingman.cc/interview-with-TrendMicro"/><summary>在 [Google 面試](/interview-with-Google) 無疾無蹤之後，有個機緣巧合剛好出現也都已經準備面試了，就透過朋友內推了從以前我就很憧憬的趨勢科技面試。

~~絕對不是損友推坑~~</summary><published>2023-04-07T14:15:58+08:00</published></entry><entry><id>https://codingman.cc/how-to-be-a-star-engineer</id><title>如何成為一位傑出的工程師 (好文備份)</title><updated>2023-01-29T21:44:13+08:00</updated><link href="https://codingman.cc/how-to-be-a-star-engineer"/><summary>## How to be a Star Engineer / 如何成為一位傑出的工程師 
 
*Robert E. Kelley, Carnegie Mellon University* 

*(Robert E. Kelley, "How to be a star engineer," IEEE Spectrum, pp.51-58, Oct.1999.)* 

翻譯：馬仕毅

[英文原版(pdf)](https://vlsicad.ucsd.edu/Research/Advice/star_engineer.pdf)</summary><published>2023-01-29T21:44:13+08:00</published></entry><entry><id>https://codingman.cc/lunar-new-year-note-2023</id><title>過年筆記 - 2023</title><updated>2023-01-29T20:49:33+08:00</updated><link href="https://codingman.cc/lunar-new-year-note-2023"/><summary>這次過年處理了幾件事，怕明年忘記，所以記錄一下

**本文非業配**</summary><published>2023-01-29T20:49:33+08:00</published></entry><entry><id>https://codingman.cc/sync-your-files-with-rsync</id><title>使用 rsync 同步你的檔案</title><updated>2023-01-22T11:23:26+08:00</updated><link href="https://codingman.cc/sync-your-files-with-rsync"/><summary>[rsync](https://rsync.samba.org/) 是一個強大的檔案同步工具，它能夠跨網路和本地進行檔案和目錄同步，最大的優點是透過檢查檔案的大小和時間戳記來確定哪些檔案需要被更新，因此可以大大節省傳輸時間和頻寬</summary><published>2023-01-22T11:23:26+08:00</published></entry><entry><id>https://codingman.cc/how-i-build-my-blog</id><title>我如何打造我的部落格</title><updated>2023-01-15T21:08:02+08:00</updated><link href="https://codingman.cc/how-i-build-my-blog"/><summary>有這個部落格也已經一年有餘了，簡單分享一下我打造這個部落格比較不一樣的地方與簡單的教學

這篇文章將會教導你使用免費的 [Hexo](https://hexo.io/zh-tw/)、[Github Actions](https://docs.github.com/en/actions) 以及 [Github Pages](https://pages.github.com/) 來做出你現在看到的部落格

其中只有 domain name 是需要付費的，而這也是選擇性，你也可以使用免費的 domain name</summary><published>2023-01-15T21:08:02+08:00</published></entry><entry><id>https://codingman.cc/Chunghwa-new-free-service-VoLTE-and-VoWiFi</id><title>中華電信的新免費服務 VoLTE / VoWiFi</title><updated>2023-01-08T20:57:01+08:00</updated><link href="https://codingman.cc/Chunghwa-new-free-service-VoLTE-and-VoWiFi"/><summary>中華電信自 2022.08.01 起開放 4G/5G 月租型用戶可免費申請 [VoLTE](https://zh.m.wikipedia.org/zh-tw/VoLTE) / [VoWiFi](https://en.wikipedia.org/wiki/Voice_over_WLAN) 服務
這服務其實已經行之有年，直到 2022.08.01 才開放免費，並且即日起更可以線上申請

趕快來了解一下什麼是 [VoLTE](https://zh.m.wikipedia.org/zh-tw/VoLTE) / [VoWiFi](https://en.wikipedia.org/wiki/Voice_over_WLAN) 吧！</summary><published>2023-01-08T20:57:01+08:00</published></entry><entry><id>https://codingman.cc/choose-your-coding-font-codingfont</id><title>選擇你的程式碼字體 - CodingFont</title><updated>2023-01-01T21:54:41+08:00</updated><link href="https://codingman.cc/choose-your-coding-font-codingfont"/><summary>身為一個軟體工程師，每天都需要盯著程式碼看
因此如何選擇你的程式碼字體，對於程式碼的閱讀，是有很大影響的

而對於選擇障礙的人來說，[CodingFont](https://www.codingfont.com/) 可以張著你選擇最適合的程式碼字體</summary><published>2023-01-01T21:54:41+08:00</published></entry><entry><id>https://codingman.cc/self-hosting-password-manager-bitwarden</id><title>可自架的密碼管理器 - Bitwarden</title><updated>2023-01-01T19:49:23+08:00</updated><link href="https://codingman.cc/self-hosting-password-manager-bitwarden"/><summary>你還在用同一套帳號密碼嗎？害怕太多組紀錄不起來？還是雲端備份又擔心被盜取？
密碼管理一直都是大家很容易忽略的議題

在這篇文章裡，我將會介紹一直以來我都在使用的密碼管理器 - [Bitwarden](https://bitwarden.com/)</summary><published>2023-01-01T19:49:23+08:00</published></entry><entry><id>https://codingman.cc/hexo-the-problem-notes-of-my-blog</id><title>Hexo - 我的部落格疑難雜症筆記</title><updated>2022-12-30T11:41:08+08:00</updated><link href="https://codingman.cc/hexo-the-problem-notes-of-my-blog"/><summary>昨天終於把我想解決的部落格問題給修掉了
所以開這篇文簡單記錄一下我做了什麼事</summary><published>2022-12-30T11:41:08+08:00</published></entry><entry><id>https://codingman.cc/mac-upgrade-your-terminal</id><title>Mac - 升級你的 Terminal</title><updated>2022-12-25T19:50:36+08:00</updated><link href="https://codingman.cc/mac-upgrade-your-terminal"/><summary>我們常常會使用 Terminal 來執行指令
但是 Mac Terminal 的功能很少，也沒有什麼美觀的功能
還好我們可以用一系列的工具來升級它</summary><published>2022-12-25T19:50:36+08:00</published></entry><entry><id>https://codingman.cc/scrapbook-tool-clipy</id><title>簡單易用的剪貼簿工具 - Clipy</title><updated>2022-12-24T15:56:51+08:00</updated><link href="https://codingman.cc/scrapbook-tool-clipy"/><summary>身為一個軟體工程師，常常需要編輯很多程式碼文件
也會常常需要得到 StackOverflow 上的幫助

但是每次都要手動複製貼上，真的很麻煩
這時候就需要一個好用的剪貼簿工具 [Clipy](https://clipy-app.com/) 來幫助你</summary><published>2022-12-24T15:56:51+08:00</published></entry><entry><id>https://codingman.cc/balance-lock-macos</id><title>使用 Balance Lock 解決 Mac 聲音左右不平衡的問題</title><updated>2022-11-21T12:10:34+08:00</updated><link href="https://codingman.cc/balance-lock-macos"/><summary>在 MacOS 使用耳機時，聲音左右不平衡是一個存在很久的問題
這篇文章將介紹一個簡單的解決方法</summary><published>2022-11-21T12:10:34+08:00</published></entry><entry><id>https://codingman.cc/interview-with-Google</id><title>面試心得 - Google</title><updated>2022-11-12T21:10:50+08:00</updated><link href="https://codingman.cc/interview-with-Google"/><summary>沒想到我也有幸可以寫這個題目

希望這篇文多多少少可以幫助到未來的面試者，哪怕只是一點點</summary><published>2022-11-12T21:10:50+08:00</published></entry><entry><id>https://codingman.cc/pyptt-about-ptt-you-guys-post-too-many</id><title>PyPtt - 批踢踢超貼觀測站兩三事</title><updated>2022-08-28T14:54:51+08:00</updated><link href="https://codingman.cc/pyptt-about-ptt-you-guys-post-too-many"/><summary>昨天還在外面就發現被 tag，才發現自己又上八卦版 [[公告] 超貼科技茶水表 水桶](https://www.ptt.cc/bbs/Gossiping/M.1661605059.A.C59.html) 惹
順便寫篇文介紹一下「[批踢踢超貼觀測站](https://codingman.cc/you-guys-post-too-many/)」</summary><published>2022-08-28T14:54:51+08:00</published></entry><entry><id>https://codingman.cc/python-autostrenum</id><title>Python - AutoStrEnum</title><updated>2022-08-26T20:55:46+08:00</updated><link href="https://codingman.cc/python-autostrenum"/><summary>有一天想用 `Enum` 來管理整包資料的欄位，沒想到就此踏上一段追尋的旅程
One day, I would like to use `Enum` to manage all the fields of data.  
Unexpectedly began a journey to find the answer.</summary><published>2022-08-26T20:55:46+08:00</published></entry><entry><id>https://codingman.cc/leetcode-subsets</id><title>LeetCode 筆記 - 78. Subsets</title><updated>2022-08-18T22:55:05+08:00</updated><link href="https://codingman.cc/leetcode-subsets"/><summary>題目在此 [78. Subsets](https://leetcode.com/problems/subsets/)

給定一個數列，請產生出所有可能的子數列</summary><published>2022-08-18T22:55:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-binary-tree-right-side-view</id><title>LeetCode 筆記 - 199. Binary Tree Right Side View</title><updated>2022-08-04T15:59:37+08:00</updated><link href="https://codingman.cc/leetcode-binary-tree-right-side-view"/><summary>題目在此 [199. Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)

給定一個 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)，請計算出從右側看到的 node
&lt;img style="display:inline;" src="https://codingman.cc/images/auto/d8e254ac37a1738da124338966297a76.jpg" alt="image 41" width="60%"&gt;</summary><published>2022-08-04T15:59:37+08:00</published></entry><entry><id>https://codingman.cc/leetcode-count-and-say</id><title>LeetCode 筆記 - 38. Count and Say</title><updated>2022-08-04T13:16:06+08:00</updated><link href="https://codingman.cc/leetcode-count-and-say"/><summary>題目在此 [38. Count and Say](https://leetcode.com/problems/count-and-say/)

輸入 n 請根據規則給出編碼後的結果</summary><published>2022-08-04T13:16:06+08:00</published></entry><entry><id>https://codingman.cc/leetcode-palindrome-number</id><title>LeetCode 筆記 - 9. Palindrome Number</title><updated>2022-08-04T13:14:05+08:00</updated><link href="https://codingman.cc/leetcode-palindrome-number"/><summary>題目在此 [9. Palindrome Number](https://leetcode.com/problems/palindrome-number/)

請判斷輸入的數字是否為迴文</summary><published>2022-08-04T13:14:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-min-cost-climbing-stairs</id><title>LeetCode 筆記 - 746. Min Cost Climbing Stairs</title><updated>2022-08-04T13:10:02+08:00</updated><link href="https://codingman.cc/leetcode-min-cost-climbing-stairs"/><summary>題目在此 [746. Min Cost Climbing Stairs](https://leetcode.com/problems/min-cost-climbing-stairs/)

給定一系列爬樓梯的成本，你可以選擇一次爬一階或兩階
請給出爬完的最低成本</summary><published>2022-08-04T13:10:02+08:00</published></entry><entry><id>https://codingman.cc/leetcode-jump-game-vi</id><title>LeetCode 筆記 - 1696. Jump Game VI</title><updated>2022-08-03T22:21:52+08:00</updated><link href="https://codingman.cc/leetcode-jump-game-vi"/><summary>題目在此 [1696. Jump Game VI](https://leetcode.com/problems/jump-game-vi/)

給定一個分數數列與 k 值，每次你可以選擇 `i + 1` ~ `i + k` 之間選擇你的下一個位置
請回傳最大分數</summary><published>2022-08-03T22:21:52+08:00</published></entry><entry><id>https://codingman.cc/leetcode-jump-game-iii</id><title>LeetCode 筆記 - 1306. Jump Game III</title><updated>2022-08-03T22:13:30+08:00</updated><link href="https://codingman.cc/leetcode-jump-game-iii"/><summary>題目在此 [1306. Jump Game III](https://leetcode.com/problems/jump-game-iii/)

給定一個數列，第 `i` 個數值表示你可以把 `i + arr[i]` or `i - arr[i]` 當作下一個 index
請回傳是否可以找到 value 0</summary><published>2022-08-03T22:13:30+08:00</published></entry><entry><id>https://codingman.cc/leetcode-reverse-linked-list</id><title>LeetCode 筆記 - 206. Reverse Linked List</title><updated>2022-08-03T22:02:08+08:00</updated><link href="https://codingman.cc/leetcode-reverse-linked-list"/><summary>題目在此 [206. Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)

給定一個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)，請反轉它</summary><published>2022-08-03T22:02:08+08:00</published></entry><entry><id>https://codingman.cc/leetcode-reverse-linked-list-ii</id><title>LeetCode 筆記 - 92. Reverse Linked List II</title><updated>2022-08-03T22:01:29+08:00</updated><link href="https://codingman.cc/leetcode-reverse-linked-list-ii"/><summary>題目在此 [92. Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)

給定一個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)，還有反轉範圍，請反轉其範圍即可</summary><published>2022-08-03T22:01:29+08:00</published></entry><entry><id>https://codingman.cc/leetcode-paint-house-ii</id><title>LeetCode 筆記 - 265. Paint House II</title><updated>2022-08-03T21:56:55+08:00</updated><link href="https://codingman.cc/leetcode-paint-house-ii"/><summary>題目在此 [265. Paint House II](https://leetcode.com/problems/paint-house-ii/)

給定一系列，每個房子要漆成 k 種顏色的成本，但每種顏色不能相鄰
請問把所有房子漆完的最低成本？</summary><published>2022-08-03T21:56:55+08:00</published></entry><entry><id>https://codingman.cc/leetcode-paint-house</id><title>LeetCode 筆記 - 256. Paint House</title><updated>2022-08-03T21:52:39+08:00</updated><link href="https://codingman.cc/leetcode-paint-house"/><summary>題目在此 [256. Paint House](https://leetcode.com/problems/paint-house/)

給定一系列，每個房子要漆成三種顏色的成本，但每種顏色不能相鄰
請問把所有房子漆完的最低成本？</summary><published>2022-08-03T21:52:39+08:00</published></entry><entry><id>https://codingman.cc/leetcode-fibonacci-number</id><title>LeetCode 筆記 - 509. Fibonacci Number</title><updated>2022-07-23T23:51:38+08:00</updated><link href="https://codingman.cc/leetcode-fibonacci-number"/><summary>題目在此 [509. Fibonacci Number](https://leetcode.com/problems/fibonacci-number/)

請計算費氏數列的結果</summary><published>2022-07-23T23:51:38+08:00</published></entry><entry><id>https://codingman.cc/leetcode-same-tree</id><title>LeetCode 筆記 - 100. Same Tree</title><updated>2022-07-23T23:44:34+08:00</updated><link href="https://codingman.cc/leetcode-same-tree"/><summary>題目在此 [100. Same Tree](https://leetcode.com/problems/same-tree/)

給兩個 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)，請判斷是不是同一棵樹</summary><published>2022-07-23T23:44:34+08:00</published></entry><entry><id>https://codingman.cc/leetcode-minimum-path-sum</id><title>LeetCode 筆記 - 64. Minimum Path Sum</title><updated>2022-07-23T23:39:13+08:00</updated><link href="https://codingman.cc/leetcode-minimum-path-sum"/><summary>題目在此 [64. Minimum Path Sum](https://leetcode.com/problems/minimum-path-sum/)

給一個 matrix，請計算出從左上到右下最小成本路徑</summary><published>2022-07-23T23:39:13+08:00</published></entry><entry><id>https://codingman.cc/leetcode-longest-consecutive-sequence</id><title>LeetCode 筆記 - 128. Longest Consecutive Sequence</title><updated>2022-07-23T23:15:25+08:00</updated><link href="https://codingman.cc/leetcode-longest-consecutive-sequence"/><summary>題目在此 [128. Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)

給一個數列，請計算出最長連續子序列的長度
請實作出 time complexity O(n) 的演算法</summary><published>2022-07-23T23:15:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-rotate-list</id><title>LeetCode 筆記 - 61. Rotate List</title><updated>2022-07-23T22:52:00+08:00</updated><link href="https://codingman.cc/leetcode-rotate-list"/><summary>題目在此 [61. Rotate List](https://leetcode.com/problems/rotate-list/)

給一個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8) 與 `k`，請移動 `k` 個 node 到最前面</summary><published>2022-07-23T22:52:00+08:00</published></entry><entry><id>https://codingman.cc/leetcode-candy</id><title>LeetCode 筆記 - 135. Candy</title><updated>2022-07-23T22:35:05+08:00</updated><link href="https://codingman.cc/leetcode-candy"/><summary>題目在此 [135. Candy](https://leetcode.com/problems/candy/)

給一個數列，代表一系列小孩的排名，有以下規則
- 每個小孩至少一顆糖果
- 如果小孩對他的鄰居有更高的排名，必須比他的鄰居拿更多的糖果

請計算最少可以給幾顆？</summary><published>2022-07-23T22:35:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-jump-game-ii</id><title>LeetCode 筆記 - 45. Jump Game II</title><updated>2022-07-23T22:25:57+08:00</updated><link href="https://codingman.cc/leetcode-jump-game-ii"/><summary>題目在此 [45. Jump Game II](https://leetcode.com/problems/jump-game-ii/)

給一個數列，從 `index 0` 開始，數列裡面代表 `i` 可以跳幾步
請問最小可以跳到最後的步數？</summary><published>2022-07-23T22:25:57+08:00</published></entry><entry><id>https://codingman.cc/leetcode-wiggle-subsequence</id><title>LeetCode 筆記 - 376. Wiggle Subsequence</title><updated>2022-07-23T21:40:51+08:00</updated><link href="https://codingman.cc/leetcode-wiggle-subsequence"/><summary>題目在此 [376. Wiggle Subsequence](https://leetcode.com/problems/wiggle-subsequence/)

這題是給定一個數列，請給出最長波動序列長度，就像一上一下這樣</summary><published>2022-07-23T21:40:51+08:00</published></entry><entry><id>https://codingman.cc/leetcode-jump-game</id><title>LeetCode 筆記 - 55. Jump Game</title><updated>2022-07-23T20:55:41+08:00</updated><link href="https://codingman.cc/leetcode-jump-game"/><summary>題目在此 [55. Jump Game](https://leetcode.com/problems/jump-game/)

給一個數列，從 `index 0` 開始，數列裡面代表 `i` 可以跳幾步
請問是否可以跳到最後？</summary><published>2022-07-23T20:55:41+08:00</published></entry><entry><id>https://codingman.cc/leetcode-find-largest-value-in-each-tree-row</id><title>LeetCode 筆記 - 515. Find Largest Value in Each Tree Row</title><updated>2022-07-23T20:50:26+08:00</updated><link href="https://codingman.cc/leetcode-find-largest-value-in-each-tree-row"/><summary>題目在此 [515. Find Largest Value in Each Tree Row](https://leetcode.com/problems/find-largest-value-in-each-tree-row/)

給定一棵 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)，請回傳每一層最大的數字</summary><published>2022-07-23T20:50:26+08:00</published></entry><entry><id>https://codingman.cc/leetcode-multiply-strings</id><title>LeetCode 筆記 - 43. Multiply Strings</title><updated>2022-07-23T20:12:57+08:00</updated><link href="https://codingman.cc/leetcode-multiply-strings"/><summary>題目在此 [43. Multiply Strings](https://leetcode.com/problems/multiply-strings/)

給兩個字串型態的數字，請計算出相乘的值，並回傳其字串型態</summary><published>2022-07-23T20:12:57+08:00</published></entry><entry><id>https://codingman.cc/leetcode-maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts</id><title>&gt;-</title><updated>2022-07-18T20:43:46+08:00</updated><link href="https://codingman.cc/leetcode-maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts"/><summary>題目在此 [1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts](https://leetcode.com/problems/maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts/)

給定橫向切哪裡，縱向切哪裡，請給出切完後最大面積

&lt;img src="https://codingman.cc/images/auto/cdb37bc2f1f2e2fcb7d723a2d31fcf8e.jpg" alt="image 36" width="40%"&gt;</summary><published>2022-07-18T20:43:46+08:00</published></entry><entry><id>https://codingman.cc/leetcode-maximum-units-on-a-truck</id><title>LeetCode 筆記 - 1710. Maximum Units on a Truck</title><updated>2022-07-18T20:36:21+08:00</updated><link href="https://codingman.cc/leetcode-maximum-units-on-a-truck"/><summary>題目在此 [1710. Maximum Units on a Truck](https://leetcode.com/problems/maximum-units-on-a-truck/)

給定每種盒子裡面有幾個單位，還有卡車可以裝幾個盒子，請給出一車次最多可以載多少個單位</summary><published>2022-07-18T20:36:21+08:00</published></entry><entry><id>https://codingman.cc/leetcode-minimum-moves-to-equal-array-elements-ii</id><title>LeetCode 筆記 - 462. Minimum Moves to Equal Array Elements II</title><updated>2022-07-03T22:27:11+08:00</updated><link href="https://codingman.cc/leetcode-minimum-moves-to-equal-array-elements-ii"/><summary>題目在此 [462. Minimum Moves to Equal Array Elements II](https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/)

給定一個數列，每一步可以選定一格加 `1` 或減 `1`
請給出讓每個數字都相等的最小步驟</summary><published>2022-07-03T22:27:11+08:00</published></entry><entry><id>https://codingman.cc/leetcode-minimum-moves-to-equal-array-elements</id><title>LeetCode 筆記 - 453. Minimum Moves to Equal Array Elements</title><updated>2022-07-03T22:10:30+08:00</updated><link href="https://codingman.cc/leetcode-minimum-moves-to-equal-array-elements"/><summary>題目在此 [453. Minimum Moves to Equal Array Elements](https://leetcode.com/problems/minimum-moves-to-equal-array-elements/)

給定一個數列，每一步可以選定一格，其他 `n - 1` 格都會加 `1`
請給出讓每個數字都相等的最小步驟</summary><published>2022-07-03T22:10:30+08:00</published></entry><entry><id>https://codingman.cc/leetcode-queue-reconstruction-by-height</id><title>LeetCode 筆記 - 406. Queue Reconstruction by Height</title><updated>2022-07-03T21:10:24+08:00</updated><link href="https://codingman.cc/leetcode-queue-reconstruction-by-height"/><summary>題目在此 [406. Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/)

給定一群人的身高與條件，`people[i] = [hi, ki]` 
`h` 是身高，`k` 是前面必須有 `k` 個跟他一樣高或比他高的人

請給出符合條件的順序</summary><published>2022-07-03T21:10:24+08:00</published></entry><entry><id>https://codingman.cc/leetcode-sqrtx</id><title>LeetCode 筆記 - 69. Sqrt(x)</title><updated>2022-07-03T16:05:23+08:00</updated><link href="https://codingman.cc/leetcode-sqrtx"/><summary>題目在此 [69. Sqrt(x)](https://leetcode.com/problems/sqrtx/)

給定一個數字，請給出平方根的整數部分</summary><published>2022-07-03T16:05:23+08:00</published></entry><entry><id>https://codingman.cc/leetcode-minimum-deletions-to-make-character-frequencies-unique</id><title>LeetCode 筆記 - 1647. Minimum Deletions to Make Character Frequencies</title><updated>2022-06-29T23:04:04+08:00</updated><link href="https://codingman.cc/leetcode-minimum-deletions-to-make-character-frequencies-unique"/><summary>題目在此 [1647. Minimum Deletions to Make Character Frequencies](https://leetcode.com/problems/minimum-deletions-to-make-character-frequencies-unique/)

給定一個字串，每次你可以自由地刪除一個字元
請給出讓每個字母頻率都不一樣的最小刪除次數</summary><published>2022-06-29T23:04:04+08:00</published></entry><entry><id>https://codingman.cc/leetcode-course-schedule-ii</id><title>LeetCode 筆記 - 210. Course Schedule II</title><updated>2022-06-29T22:59:41+08:00</updated><link href="https://codingman.cc/leetcode-course-schedule-ii"/><summary>題目在此 [210. Course Schedule II](https://leetcode.com/problems/course-schedule-ii/)

給定一系列的課程與先修課程，請給出沒有衝突的修課順序</summary><published>2022-06-29T22:59:41+08:00</published></entry><entry><id>https://codingman.cc/leetcode-course-schedule</id><title>LeetCode 筆記 - 207. Course Schedule</title><updated>2022-06-29T22:31:19+08:00</updated><link href="https://codingman.cc/leetcode-course-schedule"/><summary>題目在此 [207. Course Schedule](https://leetcode.com/problems/course-schedule/)

給定一系列的課程與先修課程，請判斷是否有衝突</summary><published>2022-06-29T22:31:19+08:00</published></entry><entry><id>https://codingman.cc/leetcode-combination-sum-iv</id><title>LeetCode 筆記 - 377. Combination Sum IV</title><updated>2022-06-25T22:16:05+08:00</updated><link href="https://codingman.cc/leetcode-combination-sum-iv"/><summary>題目在此 [377. Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/)

給定數列與目標數，請給出數列中`有幾種`相加等於目標數的排列組合</summary><published>2022-06-25T22:16:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-combination-sum-iii</id><title>LeetCode 筆記 - 216. Combination Sum III</title><updated>2022-06-25T21:59:32+08:00</updated><link href="https://codingman.cc/leetcode-combination-sum-iii"/><summary>題目在此 [216. Combination Sum III](https://leetcode.com/problems/combination-sum-iii/)

給定目標數，請從 `1` ~ `9` 找出相加組合，每個數字只能用一次</summary><published>2022-06-25T21:59:32+08:00</published></entry><entry><id>https://codingman.cc/leetcode-combination-sum-ii</id><title>LeetCode 筆記 - 40. Combination Sum II</title><updated>2022-06-25T21:28:00+08:00</updated><link href="https://codingman.cc/leetcode-combination-sum-ii"/><summary>題目在此 [40. Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)

給一個數列與目標數，請從數列找出相加的組合等於目標數，每個數字只能用一次</summary><published>2022-06-25T21:28:00+08:00</published></entry><entry><id>https://codingman.cc/leetcode-combination-sum</id><title>LeetCode 筆記 - 39. Combination Sum</title><updated>2022-06-25T20:47:09+08:00</updated><link href="https://codingman.cc/leetcode-combination-sum"/><summary>題目在此 [39. Combination Sum](https://leetcode.com/problems/combination-sum/)

給一個數列與目標數，請從數列找出相加的組合等於目標數，數字可以重複使用</summary><published>2022-06-25T20:47:09+08:00</published></entry><entry><id>https://codingman.cc/leetcode-kth-largest-element-in-an-array</id><title>LeetCode 筆記 - 215. Kth Largest Element in an Array</title><updated>2022-06-25T20:36:35+08:00</updated><link href="https://codingman.cc/leetcode-kth-largest-element-in-an-array"/><summary>題目在此 [215. Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/)

給定一個數列，請給出第 k 大的元素</summary><published>2022-06-25T20:36:35+08:00</published></entry><entry><id>https://codingman.cc/leetcode-furthest-building-you-can-reach</id><title>LeetCode 筆記 - 1642. Furthest Building You Can Reach</title><updated>2022-06-25T19:39:32+08:00</updated><link href="https://codingman.cc/leetcode-furthest-building-you-can-reach"/><summary>題目在此 [1642. Furthest Building You Can Reach](https://leetcode.com/problems/furthest-building-you-can-reach/)

給定一系列的建築高度、磚塊數量還有梯子數量，請給出最遠可以到達第幾棟建築

&lt;img src="https://codingman.cc/images/auto/035504cbfe738deef88247a067e84b82.gif" alt="image 3" width="60%"&gt;</summary><published>2022-06-25T19:39:32+08:00</published></entry><entry><id>https://codingman.cc/leetcode-short-encoding-of-words</id><title>LeetCode 筆記 - 820. Short Encoding of Words</title><updated>2022-06-25T19:28:56+08:00</updated><link href="https://codingman.cc/leetcode-short-encoding-of-words"/><summary>題目在此 [820. Short Encoding of Words](https://leetcode.com/problems/short-encoding-of-words/)

給定一個字串清單，請給出合法的編碼字串長度</summary><published>2022-06-25T19:28:56+08:00</published></entry><entry><id>https://codingman.cc/leetcode-unique-paths</id><title>LeetCode 筆記 - 62. Unique Paths</title><updated>2022-06-25T19:25:17+08:00</updated><link href="https://codingman.cc/leetcode-unique-paths"/><summary>題目在此 [62. Unique Paths](https://leetcode.com/problems/unique-paths/)

給一個地圖，請給出從左上走到右下的所有路徑走法數量</summary><published>2022-06-25T19:25:17+08:00</published></entry><entry><id>https://codingman.cc/leetcode-delete-operation-for-two-strings</id><title>LeetCode 筆記 - 583. Delete Operation for Two Strings</title><updated>2022-06-25T17:52:25+08:00</updated><link href="https://codingman.cc/leetcode-delete-operation-for-two-strings"/><summary>題目在此 [583. Delete Operation for Two Strings](https://leetcode.com/problems/delete-operation-for-two-strings/)

給定兩個字串，請找出最少將它們刪成一樣字串的次數</summary><published>2022-06-25T17:52:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-longest-common-subsequence</id><title>LeetCode 筆記 - 1143. Longest Common Subsequence</title><updated>2022-06-25T16:40:47+08:00</updated><link href="https://codingman.cc/leetcode-longest-common-subsequence"/><summary>題目在此 [1143. Longest Common Subsequence](https://leetcode.com/problems/longest-common-subsequence/)

給定兩個字串，請找出共同的子序列長度
例如：

Input: text1 = "abcde", text2 = "ace" 
Output: 3</summary><published>2022-06-25T16:40:47+08:00</published></entry><entry><id>https://codingman.cc/leetcode-triangle</id><title>LeetCode 筆記 - 120. Triangle</title><updated>2022-06-25T15:27:48+08:00</updated><link href="https://codingman.cc/leetcode-triangle"/><summary>題目在此 [120. Triangle](https://leetcode.com/problems/triangle/)

給定一個三角形，請找出相加最小總和的路徑</summary><published>2022-06-25T15:27:48+08:00</published></entry><entry><id>https://codingman.cc/leetcode-maximum-erasure-value</id><title>LeetCode 筆記 - 1695. Maximum Erasure Value</title><updated>2022-06-25T14:16:59+08:00</updated><link href="https://codingman.cc/leetcode-maximum-erasure-value"/><summary>題目在此 [1695. Maximum Erasure Value](https://leetcode.com/problems/maximum-erasure-value/)

給你一個數列，請找到一個沒有重複元素並且總和最大的子數列</summary><published>2022-06-25T14:16:59+08:00</published></entry><entry><id>https://codingman.cc/leetcode-minimum-operations-to-reduce-x-to-zero</id><title>LeetCode 筆記 - 1658. Minimum Operations to Reduce X to Zero</title><updated>2022-06-25T14:02:38+08:00</updated><link href="https://codingman.cc/leetcode-minimum-operations-to-reduce-x-to-zero"/><summary>題目在此 [1658. Minimum Operations to Reduce X to Zero](https://leetcode.com/problems/minimum-operations-to-reduce-x-to-zero/)

給定一個數列與目標 x，你可以從數列挑選最左邊或最右邊的元素讓 x 減，直到使 x 等於 0
請計算出最小步驟！</summary><published>2022-06-25T14:02:38+08:00</published></entry><entry><id>https://codingman.cc/leetcode-remove-palindromic-subsequences</id><title>LeetCode 筆記 - 1332. Remove Palindromic Subsequences</title><updated>2022-06-25T12:14:03+08:00</updated><link href="https://codingman.cc/leetcode-remove-palindromic-subsequences"/><summary>題目在此 [1332. Remove Palindromic Subsequences](https://leetcode.com/problems/remove-palindromic-subsequences/)

給定一個僅包含 `a`, `b` 的字串，一次可以移除一個`迴文字串`，請計算出將字串清空的移除次數</summary><published>2022-06-25T12:14:03+08:00</published></entry><entry><id>https://codingman.cc/python-how-to-list-all-the-files</id><title>Python - How to list all the files</title><updated>2022-06-22T10:43:32+08:00</updated><link href="https://codingman.cc/python-how-to-list-all-the-files"/><summary>Sometimes, we need to list all the files in a folder or sub folder in Python.

In this post, I will show you how to use the `glob` function to achieve this.</summary><published>2022-06-22T10:43:32+08:00</published></entry><entry><id>https://codingman.cc/leetcode-intersection-of-two-linked-lists</id><title>LeetCode 筆記 - 160. Intersection of Two Linked Lists</title><updated>2022-06-13T18:19:10+08:00</updated><link href="https://codingman.cc/leetcode-intersection-of-two-linked-lists"/><summary>題目在此 [160. Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/)

給定一個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)，它擁有兩個起點並最終會合併在一起
請找出出會合的節點

&lt;img src="https://codingman.cc/images/auto/8039bb3e8e45487a09994adc238a8094.jpg" alt="image 52" width="70%"&gt;</summary><published>2022-06-13T18:19:10+08:00</published></entry><entry><id>https://codingman.cc/mac-how-to-activate-a-system-notifications</id><title>Mac - 如何用程式發出本機系統通知</title><updated>2022-06-13T18:11:36+08:00</updated><link href="https://codingman.cc/mac-how-to-activate-a-system-notifications"/><summary>有時候你的程式會需要等待一段時間再回來看
如果有辦法可以在程式結束時，可以用某種方式通知你
就可以省下一些時間

這篇文章分享了，如何用程式化的方式在 Mac 發出系統通知

Sometimes, you need to execute some process for a while.  
If there is a way to notify you when your process is finished.
It will save a lot of time.

Right here, I show you how to activate a Mac system notification programmatically.</summary><published>2022-06-13T18:11:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-range-sum-query-immutable</id><title>LeetCode 筆記 - 303. Range Sum Query - Immutable</title><updated>2022-06-12T16:40:17+08:00</updated><link href="https://codingman.cc/leetcode-range-sum-query-immutable"/><summary>題目在此 [303. Range Sum Query - Immutable](https://leetcode.com/problems/range-sum-query-immutable/)

給定一個數列，請根據給定的範圍計算出區段總和</summary><published>2022-06-12T16:40:17+08:00</published></entry><entry><id>https://codingman.cc/leetcode-range-sum-query-2d-immutable</id><title>LeetCode 筆記 - 304. Range Sum Query 2D - Immutable</title><updated>2022-06-12T16:13:02+08:00</updated><link href="https://codingman.cc/leetcode-range-sum-query-2d-immutable"/><summary>題目在此 [304. Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/)

給定一個 2D matrix，請根據給定的矩形範圍計算出舉行總和

&lt;img src="https://codingman.cc/images/auto/2433a61e7a7a276e4fab222051d17c80.jpg" alt="image 55" width="50%"&gt;</summary><published>2022-06-12T16:13:02+08:00</published></entry><entry><id>https://codingman.cc/leetcode-transpose-matrix</id><title>LeetCode 筆記 - 867. Transpose Matrix</title><updated>2022-06-12T16:04:16+08:00</updated><link href="https://codingman.cc/leetcode-transpose-matrix"/><summary>題目在此 [867. Transpose Matrix](https://leetcode.com/problems/transpose-matrix/)

給定一個 2D matrix，請做出 [Transpose Matrix](https://zh.wikipedia.org/wiki/%E8%BD%AC%E7%BD%AE%E7%9F%A9%E9%98%B5)

&lt;img src="https://codingman.cc/images/auto/031a857d45b16afea6cc806a931accde.jpg" alt="image 54" width="70%"&gt;</summary><published>2022-06-12T16:04:16+08:00</published></entry><entry><id>https://codingman.cc/leetcode-check-if-a-string-contains-all-binary-codes-of-size-k</id><title>LeetCode 筆記 - 1461. Check If a String Contains All Binary Codes of Size K</title><updated>2022-06-12T15:50:25+08:00</updated><link href="https://codingman.cc/leetcode-check-if-a-string-contains-all-binary-codes-of-size-k"/><summary>題目在此 [1461. Check If a String Contains All Binary Codes of Size K](https://leetcode.com/problems/check-if-a-string-contains-all-binary-codes-of-size-k/)

給定一個二進位字串 `s` 與數字 `k`，請判斷任何 `k` 長度的二進位字串是否有在 `s` 裡</summary><published>2022-06-12T15:50:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-running-sum-of-1d-array</id><title>LeetCode 筆記 - 1480. Running Sum of 1d Array</title><updated>2022-06-12T15:41:10+08:00</updated><link href="https://codingman.cc/leetcode-running-sum-of-1d-array"/><summary>題目在此 [1480. Running Sum of 1d Array](https://leetcode.com/problems/running-sum-of-1d-array/)

給定一個數列，請做出 [Prefix Sum](https://en.wikipedia.org/wiki/Prefix_sum)</summary><published>2022-06-12T15:41:10+08:00</published></entry><entry><id>https://codingman.cc/leetcode-divide-two-integers</id><title>LeetCode 筆記 - 29. Divide Two Integers</title><updated>2022-06-12T15:36:23+08:00</updated><link href="https://codingman.cc/leetcode-divide-two-integers"/><summary>題目在此 [29. Divide Two Integers](https://leetcode.com/problems/divide-two-integers/)

請將兩個數字相除</summary><published>2022-06-12T15:36:23+08:00</published></entry><entry><id>https://codingman.cc/leetcode-maximum-product-of-word-lengths</id><title>LeetCode 筆記 - 318. Maximum Product of Word Lengths</title><updated>2022-06-12T15:27:43+08:00</updated><link href="https://codingman.cc/leetcode-maximum-product-of-word-lengths"/><summary>題目在此 [318. Maximum Product of Word Lengths](https://leetcode.com/problems/maximum-product-of-word-lengths/)

給定一個矩陣包含 n 個字串，請找出兩個字串的最大乘積且兩個字串之間不能有相同的字母</summary><published>2022-06-12T15:27:43+08:00</published></entry><entry><id>https://codingman.cc/leetcode-missing-number</id><title>LeetCode 筆記 - 268. Missing Number</title><updated>2022-06-12T15:00:36+08:00</updated><link href="https://codingman.cc/leetcode-missing-number"/><summary>題目在此 [268. Missing Number](https://leetcode.com/problems/missing-number/)

給定一個連續數列但缺少一個數字，請找出缺少的數字為何</summary><published>2022-06-12T15:00:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-number-of-steps-to-reduce-a-number-to-zero</id><title>LeetCode 筆記 - 1342. Number of Steps to Reduce a Number to Zero</title><updated>2022-06-12T14:51:58+08:00</updated><link href="https://codingman.cc/leetcode-number-of-steps-to-reduce-a-number-to-zero"/><summary>題目在此 [1342. Number of Steps to Reduce a Number to Zero](https://leetcode.com/problems/number-of-steps-to-reduce-a-number-to-zero/)

給定一個數字，如果是**雙數**請 `除以 2`，不然就請`減掉 1`</summary><published>2022-06-12T14:51:58+08:00</published></entry><entry><id>https://codingman.cc/leetcode-number-of-1-bits</id><title>LeetCode 筆記 - 191. Number of 1 Bits</title><updated>2022-06-12T14:29:12+08:00</updated><link href="https://codingman.cc/leetcode-number-of-1-bits"/><summary>題目在此 [191. Number of 1 Bits](https://leetcode.com/problems/number-of-1-bits/)

給定一個數字，請計算出在 [Binary](https://zh.wikipedia.org/zh-tw/%E4%BA%8C%E8%BF%9B%E5%88%B6) 中 `1` 的數量</summary><published>2022-06-12T14:29:12+08:00</published></entry><entry><id>https://codingman.cc/leetcode-longest-valid-parentheses</id><title>LeetCode 筆記 - 32. Longest Valid Parentheses</title><updated>2022-06-12T14:09:46+08:00</updated><link href="https://codingman.cc/leetcode-longest-valid-parentheses"/><summary>題目在此 [32. Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/)

給定一個只有一種括號的字串，請找出**最長的合法括號字串長度**</summary><published>2022-06-12T14:09:46+08:00</published></entry><entry><id>https://codingman.cc/leetcode-valid-parentheses</id><title>LeetCode 筆記 - 20. Valid Parentheses</title><updated>2022-06-12T13:55:01+08:00</updated><link href="https://codingman.cc/leetcode-valid-parentheses"/><summary>題目在此 [20. Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)

給定一個只有括號的字串，請判斷是否為合法結束的括號字串</summary><published>2022-06-12T13:55:01+08:00</published></entry><entry><id>https://codingman.cc/leetcode-reshape-the-matrix</id><title>LeetCode 筆記 - 566. Reshape the Matrix</title><updated>2022-06-12T13:42:47+08:00</updated><link href="https://codingman.cc/leetcode-reshape-the-matrix"/><summary>題目在此 [566. Reshape the Matrix](https://leetcode.com/problems/reshape-the-matrix/)

實作出 MATLAB 裡面的 reshape 函式
給定一個 matrix 與新的長寬 `r`, `c`

我們要做的事情就是將 matrix 資料擺放成 `r`, `c` 的形狀

&lt;img src="https://codingman.cc/images/auto/743f3e7abedbf0ee412d2280540b334c.jpg" alt="image 53" width="70%"&gt;</summary><published>2022-06-12T13:42:47+08:00</published></entry><entry><id>https://codingman.cc/leetcode-merge-two-binary-trees</id><title>LeetCode 筆記 - 617. Merge Two Binary Trees</title><updated>2022-06-05T22:35:49+08:00</updated><link href="https://codingman.cc/leetcode-merge-two-binary-trees"/><summary>題目在此 [617. Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)

給定兩個 [Binary Trees](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)，請合併這兩棵樹

&lt;img src="https://codingman.cc/images/auto/9ecf8584dcea8b3b27087f6f35507523.jpg" alt="image 51" width="70%"&gt;</summary><published>2022-06-05T22:35:49+08:00</published></entry><entry><id>https://codingman.cc/python-how-to-limit-the-number-of-threads</id><title>Python 如何優雅地限制執行緒數量</title><updated>2022-06-02T21:14:42+08:00</updated><link href="https://codingman.cc/python-how-to-limit-the-number-of-threads"/><summary>當有一段工作需要平行化的時候，通常我們會很直覺的使用 `threading.Thread` 來做
但取決於各位機器的條件，有時候並不能無限制地狂開
因為只會提高工作出錯的機率
這時候就需要限制 thread 數量

這篇文章分享了幾種簡單又優雅地限制執行緒數量的方式</summary><published>2022-06-02T21:14:42+08:00</published></entry><entry><id>https://codingman.cc/python-how-to-get-last-month</id><title>Python 如何順利地取得上個月的月份</title><updated>2022-06-02T12:38:57+08:00</updated><link href="https://codingman.cc/python-how-to-get-last-month"/><summary>想要取得上個月的月份卻不知如何下手嗎？
當你開心地把今天減去 31 天卻忘記還有二月嗎？

這篇文章教導你，如何順利地取得上個月的月份</summary><published>2022-06-02T12:38:57+08:00</published></entry><entry><id>https://codingman.cc/python-how-to-handle-UnicodeEncodeError-exceptions</id><title>Python 如何處理存檔編碼錯誤</title><updated>2022-05-31T21:13:35+08:00</updated><link href="https://codingman.cc/python-how-to-handle-UnicodeEncodeError-exceptions"/><summary>有時存檔時遇到編碼錯誤但又不確定資料的編碼

這篇文章教導你如何在不知道資料編碼
但要存檔遇到 `UnicodeEncodeError` 錯誤時的處理方式</summary><published>2022-05-31T21:13:35+08:00</published></entry><entry><id>https://codingman.cc/leetcode-max-area-of-island</id><title>LeetCode 筆記 - 695. Max Area of Island</title><updated>2022-05-22T22:42:26+08:00</updated><link href="https://codingman.cc/leetcode-max-area-of-island"/><summary>題目在此 [695. Max Area of Island](https://leetcode.com/problems/max-area-of-island/)

&lt;img src="https://codingman.cc/images/auto/ce9e2827bb04e7a9c4cacd7be9f12fb3.jpg" alt="image 15" width="70%"&gt;

給你一張海圖，上邊有島嶼。請計算最大島嶼的面積</summary><published>2022-05-22T22:42:26+08:00</published></entry><entry><id>https://codingman.cc/leetcode-flood-fill</id><title>LeetCode 筆記 - 733. Flood Fill</title><updated>2022-05-22T22:38:34+08:00</updated><link href="https://codingman.cc/leetcode-flood-fill"/><summary>題目在此 [733. Flood Fill](https://leetcode.com/problems/flood-fill/)

&lt;img src="https://codingman.cc/images/auto/15f224f8c2d7c3fe6a76b62ae5ee50be.jpg" alt="image 14" width="70%"&gt;

給一張圖，給你一個點座標跟新顏色，請你將新顏色取代舊顏色</summary><published>2022-05-22T22:38:34+08:00</published></entry><entry><id>https://codingman.cc/leetcode-best-time-to-buy-and-sell-stock</id><title>LeetCode 筆記 - 121. Best Time to Buy and Sell Stock</title><updated>2022-05-22T22:34:37+08:00</updated><link href="https://codingman.cc/leetcode-best-time-to-buy-and-sell-stock"/><summary>題目在此 [121. Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)

給定每天股票的價格，請找出一買一賣之間，最大的獲利是多少</summary><published>2022-05-22T22:34:37+08:00</published></entry><entry><id>https://codingman.cc/leetcode-intersection-of-two-arrays-ii</id><title>LeetCode 筆記 - 350. Intersection of Two Arrays II</title><updated>2022-05-22T22:31:27+08:00</updated><link href="https://codingman.cc/leetcode-intersection-of-two-arrays-ii"/><summary>題目在此 [350. Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/)

請找出兩個數列之間重複的元素</summary><published>2022-05-22T22:31:27+08:00</published></entry><entry><id>https://codingman.cc/leetcode-intersection-of-two-arrays</id><title>LeetCode 筆記 - 349. Intersection of Two Arrays</title><updated>2022-05-22T22:25:05+08:00</updated><link href="https://codingman.cc/leetcode-intersection-of-two-arrays"/><summary>題目在此 [349. Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/)

請找出兩個數列之間重複的元素</summary><published>2022-05-22T22:25:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-permutation-in-string</id><title>LeetCode 筆記 - 567. Permutation in String</title><updated>2022-05-22T22:18:54+08:00</updated><link href="https://codingman.cc/leetcode-permutation-in-string"/><summary>題目在此 [567. Permutation in String](https://leetcode.com/problems/permutation-in-string/)

給定兩個字串，請判斷 `s1` 的所有排列組合，是否有出現在 `s2` 裏面</summary><published>2022-05-22T22:18:54+08:00</published></entry><entry><id>https://codingman.cc/leetcode-palindromic-substrings</id><title>LeetCode 筆記 - 647. Palindromic Substrings</title><updated>2022-05-22T22:04:58+08:00</updated><link href="https://codingman.cc/leetcode-palindromic-substrings"/><summary>題目在此 [647. Palindromic Substrings](https://leetcode.com/problems/palindromic-substrings/)

給定一個字串，請給出所有迴文的數量</summary><published>2022-05-22T22:04:58+08:00</published></entry><entry><id>https://codingman.cc/leetcode-merge-sorted-array</id><title>LeetCode 筆記 - 88. Merge Sorted Array</title><updated>2022-05-22T21:59:01+08:00</updated><link href="https://codingman.cc/leetcode-merge-sorted-array"/><summary>題目在此 [88. Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/)

給定兩個 [Sorting](https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95) 後的數列，請合併它們</summary><published>2022-05-22T21:59:01+08:00</published></entry><entry><id>https://codingman.cc/leetcode-coin-change</id><title>LeetCode 筆記 - 322. Coin Change</title><updated>2022-05-21T21:47:50+08:00</updated><link href="https://codingman.cc/leetcode-coin-change"/><summary>題目在此 [322. Coin Change](https://leetcode.com/problems/coin-change/)

給你錢幣種類跟目標數，請找出個數最少的錢幣組合可以組合出目標數</summary><published>2022-05-21T21:47:50+08:00</published></entry><entry><id>https://codingman.cc/leetcode-lru-cache</id><title>LeetCode 筆記 - 146. LRU Cache</title><updated>2022-05-21T21:38:50+08:00</updated><link href="https://codingman.cc/leetcode-lru-cache"/><summary>題目在此 [146. LRU Cache](https://leetcode.com/problems/lru-cache/)

請實作 [LRU Cache](https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU)</summary><published>2022-05-21T21:38:50+08:00</published></entry><entry><id>https://codingman.cc/leetcode-4sum</id><title>LeetCode 筆記 - 18. 4Sum</title><updated>2022-05-20T22:59:53+08:00</updated><link href="https://codingman.cc/leetcode-4sum"/><summary>題目在此 [18. 4Sum](https://leetcode.com/problems/4sum/)

給一個數列跟一個 target，請從數列找出 4 個數相加等於 target</summary><published>2022-05-20T22:59:53+08:00</published></entry><entry><id>https://codingman.cc/leetcode-unique-paths-ii</id><title>LeetCode 筆記 - 63. Unique Paths II</title><updated>2022-05-20T22:43:59+08:00</updated><link href="https://codingman.cc/leetcode-unique-paths-ii"/><summary>題目在此 [63. Unique Paths II](https://leetcode.com/problems/unique-paths-ii/)

&lt;img src="https://codingman.cc/images/auto/7e36a565404ca02d38d111de52076732.jpg" alt="image 31" width="40%"&gt;

給一個 m x n 的地圖，機器人固定從最左上走到最右下，只能選擇往下或往右
請計算出有多少種可能</summary><published>2022-05-20T22:43:59+08:00</published></entry><entry><id>https://codingman.cc/leetcode-middle-of-the-linked-list</id><title>LeetCode 筆記 - 876. Middle of the Linked List</title><updated>2022-05-20T22:37:16+08:00</updated><link href="https://codingman.cc/leetcode-middle-of-the-linked-list"/><summary>題目在此 [876. Middle of the Linked List](https://leetcode.com/problems/middle-of-the-linked-list/)

&lt;img src="https://codingman.cc/images/auto/642502d4905f0332e7eb6ac6f0ed67cd.jpg" alt="image 11" width="70%"&gt;

給一個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)，請回傳中間的 node</summary><published>2022-05-20T22:37:16+08:00</published></entry><entry><id>https://codingman.cc/leetcode-remove-nth-node-from-end-of-list</id><title>LeetCode 筆記 - 19. Remove Nth Node From End of List</title><updated>2022-05-20T22:26:38+08:00</updated><link href="https://codingman.cc/leetcode-remove-nth-node-from-end-of-list"/><summary>題目在此 [19. Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)

&lt;img src="https://codingman.cc/images/auto/f9eb7e37e98bfb00965185a6095fcd8d.jpg" alt="image 26" width="70%"&gt;

給一個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)，請移除後面數過來第 n 個 node</summary><published>2022-05-20T22:26:38+08:00</published></entry><entry><id>https://codingman.cc/leetcode-contains-duplicate</id><title>LeetCode 筆記 - 217. Contains Duplicate</title><updated>2022-05-20T22:16:25+08:00</updated><link href="https://codingman.cc/leetcode-contains-duplicate"/><summary>題目在此 [217. Contains Duplicate](https://leetcode.com/problems/contains-duplicate/)

給一個數列，回傳是否有重複的數值存在</summary><published>2022-05-20T22:16:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-maximum-subarray</id><title>LeetCode 筆記 - 53. Maximum Subarray</title><updated>2022-05-20T20:45:23+08:00</updated><link href="https://codingman.cc/leetcode-maximum-subarray"/><summary>題目在此 [53. Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)

給一個數列，找出相加起來最大值的區段</summary><published>2022-05-20T20:45:23+08:00</published></entry><entry><id>https://codingman.cc/leetcode-3sum-closest</id><title>LeetCode 筆記 - 16. 3Sum Closest</title><updated>2022-05-19T22:48:11+08:00</updated><link href="https://codingman.cc/leetcode-3sum-closest"/><summary>題目在此 [16. 3Sum Closest](https://leetcode.com/problems/3sum-closest/)

給一個數列跟 target，請找出相加最接近 target 的三個數</summary><published>2022-05-19T22:48:11+08:00</published></entry><entry><id>https://codingman.cc/leetcode-reverse-words-in-a-string-iii</id><title>LeetCode 筆記 - 557. Reverse Words in a String III</title><updated>2022-05-19T22:45:02+08:00</updated><link href="https://codingman.cc/leetcode-reverse-words-in-a-string-iii"/><summary>題目在此 [557. Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)

給一個句子，把裡面每一個單字，單獨反轉</summary><published>2022-05-19T22:45:02+08:00</published></entry><entry><id>https://codingman.cc/leetcode-reverse-string</id><title>LeetCode 筆記 - 344. Reverse String</title><updated>2022-05-19T22:40:58+08:00</updated><link href="https://codingman.cc/leetcode-reverse-string"/><summary>題目在此 [344. Reverse String](https://leetcode.com/problems/reverse-string/)

反轉字串</summary><published>2022-05-19T22:40:58+08:00</published></entry><entry><id>https://codingman.cc/leetcode-two-sum-ii-input-array-is-sorted</id><title>LeetCode 筆記 - 167. Two Sum II - Input Array Is Sorted</title><updated>2022-05-19T22:34:22+08:00</updated><link href="https://codingman.cc/leetcode-two-sum-ii-input-array-is-sorted"/><summary>題目在此 [167. Two Sum II - Input Array Is Sorted](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)

給一個 [Sorting](https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95) 過的數列，請找出兩個相加等於 target 的 index</summary><published>2022-05-19T22:34:22+08:00</published></entry><entry><id>https://codingman.cc/leetcode-move-zeroes</id><title>LeetCode 筆記 - 283. Move Zeroes</title><updated>2022-05-19T13:48:16+08:00</updated><link href="https://codingman.cc/leetcode-move-zeroes"/><summary>題目在此 [283. Move Zeroes](https://leetcode.com/problems/move-zeroes/)

給一個參雜 0 的數列，請把所有 0 移動到尾端</summary><published>2022-05-19T13:48:16+08:00</published></entry><entry><id>https://codingman.cc/leetcode-longest-increasing-path-in-a-matrix</id><title>LeetCode 筆記 - 329. Longest Increasing Path in a Matrix</title><updated>2022-05-19T12:51:36+08:00</updated><link href="https://codingman.cc/leetcode-longest-increasing-path-in-a-matrix"/><summary>題目在此 [329. Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/)

&lt;img src="https://codingman.cc/images/auto/d436ea72ef06c6038b50f729e3e23740.jpg" alt="image 24" width="40%"&gt;

給一個 matrix，請計算出最長遞增路徑的長度</summary><published>2022-05-19T12:51:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-critical-connections-in-a-network</id><title>LeetCode 筆記 - 1192. Critical Connections in a Network</title><updated>2022-05-18T22:49:47+08:00</updated><link href="https://codingman.cc/leetcode-critical-connections-in-a-network"/><summary>題目在此 [1192. Critical Connections in a Network](https://leetcode.com/problems/critical-connections-in-a-network/)

&lt;img src="https://codingman.cc/images/auto/1d59d87971e00c018618ab41afc80760.jpg" alt="image 13" width="40%"&gt;

給一個 graph 請找出所有 critical connections</summary><published>2022-05-18T22:49:47+08:00</published></entry><entry><id>https://codingman.cc/leetcode-3sum</id><title>LeetCode 筆記 - 15. 3Sum</title><updated>2022-05-18T19:38:44+08:00</updated><link href="https://codingman.cc/leetcode-3sum"/><summary>題目在此 [15. 3Sum](https://leetcode.com/problems/3sum/)

給定一個數列，請找出 3 個數字相加等於 0 的組合</summary><published>2022-05-18T19:38:44+08:00</published></entry><entry><id>https://codingman.cc/leetcode-container-with-most-water</id><title>LeetCode 筆記 - 11. Container With Most Water</title><updated>2022-05-17T19:21:32+08:00</updated><link href="https://codingman.cc/leetcode-container-with-most-water"/><summary>題目在此 [11. Container With Most Water](https://leetcode.com/problems/container-with-most-water/)

給一個數列，表示高度。
計算出這些高度任選兩個組合出的容器的最大容量
&lt;img src="https://codingman.cc/images/auto/8ae40936a75588238d3324740c451bad.jpg" alt="image 32" width="60%"&gt;</summary><published>2022-05-17T19:21:32+08:00</published></entry><entry><id>https://codingman.cc/leetcode-rotate-array</id><title>LeetCode 筆記 - 189. Rotate Array</title><updated>2022-05-17T10:26:08+08:00</updated><link href="https://codingman.cc/leetcode-rotate-array"/><summary>題目在此 [189. Rotate Array](https://leetcode.com/problems/rotate-array/)

給一個數列，你需要把數列最後面的數字移動到最前面 k 次</summary><published>2022-05-17T10:26:08+08:00</published></entry><entry><id>https://codingman.cc/leetcode-squares-of-a-sorted-array</id><title>LeetCode 筆記 - 977. Squares of a Sorted Array</title><updated>2022-05-17T10:05:53+08:00</updated><link href="https://codingman.cc/leetcode-squares-of-a-sorted-array"/><summary>題目在此 [977. Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/)

給一個 [Sorting](https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95) 過的數列，請將每個數字平方之後，再做一次排序</summary><published>2022-05-17T10:05:53+08:00</published></entry><entry><id>https://codingman.cc/leetcode-find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree</id><title>LeetCode 筆記 - 1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree</title><updated>2022-05-17T09:37:38+08:00</updated><link href="https://codingman.cc/leetcode-find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree"/><summary>題目在此 [1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree](https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/)

給兩個 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91) 一棵樹是另一顆的複製，還有 target node
請回傳 target node 在複製樹上的 reference</summary><published>2022-05-17T09:37:38+08:00</published></entry><entry><id>https://codingman.cc/leetcode-battleships-in-a-board</id><title>LeetCode 筆記 - 419. Battleships in a Board</title><updated>2022-05-16T21:08:51+08:00</updated><link href="https://codingman.cc/leetcode-battleships-in-a-board"/><summary>題目在此 [419. Battleships in a Board](https://leetcode.com/problems/battleships-in-a-board/)

給定一個 `m x n` 的矩陣，船可能是 1 x k 或 k x 1，不會有相鄰的船
計算總共有幾艘船
&lt;img src="https://codingman.cc/images/auto/5889980bd41a2095800cc340213c6944.jpg" alt="image 23" width="40%"&gt;</summary><published>2022-05-16T21:08:51+08:00</published></entry><entry><id>https://codingman.cc/leetcode-search-insert-position</id><title>LeetCode 筆記 - 35. Search Insert Position</title><updated>2022-05-16T20:40:57+08:00</updated><link href="https://codingman.cc/leetcode-search-insert-position"/><summary>題目在此 [35. Search Insert Position](https://leetcode.com/problems/search-insert-position/)

給一個 [Sorting](https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95) 過的數列與 target
找出 target 的 index，如果不存在就找出 target 可以插入的 index</summary><published>2022-05-16T20:40:57+08:00</published></entry><entry><id>https://codingman.cc/leetcode-first-bad-version</id><title>LeetCode 筆記 - 278-First-Bad-Version</title><updated>2022-05-16T20:07:59+08:00</updated><link href="https://codingman.cc/leetcode-first-bad-version"/><summary>題目在此 [278. First Bad Version](https://leetcode.com/problems/first-bad-version/)

給正整數 n，找出 1 ~ n 第一個壞掉的版本</summary><published>2022-05-16T20:07:59+08:00</published></entry><entry><id>https://codingman.cc/leetcode-binary-search</id><title>LeetCode 筆記 - 704. Binary Search</title><updated>2022-05-16T20:06:57+08:00</updated><link href="https://codingman.cc/leetcode-binary-search"/><summary>題目在此 [704. Binary Search](https://leetcode.com/problems/binary-search/)

給一個數列，實作 [Binary Search](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%88%86%E6%90%9C%E5%B0%8B%E6%BC%94%E7%AE%97%E6%B3%95) 找出 target 的 index</summary><published>2022-05-16T20:06:57+08:00</published></entry><entry><id>https://codingman.cc/leetcode-binary-tree-zigzag-level-order-traversal</id><title>LeetCode 筆記 - 103. Binary Tree Zigzag Level Order Traversal</title><updated>2022-05-16T17:14:05+08:00</updated><link href="https://codingman.cc/leetcode-binary-tree-zigzag-level-order-traversal"/><summary>題目在此 [103. Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)

給定一個 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)
搜集每一層的數值，每隔一層搜集順序就需要反過來</summary><published>2022-05-16T17:14:05+08:00</published></entry><entry><id>https://codingman.cc/leetcode-shortest-path-in-binary-matrix</id><title>LeetCode 筆記 - 1091. Shortest Path in Binary Matrix</title><updated>2022-05-16T15:00:00+08:00</updated><link href="https://codingman.cc/leetcode-shortest-path-in-binary-matrix"/><summary>題目在此 [1091. Shortest Path in Binary Matrix](https://leetcode.com/problems/shortest-path-in-binary-matrix/)

給定一個地圖找出最短路徑

&lt;img src="https://codingman.cc/images/auto/80f033bf09e51f3c27f0df8a0a583419.jpg" alt="image 25" width="70%"&gt;</summary><published>2022-05-16T15:00:00+08:00</published></entry><entry><id>https://codingman.cc/leetcode-deepest-leaves-sum</id><title>LeetCode 筆記 - 1302. Deepest Leaves Sum</title><updated>2022-05-15T16:14:17+08:00</updated><link href="https://codingman.cc/leetcode-deepest-leaves-sum"/><summary>題目在此 [1302. Deepest Leaves Sum](https://leetcode.com/problems/deepest-leaves-sum/)

給定一個 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)，計算出最深 node 的總和

&lt;img src="https://codingman.cc/images/auto/bebe94d58255ebf989051b94eb12b330.jpg" alt="image 10" width="50%"&gt;</summary><published>2022-05-15T16:14:17+08:00</published></entry><entry><id>https://codingman.cc/how-to-properly-initialize-2d-list</id><title>Python 如何正確初始化二維陣列</title><updated>2022-05-15T14:57:40+08:00</updated><link href="https://codingman.cc/how-to-properly-initialize-2d-list"/><summary>最近的開發~~刷題~~需求中，遇到需要宣告二維陣列的情境，卻發現資料的存取結果與預期不符。
資料怎麼塞都不對...🥹

在這篇文章中，我將分享如何正確地初始化 Python 二維陣列。</summary><published>2022-05-15T14:57:40+08:00</published></entry><entry><id>https://codingman.cc/leetcode-backspace-string-compare</id><title>LeetCode 筆記 - 844. Backspace String Compare</title><updated>2022-05-15T13:00:42+08:00</updated><link href="https://codingman.cc/leetcode-backspace-string-compare"/><summary>題目在此 [844. Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)

給定兩個字串，請判斷處理完退位鍵 `#` 是否相等</summary><published>2022-05-15T13:00:42+08:00</published></entry><entry><id>https://codingman.cc/leetcode-populating-next-right-pointers-in-each-node-ii</id><title>LeetCode 筆記 - 117. Populating Next Right Pointers in Each Node II</title><updated>2022-05-15T13:00:36+08:00</updated><link href="https://codingman.cc/leetcode-populating-next-right-pointers-in-each-node-ii"/><summary>題目在此 [117. Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)

給定一個 [Binary Tree](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91)，請為每一個 node 的 next 指向右邊 node
&lt;img src="https://codingman.cc/images/auto/97f66467770c7f607228383a81598ca5.jpg" alt="image 12" width="70%"&gt;</summary><published>2022-05-15T13:00:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-populating-next-right-pointers-in-each-node</id><title>LeetCode 筆記 - 116. Populating Next Right Pointers in Each Node</title><updated>2022-05-15T12:55:36+08:00</updated><link href="https://codingman.cc/leetcode-populating-next-right-pointers-in-each-node"/><summary>題目在此 [116. Populating Next Right Pointers in Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)

給定一個 [Perfect Binary Tree](https://www.programiz.com/dsa/perfect-binary-tree)，請為每一個 node 的 next 指向右邊 node</summary><published>2022-05-15T12:55:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-combinations</id><title>LeetCode 筆記 - 77. Combinations</title><updated>2022-05-15T11:55:36+08:00</updated><link href="https://codingman.cc/leetcode-combinations"/><summary>題目在此 [77. Combinations](https://leetcode.com/problems/combinations/)

給兩個正整數 n, k，計算出 1 ~ n 所有長度為 k 的排列組合</summary><published>2022-05-15T11:55:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-network-delay-time</id><title>LeetCode 筆記 - 743. Network Delay Time</title><updated>2022-05-14T21:55:36+08:00</updated><link href="https://codingman.cc/leetcode-network-delay-time"/><summary>題目在此 [743. Network Delay Time](https://leetcode.com/problems/network-delay-time/)

給定一個 Graph 與每個邊的方向與權重，指定一個 node 計算出訊號抵達所有 node 的時間</summary><published>2022-05-14T21:55:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-permutations-ii</id><title>LeetCode 筆記 - 47. Permutations II</title><updated>2022-05-12T21:55:36+08:00</updated><link href="https://codingman.cc/leetcode-permutations-ii"/><summary>題目在此 [47. Permutations II](https://leetcode.com/problems/permutations-ii/)

給定一個重複數列，計算出所有不重複排列</summary><published>2022-05-12T21:55:36+08:00</published></entry><entry><id>https://codingman.cc/leetcode-permutations</id><title>LeetCode 筆記 - 46. Permutations</title><updated>2022-05-12T21:01:20+08:00</updated><link href="https://codingman.cc/leetcode-permutations"/><summary>題目在此 [46. Permutations](https://leetcode.com/problems/permutations/)

給定一個不重複數列，計算出所有排列</summary><published>2022-05-12T21:01:20+08:00</published></entry><entry><id>https://codingman.cc/leetcode-count-sorted-vowel-strings</id><title>LeetCode 筆記 - Count Sorted Vowel Strings</title><updated>2022-05-11T23:52:20+08:00</updated><link href="https://codingman.cc/leetcode-count-sorted-vowel-strings"/><summary>題目在此 [1641. Count Sorted Vowel Strings](https://leetcode.com/problems/count-sorted-vowel-strings/)

給一個整數 n ，計算出有幾種長度為 n 的按照字典順序排列的 a, e, i, o, u 排列組合</summary><published>2022-05-11T23:52:20+08:00</published></entry><entry><id>https://codingman.cc/leetcode-reverse-integer</id><title>LeetCode 筆記 - 7. Reverse Integer</title><updated>2022-05-09T22:50:34+08:00</updated><link href="https://codingman.cc/leetcode-reverse-integer"/><summary>題目在此 [7. Reverse Integer](https://leetcode.com/problems/reverse-integer/)

將數字反轉</summary><published>2022-05-09T22:50:34+08:00</published></entry><entry><id>https://codingman.cc/leetcode-implement-strstr</id><title>LeetCode 筆記 - Implement strStr()</title><updated>2022-05-09T22:42:34+08:00</updated><link href="https://codingman.cc/leetcode-implement-strstr"/><summary>題目在此 [28. Implement strStr()](https://leetcode.com/problems/implement-strstr/)

實作 C 語言的 strstr()</summary><published>2022-05-09T22:42:34+08:00</published></entry><entry><id>https://codingman.cc/leetcode-longest-palindromic-substring</id><title>LeetCode 筆記 - Longest Palindromic Substring</title><updated>2022-05-08T15:25:25+08:00</updated><link href="https://codingman.cc/leetcode-longest-palindromic-substring"/><summary>題目在此 [5. Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)

給定一個字串，找出最長迴文子字串</summary><published>2022-05-08T15:25:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-median-of-two-sorted-arrays</id><title>LeetCode 筆記 - Median of Two Sorted Arrays</title><updated>2022-05-07T15:25:25+08:00</updated><link href="https://codingman.cc/leetcode-median-of-two-sorted-arrays"/><summary>題目在此 [4. Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)


給定兩個 [Sorting](https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95) 過的數列，請合併後計算出 [中位數](https://zh.wikipedia.org/wiki/%E4%B8%AD%E4%BD%8D%E6%95%B8)</summary><published>2022-05-07T15:25:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-longest-substring-without-repeating-characters</id><title>LeetCode 筆記 - Longest Substring Without Repeating Characters</title><updated>2022-05-07T12:25:25+08:00</updated><link href="https://codingman.cc/leetcode-longest-substring-without-repeating-characters"/><summary>題目在此 [3. Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)

給定一個字串，請給出最長不重複子字串的長度</summary><published>2022-05-07T12:25:25+08:00</published></entry><entry><id>https://codingman.cc/leetcode-add-two-numbers</id><title>LeetCode 筆記 - Add Two Numbers</title><updated>2022-05-06T10:52:20+08:00</updated><link href="https://codingman.cc/leetcode-add-two-numbers"/><summary>題目在此 [2. Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)

給你兩個 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)，裏面各自 **反序** 存放一個數字
取出來相加之後，再依照 **反序** 的規則放進 [Linked list](https://zh.wikipedia.org/wiki/%E9%93%BE%E8%A1%A8)</summary><published>2022-05-06T10:52:20+08:00</published></entry><entry><id>https://codingman.cc/leetcode-two-sum</id><title>LeetCode 筆記 - 1. Two Sum</title><updated>2022-05-06T10:21:31+08:00</updated><link href="https://codingman.cc/leetcode-two-sum"/><summary>題目在此 [1. Two Sum](https://leetcode.com/problems/two-sum/)

如何快速的在一個數列找到兩個數目字相加等於目標數？</summary><published>2022-05-06T10:21:31+08:00</published></entry><entry><id>https://codingman.cc/Social-Distance-App-shortcut-on-iOS</id><title>在 iOS 新增「社交距離 app」捷徑</title><updated>2022-04-27T19:41:12+08:00</updated><link href="https://codingman.cc/Social-Distance-App-shortcut-on-iOS"/><summary>由於目前「社交距離 app」尚未直接支援 iOS 捷徑

此篇文章分享一個簡單捷徑
讓你各位可以方便地在需要出示的時候快速開啟</summary><published>2022-04-27T19:41:12+08:00</published></entry><entry><id>https://codingman.cc/adjust-pycharm-file-size-limit</id><title>調整 PyCharm 檔案大小限制</title><updated>2022-03-22T21:53:14+08:00</updated><link href="https://codingman.cc/adjust-pycharm-file-size-limit"/><summary>最近在開發的過程中，需要瀏覽 2.56 MB 以上大小的 json 檔案
這時候遭遇到一個問題是，這個大小超過了 PyCharm 檔案大小限制
以致於無法正確上色

這篇文章教導你如何解開束縛！</summary><published>2022-03-22T21:53:14+08:00</published></entry><entry><id>https://codingman.cc/automate-your-work-with-crontab</id><title>使用 crontab 排程自動化你的工作</title><updated>2022-02-12T23:05:52+08:00</updated><link href="https://codingman.cc/automate-your-work-with-crontab"/><summary>如果你需要執行一些固定的指令
這時候你可以使用 `crontab` 來讓電腦固定執行這些工作喔！</summary><published>2022-02-12T23:05:52+08:00</published></entry><entry><id>https://codingman.cc/hackmd-dark-theme</id><title>HackMD - 深色主題</title><updated>2022-01-29T23:41:12+08:00</updated><link href="https://codingman.cc/hackmd-dark-theme"/><summary>身為一個 HackMD 的愛用者
當然免不了幫 HackMD 上一下 dark theme 來保護眼睛</summary><published>2022-01-29T23:41:12+08:00</published></entry><entry><id>https://codingman.cc/text-to-gif</id><title>跑馬燈圖片工具</title><updated>2022-01-29T18:49:30+08:00</updated><link href="https://codingman.cc/text-to-gif"/><summary>之前在 Slack 看到有一次跑一個字的 gif 覺得很好玩
想自己做做看，發現這中間需要好幾個線上服務才可以做出來
如果字多一點其實還蠻花時間的！

所以寫了一個跑馬燈圖片產生工具，這樣一來就可以大量產生自己想要的 gif 圖！

&lt;img src="https://codingman.cc/images/auto/d79d03b40b949cb63a34b86957e178f0.gif" alt="image 0" width="20%"&gt;</summary><published>2022-01-29T18:49:30+08:00</published></entry><entry><id>https://codingman.cc/how-to-remove-empty-element-from-list-in-python</id><title>Python 如何從 list 移除空元素</title><updated>2022-01-29T17:19:14+08:00</updated><link href="https://codingman.cc/how-to-remove-empty-element-from-list-in-python"/><summary>有時候，常常會需要在 list 移除空白元素
但常常會忘記怎麼寫，在這邊做個簡單的筆記</summary><published>2022-01-29T17:19:14+08:00</published></entry><entry><id>https://codingman.cc/solve-sudoku-in-python</id><title>使用 Python 解開數獨</title><updated>2022-01-29T01:32:11+08:00</updated><link href="https://codingman.cc/solve-sudoku-in-python"/><summary>不知道從什麼時候開始
我就很喜歡數獨這個遊戲形式

它很美</summary><published>2022-01-29T01:32:11+08:00</published></entry><entry><id>https://codingman.cc/4273</id><title>non-breaking space 問題</title><updated>2022-01-24T14:58:51+08:00</updated><link href="https://codingman.cc/4273"/><summary>在檢視海量資料時，發現偶爾會有幾筆資料會比對不過
印出來比對發現在可視範圍一模一樣

轉成 byte 才發現有一個長得不一樣的空白
在 utf-8 底下數值為 `\xa0`</summary><published>2022-01-24T14:58:51+08:00</published></entry><entry><id>https://codingman.cc/4d01</id><title>如何使用 GitHub Actions 同步 PDF 至 Github Pages</title><updated>2022-01-22T22:27:38+08:00</updated><link href="https://codingman.cc/4d01"/><summary>有些時候會需要同步文件的 PDF 檔案到網路空間上 ~~例如履歷~~

在這裡我分享一下，我是如何在 Google slide 修改好文件
然後使用 GitHub Actions 同步 PDF 檔案到部落格空間的</summary><published>2022-01-22T22:27:38+08:00</published></entry><entry><id>https://codingman.cc/5aa0</id><title>軟體工程師的我如何準備轉職</title><updated>2022-01-22T12:57:16+08:00</updated><link href="https://codingman.cc/5aa0"/><summary>在一家公司做久了
也許會覺得工作環境過於舒適，也許覺得心灰意冷
又或者想趁還可以出去看看的時候勇敢跳出去

筆者本身做過應用也做過 DevOps 的軟體工程師
希望可以在這篇文章，跟相關領域同樣想轉職的年輕工程師分享一下自身的準備經歷</summary><published>2022-01-22T12:57:16+08:00</published></entry><entry><id>https://codingman.cc/1453</id><title>幫 Ubuntu 加上新硬碟</title><updated>2022-01-12T23:59:50+08:00</updated><link href="https://codingman.cc/1453"/><summary>當你安裝好 Ubuntu 處理好 [錯誤的硬碟分割](/a61d) 的時候，接下來就是要將新的資料硬碟掛載到系統上。

本文將逐步引導你完成這個過程。</summary><published>2022-01-12T23:59:50+08:00</published></entry><entry><id>https://codingman.cc/a61d</id><title>Ubuntu 藉由 LVM 解決預設硬碟分割錯誤</title><updated>2022-01-12T23:07:44+08:00</updated><link href="https://codingman.cc/a61d"/><summary>&gt; 邏輯捲軸管理器（英語：Logical Volume Manager，縮寫為LVM），
&gt; 又譯為邏輯卷宗管理器、邏輯磁區管理器、邏輯磁碟管理器，
&gt; 是 Linux 核心所提供的邏輯捲軸管理（Logical volume management）功能。
&gt; 它在硬碟的硬碟分割區之上，又建立一個邏輯層，以方便系統管理硬碟分割系統。

-- [維基百科-LVM](https://zh.wikipedia.org/wiki/%E9%82%8F%E8%BC%AF%E6%8D%B2%E8%BB%B8%E7%AE%A1%E7%90%86%E5%93%A1)</summary><published>2022-01-12T23:07:44+08:00</published></entry><entry><id>https://codingman.cc/d9b2</id><title>追尋多年的三角棋</title><updated>2022-01-07T08:07:59+08:00</updated><link href="https://codingman.cc/d9b2"/><summary>&lt;img src="https://codingman.cc/images/auto/f67d0914105f3d1e9dcde3a4df2ee3b8.jpg" alt="image 44" width="400"&gt;

&gt; 三角棋或三角殺棋[[1]]，開始時共有 15 個圈圈，每個回合玩家可以畫一個直線，消掉相鄰的一到三顆
&gt; 輪流畫到最後一顆的人輸

[1]: https://zh.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E6%A3%8B</summary><published>2022-01-07T08:07:59+08:00</published></entry><entry><id>https://codingman.cc/d55c</id><title>讓 git 忽略檔案權限變更</title><updated>2021-12-29T17:08:27+08:00</updated><link href="https://codingman.cc/d55c"/><summary>在 Mac 或者 Linux 環境底下，有時候使用了 ```chmod``` 變更了檔案權限
結果 git 就把大量的檔案權限變更都列入檔案更動裡</summary><published>2021-12-29T17:08:27+08:00</published></entry><entry><id>https://codingman.cc/aa93</id><title>Linux 超簡單壓縮與解壓縮指令筆記</title><updated>2021-12-28T21:11:23+08:00</updated><link href="https://codingman.cc/aa93"/><summary>這裡整理常見的 Linux 壓縮格式與指令。不同壓縮格式有不一樣的特性：

- .tar - 僅打包多個檔案，無壓縮功能。適合用於保留檔案權限、時戳等資訊
- .gz - 壓縮比適中，壓縮/解壓速度快。適合單一大檔案的快速壓縮
- .tar.gz - 結合 tar 打包與 gzip 壓縮，是 Linux 最常見的壓縮格式。常用於軟體發布
- .tar.xz - 採用 LZMA2 演算法，提供較高壓縮比但耗時較長。適合需要節省空間的發布場景
- .7z - 支援多種壓縮演算法，提供高壓縮比與加密功能。適合需要加密或極致壓縮的場景
- .zip - 通用性高，所有作業系統都支援。適合需要跨平台分享的檔案</summary><published>2021-12-28T21:11:23+08:00</published></entry><entry><id>https://codingman.cc/b38f</id><title>駭客任務寫得很好的心得</title><updated>2021-12-28T14:55:28+08:00</updated><link href="https://codingman.cc/b38f"/><summary>在這邊留存一篇我覺得寫得很好的心得
這篇在很多年前讀到，我覺得很棒，就一直放在心上</summary><published>2021-12-28T14:55:28+08:00</published></entry><entry><id>https://codingman.cc/72b1</id><title>駭客任務：復活 觀影心得</title><updated>2021-12-27T16:03:19+08:00</updated><link href="https://codingman.cc/72b1"/><summary>觀影心得，無雷
我看完整部電影只有一句話</summary><published>2021-12-27T16:03:19+08:00</published></entry><entry><id>https://codingman.cc/77fa</id><title>PTT 八卦板新年首 PO 機器人</title><updated>2021-12-24T21:59:18+08:00</updated><link href="https://codingman.cc/77fa"/><summary>此機器人集中二技術力之大成，成功在 2021 與 2023 新年搶到八卦板首 PO
本人發誓要是搶到首 PO，就把程式碼釋出！
因此才有了此篇說明教學，教導您如何順利地搶下首 PO</summary><published>2021-12-24T21:59:18+08:00</published></entry><entry><id>https://codingman.cc/4b74</id><title>Bash 雙引號與單引號的區別</title><updated>2021-12-22T22:27:14+08:00</updated><link href="https://codingman.cc/4b74"/><summary>最近在 k8s 上解構別人的 Dockerfile，想要把一些變數參數化，不小心忽略了這個小細節，結果淹沒在巨大的指令海裡
經過一番追尋之後，才終於發現了這個小細節</summary><published>2021-12-22T22:27:14+08:00</published></entry><entry><id>https://codingman.cc/1b09</id><title>Hexo 插件推薦清單</title><updated>2021-12-21T10:19:41+08:00</updated><link href="https://codingman.cc/1b09"/><summary>這個部落格有用到的插件</summary><published>2021-12-21T10:19:41+08:00</published></entry><entry><id>https://codingman.cc/7324</id><title>如何提升網路品質</title><updated>2021-12-21T10:17:15+08:00</updated><link href="https://codingman.cc/7324"/><summary>近來因為疫情的關係，在家工作已經變成常態。也越來越多公司開始轉型，對於遠端的工作型態更為友善
線上會議也開始變成主要的開會形式

如何做好家裡的網路基礎建設，變成一個重要的課題</summary><published>2021-12-21T10:17:15+08:00</published></entry><entry><id>https://codingman.cc/5431</id><title>避免 Github Pages 被 Actions 覆寫 domain 設定</title><updated>2021-12-19T13:28:21+08:00</updated><link href="https://codingman.cc/5431"/><summary>終於把自己的 domain name 設定上 Github Pages 了，卻發現一但發佈新文章，我的 domain 設定就會被 Github 自動幫我加上的 `pages build and deployment` workflow
設定回原本的 domain...</summary><published>2021-12-19T13:28:21+08:00</published></entry><entry><id>https://codingman.cc/e6c7</id><title>歷代 Python 語法重點隨筆</title><updated>2021-12-17T14:28:12+08:00</updated><link href="https://codingman.cc/e6c7"/><summary>紀錄 Python 每一代新出值得注意的新語法，持續更新</summary><published>2021-12-17T14:28:12+08:00</published></entry><entry><id>https://codingman.cc/e3e</id><title>Minecraft 磐石伺服器架設技術剖析 使用 GCP</title><updated>2021-12-17T11:04:25+08:00</updated><link href="https://codingman.cc/e3e"/><summary>本文是希望可以從軟體工程師的角度出發
紀錄一下是如何一步一步的架設伺服器的
希望也幫助到其他想架設 Minecraft 伺服器的人</summary><published>2021-12-17T11:04:25+08:00</published></entry><entry><id>https://codingman.cc/f4a9</id><title>hexo 心得</title><updated>2021-12-16T16:02:09+08:00</updated><link href="https://codingman.cc/f4a9"/><summary>花了一些時間才比較搞清楚整個 hexo 流程</summary><published>2021-12-16T16:02:09+08:00</published></entry></feed>