快轉到主要內容

Programming

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 需要的套件,

Deep Copy and Shallow Copy

·192 字·1 分鐘
Shallow Copy # 複製越少越好, Shallow copy 出來的新的 structure 擁有跟舊的 structure 相同的結構, 並一起共享 elements 的記憶體位置。

Github Pages and Jekyll - sitemap

·343 字·1 分鐘
更新 # 已從 Jekyll migrate 到 Hugo, 這篇方法僅適用 Jekyll。 Sitemap # sitemap 基本上就一個 .xml 檔案, 裡面包含了網站有哪些頁面連結, 讓搜尋引擎去爬, 搜尋引擎爬完以後就可以建立 index, 之後有人在搜尋引擎打關鍵字才搜尋的到。 Jekyll-sitemap # Jekyll 有一個 plugin 叫做 jekyll-stiemap, 可以在每次 build 網站之後自動產生 sitemap。