https://www.gravatar.com/avatar/206912d6900c65386f24516df605c206?s=240&d=mp

Kourtney's Space

使用 GitHub CLI 徹底移除 GitHub 上頑固的「幽靈通知」

GitHub notification 對開發者來說是一向很方便的工具,可以用來追蹤 issue、pull request 和提及 (mention)。但某天我的通知標記忽然就這麼卡住了,即使已讀了所有內容也他還是非常頑固的卡在那裡,在又拖了幾個月之後我才終於花了點時間研究發生了什麼事。

Multiprocessing, Multithreading and Asyncio in Python Part 1 - Basic Concept

在 Python 3.4 之後出現了 Asyncio 可以在特定情境下提升效能,
結合之前已經有的 Multiprocessing 和 Multithreading,
我整理了一下這三項技術適合的原理、差異和使用情境做了幾篇紀錄。
這一篇先簡單介紹三者的基本概念和適用情境。

Sync Obsidian / Joplin Data Across Multiple Device with Synology WebDAV

原先我使用的筆記軟體是 Notion,
功能豐富且介面美觀,
但幾年前 Notion 出現了隱私權爭議,
被指控偷看某公司放在 Notion 的內容,
甚至進一步提出合作;
就改用了一陣子 Joplin
但最後還是轉到了擁有大量外掛及社群支援,
而且可以高度客製化的 Obsidian

Managing Pre-existing Global NPM Packages After Installing NVM

今天遇到一個問題,

安裝過 nvm 後安裝 global package 的路徑就被改變了,

導致想要移除之前安裝過的 global package 時沒辦法直接用 npm uninstall -g 移除。

怎麼發現這件事的呢?

很久以前我在 global 裝過一個 package 可以直接在 terminal 呼叫 command 執行,

Pyenv Notes

pyenv 的功能和使用的原因

pyenv 是用來在系統裡安裝各種不同版本的 python,

並能夠方便的切換 python 版本的工具。

當同時有不同 python 版本的專案需要開發或維護時,

就會需要使用 pyenv 來協助切換 python 的版本。