[Docker 專案] 一行指令運行 Stable Diffusion WebUI 和 Kohya's GUI

沒有留言:
↑ Stable Diffusion 最有名的圖片是一個太空人騎馬。我們用 Docker,讓他騎個鯨魚🐋!

每次只要遇到 Python 專案,我在運行前一定先看有沒有提供 Dockerfile

Why?

你有沒有遇過安裝了 Python 2.7, 3.8, 3.9, 3.11,然後新程式只能跑在 3.10。
重點是還不一定能升級,裝好了 Python 3.11 不代表你可以跑 3.8, 3.9, 3.10 的程式!
Python Developer 裝這麼多版本不累嗎😅

我知道你會說 conda,玩 Python 的人不可能沒用過 Anaconda,它用來解決這惱人的依頼問題,讓你方便地換個程式就切換一套運行環境。
這發明很棒,真的,「先有需求」才有供給對吧😏

直到有一天 C 槽被各版本的 Python、各程式專屬的 environment 給佔滿
我最終決定把它們全都砍了,從此以後打死不在本機裝 Python
通通給我到容器🐋裡去吧!

不方便開發?
開發需求推薦 devcontainer
專案做好 .devcontainer 設定檔 & 一鍵建立 GitHub CodeSpaces
Python 開發體驗一級棒👍

......前提是你懂 Docker

說回今天的主題,Stable Diffusion WebUIKohya's GUI,這兩套程式都有前人做了容器化。
我過往看過 Dockerfile 後認為「有最佳化的餘地,但沒什麼大問題」並直接使用了一段時間。

前兩週比較有空閒,於是來貢獻貢獻所學,重寫了更好的 Dockerfile。

bmaltais/kohya_ss 已經 PR 回原專案,現在 master branch 上面的 Dockerfile 是我重寫的
AUTOMATIC1111/stable-diffusion-webui 不接受 Dockerfile,我是放在自己的 GitHub,並做了整套的 CI

從 azure-cli 到 REST API:我的 Azure Blob Storage 上傳優化之旅

沒有留言:

在這篇文章中,我要分享在 Recorder.moe 專案中,如何從使用肥大的 azure-cli 轉變到使用簡潔的 REST API 來上傳影片到 Azure Blob Storage。你將看到我如何發現 azure-cli 的官方 docker image 體積過大,並且自己動手優化 Dockerfile,最後改變解決方案,成功將 image 降低到只有 36.4 MB

這是一個關於優化 Dockerfile 和 Azure Blob Storage 上傳流程的實戰故事,希望能對你有所啟發。

對,標題和介紹是 GPT-4 寫的,下面才是正文😉

[經驗分享] 我的 Cloudflare Worker 被進行外部壓力測試,俗稱DDOS 😠

沒有留言:

1/3 下午我收到了三封 email 來自 Cloudflare,警告我 Workers 的用量被耗盡
每日十萬次在下午兩點被用完?我的用量沒這麼狂,肯定有事情發生了。

[個人專案] 以 Cloudflare Pages 打造低成本高流量的即時投票系統 (Cloudflare Pages, Pages Functions, Cloudflare D1)

沒有留言:
Image Generated with Microsoft Bing Designer

元旦假期做了一個新的專案 —— Simple Poll System 簡易投票系統
https://github.com/jim60105/simple-poll-system

我為什麼寫這個呢?
上週薬袋アルマ舉辦 Vtuber 紅白活動,前兩天的會限直播在和大家測試投票系統。當時發現現成的問卷服務都不合用,不是要很多錢就是不即時,而最後用了 Google Form。 雖然 Google Form 是當下最好的選擇,但它不夠客製化,像是直播當下的紅組被顯示為藍色,而白組被顯示為紅色無法內嵌投票結果在活動網頁上等等。

我就在想,要以這個需求來規劃一個小專案的話我會使用什麼技術實現它。然後就當作練練手...

這是一個以概念驗證和學習為目的而做的專案,目標是建構一個低成本高流量即時投票系統。投票只是一種簡單的應用,你可以把它代換為任何使用網頁前後端和資料庫的應用場景。

在 ArgoCD Configmap 插入斷行符的方式

沒有留言:

記一下今天拆的地雷。

我的 YoutubeLiveChatToDiscord 可以監控會員限定的直播,它是使用 yt-dlp 實作的,驗證方式是通過 Netscape Cookie file。我的是用 ArgoCD 部署,將文字塞入 Application Parameters 後寫到 Configmap,再掛載進去為 cookies.txt 檔案。

Netscape Cookie file 的關鍵是它吃斷行,我最終 Pod 內的文字檔需要是 LF 斷行。

[個人專案] 網頁計數器徽章 View Counter Badge —— 瀏覧數別再送人啦!以 Cloudflare Workers D1 實作適合純前端網頁的計數器

沒有留言:
Image Creator from Microsoft Bing DALL•E 3
View counter badge
網頁計數器是一個電腦程式,可以顯示特定網頁瀏覽的次數。
當網頁瀏覽器訪問此網頁時,網頁計數器就會加一。

這是一種歷史悠久的小工具,從我十幾年前開始使用部落格時 Blogger 就已經內建了這個功能,網路上也有很多現成的服務,為什麼我們仍應自己做呢?

為什麼你應該停止使用第三方計數器

當有人訪問我的部落格時,它會向計數器的伺服器發送一個訊息說「blog.maki0419.com 被訪問了,請將訪問數+1,並將現有數字從資料庫讀出來給我!」這個計數器伺服器會保存我的訪問數據(和用戶數據),並執行一段程式碼來顯示數字。通常這段程式的原始碼我看不見它,它也可能隨時被替換成惡意程式碼。根據我的嵌入型式,或許人家還能獲得 SEO 加分呢!

你可能會說「我不想為了這個小功能而多開一台伺服器和資料庫,這是一個合理的取捨

不不不,現在我就告訴你如何在 Cloudflare 上以 Worker 和 D1 Database 實現計數器功能,不用維護伺服器免費!你將擁有程式碼和數字的控制權,保護你的網站,保護你的用戶

這是一個純雲端的解決方案,很適合用在純前端應用程式或是任何類型的網頁。
專案是回傳 SVG badge,但是簡單修改就能變成回傳數字做為 API 使用(範例),泛用性非常高。

介紹 WhisperX: AI 語音識別加上單詞級別的時間戳記和語音分離

4 則留言:

前言

上個月買遊戲拿到了 FANZA 的折抵金,為了花掉它買了平常沒在聽的 ASMR,然後發現

嗯,我 N87 聽不懂日文...

這種小眾的東西網路上也沒有譯文,就試了試當紅的 AI 語音辨識 + 翻譯,成果還不賴。
這篇文章想分享我發現的好東西 —— WhisperX。

[個人專案] Unfair Spin Wheel - 不公平轉盤

沒有留言:
世界是不公平的,轉盤也是如此。

介紹我的新作品 —— 不公平轉盤

這是我的第一個 Vue.js 專案,和過往一樣,可以在 GitHub 上找到此專案的開源程式碼。

專案的初衷是提供給 Vtuber 進行「投入固定金額就有一次抽獎機會,投注次數越多,中獎率也會越高!」的直播抽獎活動。然而,現有的網路轉盤設計都是讓選項的倍率相同,操作起來不太方便。因此,我們需要一個不公平的轉盤來反映這個不公平的世界。

這是一個開源、免費、無廣告的轉盤網站,歡迎各位直播主自由使用🎉

目錄