如何評估開源專案的價值與健康度,以及判斷是否適合導入與採用?

  1. 最優先要考慮的是需求
  2. 開源專案的參考指標
    1. 1. 功能性
    2. 2. 文件完整性
    3. 3. 維護活躍度
    4. 4. 社群支持度
    5. 5. 程式碼品質與穩定性
    6. 6. 安全性
    7. 7. 相依相容性
  3. 總結
  4. 參考資料

在資料工程師的工作中,很常需要使用到開源工具來解決問題,像是 Apache Airflow 或 FastAPI 都是可商用且已經被泛用的開源工具,但我們該如何評估一個新的開源專案值不值得使用或研究呢? 這篇文章我整理了網友和我自己的經驗,以 GitHub 為例,分享有哪些重點是我們在選擇 Open Source 時可以納入考慮的。

最優先要考慮的是需求

我認為所有的考量都要以需求出發,思考這個開源工具是否真的能解決目前遇到的問題,或是達成使用者提出的需求,並且這個工具的規範在公司內是合法合規的,都確認後才能繼續往下探討其他指標。

其他指標我目前把他們分成幾大類:

  1. 功能性
  2. 文件完整性
  3. 維護活躍度
  4. 社群支持度
  5. 程式碼品質與穩定性
  6. 安全性
  7. 相依相容性

開源專案的參考指標

1. 功能性

  • 功能完整性: 工具的功能是否完整且穩定?是否缺少關鍵功能?
  • 易用性:
    • 這個工具是否容易安裝、設定和使用?是否有清晰的 API 或介面?
    • 是否可用 pip install 安裝?
    • 是否提供 Dockerfile / Docker Compose 的方式來部署?
  • 效能:
    • 工具的效能是否能處理你的資料量和運算量?是否有相關的效能測試報告?
    • 這個工具在 ELT、分析、視覺化或建模方面的能力如何?
以 Apache Airflow 為例,GitHub 文件上清楚寫了可以使用 pip 或是 Docker Compose 的方式來安裝
閱讀更多»

解決 git pull 錯誤:Need to specify how to reconcile divergent branches.

  1. 問題發生原因
    1. git push 時的錯誤
    2. git pull 時的錯誤
  2. 查看 git status
  3. 解決方法 Solution
    1. 執行 git config pull.rebase false 並再次 git pull
    2. 再次查看 git status
    3. 最後再執行一次 git push 即可成功
  4. 番外篇:關於 rebase

問題發生原因

可能有其他人使用 branch 並 push 上去,master 版本比我的新,導致我 commit 後想要 push 時出錯

git push 時的錯誤

但想要 pull 時又發生另一個錯誤:Need to specify how to reconcile divergent branches.

git pull 時的錯誤

閱讀更多»

利用 Python 與 Google Colab 打造一個 Wordle 解題小幫手

最近也太多人在玩 #Wordle 了吧!😆

我最近也試玩了一下
有趣之餘也發現自己英文退步好多 🤪
尤其是在想第一個單字要輸入什麼的時候腦中常常毫無想法哈哈 👻
(英文單字量大概在高三之後就會開始走下坡)

這時候我想到了 #NLP 常用的一個套件 #NLTK
全名是 Natural Language Toolkit (#自然語言處理 工具包)
相信有在玩 NLP 的朋友都不陌生這個套件裡面有現成的英文單字 👍

想說可以給我一點靈感
於是我就用 #Python#GoogleColab 寫了一個小 project
可以幫助我破壞遊戲體驗 ❌
可以幫助我更快樂地進行遊戲 ✅

大家有興趣的話可以到我的 #GitHub repo 看看
👉https://github.com/jumpingchu/Wordle-Helper

閱讀更多»