快轉到主要內容

文章

我也在 dev.to → 發表文章——以黑客松和程式挑戰為主的短篇技術文章。

2021

Add LikeWidget to Jekyll theme

·597 字·2 分鐘
更新 # 已從 Jekyll migrate 到 Hugo, 這篇方法原理不變但 code 放的位置和內容要修正。 LikeCoin # 前陣子對 LikeCoin 發生了一點興趣, LikeCoin 是一種虛擬貨幣, 創立的初衷是想做為一種獎勵創作者的機制, 創作者在文章裡放入 Like Button, 讓大家對他的按鈕按讚鼓掌, 他就能收到相對的 LikeCoin。 至於作者能獲得多少 LikeCoin 就要看按讚讀者的帳戶種類, 如果讀者註冊的是免費帳戶, 那點下的讚就由 LikeCoin 的基金會按比例支付; 如果讀者註冊的是付費帳戶, 那就看該讀者當月按下多少讚按比例分配。 詳情可以參考 LikeCoin 的 Medium。

從所有的 git repository 移除 .DS_Store 追蹤

·436 字·1 分鐘
每當建立一個新的資料夾並在裡面放了一些檔案, MacOS 就會在該資料夾下自動產生一個 .DS_Store 檔案, 也就導致了 .DS_Store 在 macOS 裡面散的到處都是。 而每次有新的 Git repository 就一定要在 .gitignore 裡加 .DS_Store 和 **/.DS_Store 實在是很煩人, 所以就研究了一下找了個辦法一次設定好之後就能夠一勞永逸。

Managing Pre-existing Global NPM Packages After Installing NVM

·383 字·1 分鐘
今天遇到一個問題, 安裝過 nvm 後安裝 global package 的路徑就被改變了, 導致想要移除之前安裝過的 global package 時沒辦法直接用 npm uninstall -g 移除。 怎麼發現這件事的呢? 很久以前我在 global 裝過一個 package 可以直接在 terminal 呼叫 command 執行,

Pyenv Notes

·550 字·2 分鐘
pyenv 的功能和使用的原因 # pyenv 是用來在系統裡安裝各種不同版本的 python, 並能夠方便的切換 python 版本的工具。

Python Coroutine Asyncio

·1102 字·3 分鐘
在出現 asyncio 前, 當一隻 Python 程式有很多需要並行執行的 task, 想要提升程式效能, 只能選用 multiprocessing 或 threading; Python 3.4 之後又多出了 asyncio 的選擇。 asyncio 可以用來撰寫 coroutines, 並使用 event loop 並行執行 coroutines, 減少程式不必要的等待時間以提升效能。

Pipenv Notes

·660 字·2 分鐘
Why Pipenv # 當有很多 Python project 要維護, 不同的 project 有可能使用相同的 python libraries 的不同版本, 不使用 virtual environment 而將所有的 python modules 都裝在自己的機器上就會造成版本衝突。 過去使用 virtualenv + requirement.txt 的機制可以在不同的 project 使用同一個套件的不同版本, 也能夠讓新加入的開發者或 production 環境可以快速安裝 project 需要的套件,

Stateless HTTP, Stateful Session and Cookies

·938 字·2 分鐘
Stateless HTTP # HTTP 是一種 stateless 的 protocol, 也就是說每一次的 request / response 都是獨立的, 和之前或之後的 request / response 無關。 相同的 request 就會回應相同的 response, 不會因為之前的 request / response 內容而有不同。

WSL 2 on Windows Part 2 - Terminal 介面設定

·571 字·2 分鐘
把在 Linux 和 Mac 上 terminal 的設定也搬到 Windows 上, 方便操作。 Windows Terminal 功能 # 用 Windows terminal 可以 啟用多個分頁 (在多個 Linux CLI、Windows CLI、PowerShell等之間快速切換) 自訂按鍵 (開啟或關閉分頁、複製+貼上等快速鍵) 使用搜尋功能 自訂佈景主題 這些功能比原生 WSL 能支援的多的多, 也可以設定的和我在 Linux 或 Mac 的開發環境比較相似, 於是就決定選用 windows terminal 了。

WSL 2 on Windows Part 1 - 安裝啟用

·652 字·2 分鐘
工作的時候習慣用 Linux 或 mac 的 terminal, 找了個時間在家裡的 PC 上把 WSL 的環境也設定一下方便切換工作環境。 WSL 2 和 WSL 1 的差異 # WSL 2 是基於 Hyper-V 在 virtual machine 中跑完整的 Linux kernal, WSL 1 則是在 Windows 系統上對 Linux 功能的模擬, 因此 WSL 2 比 WSL 1 支援更多 Linux 原生的功能和 system call。