DevFest Taichung 2022 - GDG Taichung

週六去參加 GDG Taichung 舉辦的 DevFest Taichung 2022 活動,地點辦在東海大學推廣部。每次去台中大部分都去東海大學附近,所以漸漸也滿熟悉那一帶的環境。

這次去幫忙活動攝影,活動早上八點半開始,很早起床從台北出門,前一天還太晚睡覺,早上睡過頭。

活動是一整天的議程與工作坊,一整天下來我記得有一場特別留下來聽完,是關於 UIUX 的議題,最主要是講者[1] 所介紹的案例剛好都是有在使用的服務,所以特別有興趣瞭解講者是如何處理專案的過程。

之前在做志工平台的時候,UIUX 只能用 bulma 這種風格型的套件來處理,但就只能算堪用,實際要將這些元件結合起有意義的引導或行為又是一大課題要面對,只能感嘆缺乏這項技能很惋惜!

之後來找找看看有沒有相關的入門書籍可以惡補一下。

  1. UIUX knowhow - 實務工作中的應用、黃翎(Lynn) / AJA 大予創意 / UI

Github actions cache - Python, Poetry

Github 在 2022/10/20 發布一項更新,可以在 web 介面下管理 Actions Workflows 的 caches。

不過在此之前,還沒將 actions cache 加到目前使用的專案中,趁這次調整使用看看。手邊有一個以 Python 為主要語言開發、Poetry 為套件管理的專案,預期可以將「相對穩定」的套件 cache 起來。

基本的會使用到的 actions:

另外有兩種方式可以支援 cache 的使用

actions/setup-python

在 actions/setup-python 有兩個參數可以開啟使用,cachecache-dependency-pathcache 可以為 pipenv、pip、poetry。cache-dependency-path 則是指定套件安裝檔的位置:

  • pipenv: Pipfile.lock
  • pip: requirements.txt
  • poetry: poetry.lock

詳細的設定檔範例可以參考文件,雖然 actions/setup-python 提供一個非常簡易的設定,但如果想要更多自訂的快取設定,可以試試原生的 actions/cache

actions/cache

actions/cache 是最原生的功能,可以透過 pathkey 來指定快取的位置。以 Poetry 為例,在 Poetry 相關的預設路徑下,可以針對 ~/.local, ~/.cache 來建立快取。

如果你習慣將環境資料夾裝在專案底下(virtualenvs.in-project=true)也可以將 ./.venv 也建立快取位置。

key 的命名可以使用 hashFiles 來比對 poetry.lock 檔案差異值來建立。

所以依這樣這樣的規則,我們可以有三個快取建立:

  • poetry-venv-${{ hashFiles('\*\*/poetry.lock') }}
  • poetry-local-${{ hashFiles('\*\*/poetry.lock') }}
  • poetry-cache-${{ hashFiles('\*\*/poetry.lock') }}

接下來只要 poetry.lock 沒有變動,都會使用快取來加快流程

相關參考資料

COSCUP Volunteer 開發近況

在 2022/09/30 上線部署的版本中,包含了平台上使用 API 的可能。

API 的功能是之前大家敲碗很久的項目,但因為抽不出時間來處理、規劃,在 2022 活動結束後先列為重點開發項目之一。

API 文件可以參考這裡,目前主要完成 API Token 取得的方式,或是透過 OpenAPI 介面簡單使用。

API 建構是使用 fastAPI 框架來實作,而 fastAPI 使用 Pydanticdataclass 的結構化,所以也趁這一次,把一些原本寫的不太好的底層架構也一併改為 Pydantic 的表示方式。

目前用了 fastAPI 後,我覺得 flask 真的好像沒有跟上一些 Python3.8 之後的特性,有點可惜。

目前的開發節奏會調整成每兩個禮拜釋出一版做迭代衝刺,另外看能不能在 10/15 的 MOPCON 招募一下 App 的開發者!

COSCUP 行政組整地期招募 2024 籌備前預備培訓

COSCUP 行政組 今年持續精進,2023 年無休止,我們即將於 2023 年 9 月進入一段全新的整地期。這段時間將需要大量的腦力計算、模擬和規劃,以確保接下來的計畫項目能夠順利展開。 在 2023 年,我們行政組負責多項重要計畫,包括療癒市集(按摩、瑜珈、冥想)、一...

show