Skip to content

Zeroplex 生活隨筆

軟體開發和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: 程式設計

離開 Github 可能帶來的問題

Posted on 2026 年 5 月 3 日2026 年 5 月 3 日 By 日落 在〈離開 Github 可能帶來的問題〉中有 2 則留言

Github 的一些隱私條款調整造成了不少風波,一個是透過使用者的程式碼訓練 AI,另一個則是蒐集使用者端的環境資料 (telemetry data) 做分析,這樣不少使用者不滿並嘗試尋找其他程式碼託管服務。

最近不小的專案就從 Github 遷移到 Codeberg (不太確定為什麼不考慮 Gitlab,猜測是歐洲想要降低對美國的依賴)。

遷移簡單,特別是 Codeberg (based on Forgejo) 本身就支援多種平台的專案遷移,不過最大的問題是在 issue tracker 上,程式碼可以遷移,除非使用者透過 open ID 在 codeberg 上註冊,否則沒辦法一起搬家,因此 issue 更新後,Github 上的使用者並不會收到通知。

若是個人專案,其實沒什麼影響,若是 open source 專案,少了 contributor 參與,專案不再活躍、也不再有功能建驗、錯誤回報,專案可說接近死亡,問題蠻嚴重的。

除了使用 open ID 以外,還有什麼方法可以跨平台來參與專案,觀察一下未來會往什麼方向發展。


我順手找了其他類似 Github 的程式碼託管服務,讓大家參考:

  • Gitlab
  • Bitbucket (或稱 Atlassian)
  • Gitea
  • Codeberg (forked from Gitea)
  • SourceForge (支援 git 了耶 XD)
  • sourcehut (謝謝 Jimmy 提供)

不知道還有沒有其他類似的服務,如果有漏,再請留言幫忙補上。

Tags:Codeburg, Github, 新聞, 程式設計

自訂等待的動畫示意符號

Posted on 2024 年 2 月 8 日2024 年 2 月 8 日 By 日落 在〈自訂等待的動畫示意符號〉中尚無留言

這邊用 PHP 實作,可以自己改成其他程式語言。

主要是使用 \r 來回到行首,然後使用新的文字蓋過原有的文字,就可以出現簡單的圖形變換效果:

$symbol = ['\\', '|', '/', '-'];

$count = 0;
echo "\n";
while(1) {
    echo "\rpending ..." . $symbol[$count % 4] ;

    $count++;
    sleep(1);
}

不知道有沒有什麼其他符號看起來比較清楚的? O_Oa

Tags:程式設計, 資訊學習

Pytrhon 檢查語法是否正確的方式

Posted on 2020 年 6 月 2 日2021 年 3 月 12 日 By 日落 在〈Pytrhon 檢查語法是否正確的方式〉中尚無留言

如果是用 python 直接跑:

python3 views.py
Traceback (most recent call last):
  File "views.py", line 1, in <module>
    from django.shortcuts import render

python 執行了程式,發現 import 或是程式有用到外部 library 而導致噴錯。 

 如果只要檢查語法是否正確,需要靠 py_compile module:

python3 -m py_compile views.py
Tags:Python, 程式設計

用 venv 為 Python 建立虛擬環境

Posted on 2020 年 4 月 8 日2021 年 3 月 12 日 By 日落 在〈用 venv 為 Python 建立虛擬環境〉中尚無留言

大家都知道把套件裝成 global 會發生什麼事吧?所以若要開發的 project 需要很複雜套件相依性,則可以考慮使用 Python 的 virtualenv。

先來安裝 pip3:

sudo aptitude install python3-pip

在用 pip3 來裝 virtualenv:

pip3 install virtualenv

會後在準備建立的專案執行以下指令:

python3 -m venv project

這個時後你會發現 project 目錄底下已經有不少東西了,這個時候就可以切入虛擬環境中:

$ source bin/activate
(project) $ 

奇蹟出現了,你的 prompt 最前面已經加上專案名稱,代表你已經完全在專案的環境底下,這環境下不管你用 pip 專什麼東西都不會影響到外部其他專案。

當開發結束,要離開個環境的時候,記得下指令「deactivate」以便離開虛擬環境。

Tags:Python, 程式設計

修改專案的 tag (version) 就可以毀掉其他專案

Posted on 2020 年 1 月 14 日2021 年 3 月 12 日 By 日落 在〈修改專案的 tag (version) 就可以毀掉其他專案〉中尚無留言

今天剛好要處理 Zip 檔,目前看到功能比較齊全的專案應該是 Ne-Lexa/php-zip,但是用 composer require 時卻發生 error message 大噴發:

仔細一看 …. 居然有「v9.99.99」的版號,該不會要世界末日了吧?

打開 comploser.lock 看一下是怎麼回事,追蹤後得知相依性如下:


laravel v6.10.1  <=  ramsey/uuid ^v3.7

ramsey/uuid  <=  paragonie/random_compat": "^1 | ^2 | 9.99.99"

兇手抓到了,看來在 paragonie/random_compat 有一個版本號是 v9.99.99,composer 會自動拉最新的版本號來使用,因此只要任何專案 require 時沒有指定版本編號,composer 就會自動把相依性對到 v9.99.99,如果其他 package 有關連到,就是直接 dependency conflict 了。

要處理掉這個問題,只要在 composer.json 也 require paragonie/random_compat,但是加上指定版本編號如 ^v2.0,這樣 composer 就只會拉到 v2.x.x 的版本,不會去用 v9.99.99 這個版本。

ref:

  • Versions and constraints – Composer
Tags:PHP, 程式設計

文章分頁

1 2 ... 15 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Raspberry Pi Ubuntu Unix Vim Web Windows XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.