zsh 透過 zinit 安裝 Powerlevel10k 佈景主題

Photo by Niklas Jeromin

在〈Ubuntu 安裝使用 zsh + 輕量級套件管理器 zinit〉一文中講述了如何在 Ubuntu 安裝 zsh 以及套件管理器 zinit,但省略了「佈景主題」的相關說明。

這次適逢拿到全新的工作機——M2 Macbook Air,我不得不重新建立 macOS 上的 zsh 與 zinit 開發環境。

通常遇到這樣「重新設定」的情境,我真的就是回頭看自己寫的文章,一步一步照著操作,可惜上述文章卻沒有關於 Powerlevel10k 的安裝部分,也對我自己造成了不便。

Powerlevel10k 已成為我現在使用 zsh 時,必定搭配的佈景主題。所以,只是設定好 zinit 是不夠的,我還需要補上 Powerlevel10k 這塊拼圖才行,於是有了本文的誕生。

Hexo 部落格寫作一週年:完整心得與總結 + 如何持續寫作 Part 2

by Elizaveta Rusalskaya on Behance

2018 年 2 月,我開始在 Medium 平台上寫作,並持續了好幾年。直到去年 6 月,我終於下定決心,雖不完全脫離 Medium,但改用 Hexo 靜態框架、GitHub Pages、獨立網域「kyomind.tw」,建立自己的 blog 來進行文字創作。

其中的原因與方案選擇過程,以及如何透過 Notion、VS Code 實踐 Markdown 寫作,我已透過下列三篇文章,詳加表述。

就以本文,為整個系列劃上階段性句點。

系列:Medium 到 Hexo——我的 Markdown 靜態部落格寫作四部曲

  1. 不離開 Medium,我自架 blog 的理由與選擇(上):理由篇
  2. 不離開 Medium,我自架 blog 的理由與選擇(下):選擇篇
  3. Notion + VS Code:我的 Markdown 寫作工作流
  4. Hexo 部落格寫作一週年:完整心得與總結 + 如何持續寫作 Part 2

前言:獨立一週年

本站第一篇文章是去年 6 月 24 日發表,也就是上述的「理由篇」,最近剛滿一年了,是時候該來好好整理一下,這一年之間,有關部落格寫作的心得與總結。

這篇剛好是全站第 40 篇文章,可謂別具意義。

有別於常見的個人年度回顧與展望,既然是部落格的週年紀念文章,闡述重心自然會落在「寫作」這個主題上。其中也包括最重要的——寫作對我的影響

pyproject.toml 介紹 + VS Code 整合 Black、yapf、isort 教學

by Eugene Frost on Behance

在〈再見了 pip!最佳 Python 套件管理器——Poetry 完全入門指南〉中,我提到了自己選擇 Poetry 而非 Pipenv 的兩大理由之一,是因為 Poetry 採用了pyproject.toml作為它的工具設定檔。

本文則直接以 pyproject.toml 為主角,用一半以上的篇幅對其做進一步介紹。

第二部分則大概講解一下:在 VS Code 中如何透過pyproject.toml,作為 Black、yapf、isort 這幾個常用的 Python 開發工具的共同設定檔,而非使用 VS Code 自身的settings.json來儲存設定。並提醒一些使用上的細節。

Django:以 request.headers 而非 META 獲取 HTTP header 資訊

我們知道,Django 提供了專屬的 HttpRequest 類別,把從前端(主要為瀏覽器)傳過來的 HTTP 請求重新封裝成 OOP 物件,方便操作、使用。

而這個HttpRequest物件,也就是我們開發時,前端傳給 view 函式的第一個位置參數——request

我們經常使用它,在 view 函式(或類別)內部獲得本次 HTTP 請求的相關資訊,比如所使用的 HTTP 方法,或下面提到的 header 相關資訊等等。

1
2
3
4
if request.method == 'GET':
do_something()
elif request.method == 'POST':
do_something_else()

GitHub Copilot 心得——寫文章的利器?

copilot.github.com

2022/06/22:GitHub Copilot 要開始收費啦!比我想像的來得更早。價格是每月 10 美元或每年 100 美元,對學生與開源專案維護者免費。詳情請見官方這篇〈GitHub Copilot is generally available to all developers〉介紹。既然確定要收費了,自然也不必再申請,隨時可以安裝試用。

由微軟推出,鼎鼎大名的 GitHub Copilot,相信大家都已經有所耳聞,或者正在使用。

目前這個產品還處於「Technical Preview」階段,想要親自體驗嘗鮮,需要另外提出申請。剛推出時好像是秒申請秒過,但我在上個月初提出申請,月底才收到核可通知。

本來也想寫一篇關於 GitHub Copilot 如何輔助我寫程式的使用心得,可惜我用了一個多星期,並沒感受到太多驚豔。

在看了這篇〈能節省四成開發時間的工具? GitHub Copilot 的介紹與心得分享〉後,覺得自己可能也無法寫得更詳盡,索性就簡單聊聊。

Django 專案以 ORM 存取 MongoDB:MongoEngine 設定教學

專案開發難免要使用到 NoSQL,其中最具代表性也最常用的,無疑就是儲存資料結構和 JSON 十分貼近的 MongoDB。

目前工作專案中,存在著需要大量儲存 IoT gateway config 設定的需求,這些 config 記載著所有連接 gateway 的 sensor 設定狀態,是典型的多層結構,且不同 sensor 的 config,其層級、數量並不完全一致,而不同 gateway 之間的差異更大。

本來使用 MySQL 儲存,table 間的關係十分凌亂且複雜,ERD 都畫得很辛苦。

而這種資料特性,正是 MongoDB 擅長的舞台。

使用 Snyk Open Source Advisor 查詢 Python 套件「健康度」

snyk.io/advisor/python

無論是工作或個人的開發,在為專案實作新的功能時,一個需求可能會有複數個套件選項可供選擇。這時候如何取捨,需要考慮的因素很多,而套件的「健康度」無疑是重要指標之一。

在 Python 中,這些套件幾乎都是開源的,而 Snyk Open Source Advisor 就是一個幫助你查詢、確認開源專案健康度的服務!