PowerShell 小技 - 下載並解析 HTML DOM
遇到用 PowerShell 爬網頁並簡單解析 HTML 取資料的需求,為此研究了做法,筆記備忘。 如果是 PowerShell 5.1,Invoke-WebRequest 背後是用 WebClient,傳回 Response 物件有個 ParsedHtml 屬性 背後是超古老的 IHTMLDocu... Read More
View Article電腦抽獎如何做到公平公正又公開?開源抽獎程式 - OpenLuckyDraw
故事要從八年前這篇漫談尾牙抽獎程式的公正性說起,我一向支持讓抽獎程式開源,以擺脫長久以來電腦抽獎常被人指責「黑箱」「作弊」卻百口莫辯的悲情。我認為「演算法及程式碼公開,以具公信力且無法操控的方式決定亂數種子,輸入亂數函數產生可預測的亂數決定抽獎結果,並確保演算結果能被反覆驗證」是面對不公質疑的終極解... Read More
View ArticlePython 新手筆記 - Linux 環境 pip 安裝 requirments.txt 發生 pywin32 套件錯誤
要裝 Python 程式搬到其他主機執行,要先安裝必要套件,慣用做法是用 pip freeze > requirements.txt 指令匯出安裝套件清單,將 requirements.txt 複製到新環境,執行 pip install -r requirements.txt 便可將所需套件一... Read More
View ArticlePython 新手筆記 - 用 Docker 跑 Python 網站
有個實驗性質 Python 小網站想丟上 Linux 執行,手工下指令驗證可行後,延續過去在 Linux 跑 ASP.NET Core 網站的經驗,下一步就想把它包成 Docker 容器,用起來才方便。 ASP.NET Core 要包 Docker 我不陌生,但 Python 網站是頭一回,什麼都新... Read More
View ArticleNginx 小技巧 - 簡易阻擋惡意機器人窺探網站偷檔案
Python 跑 Flask 的實驗性質小網站丟到 Internet 上跑,由於 Debug 模式會即時顯示每筆 HTTP 存取,我活生生看到一堆噁心的存取記錄: 喵的,這個沒公開的網站,上線沒幾分鐘馬上招來一堆惡意機器人上門,四處翻找想看你是不是有犯什麼低級錯誤,有沒有檔案可以偷回家,有沒有漏洞... Read More
View Article前端雜技 - 滑鼠停留時跳出資訊之純 CSS 解法
手邊有個小需求是想在網頁特定元素加上 Tooltip 效果,滑鼠滑過時能顯示補充資訊。 最簡單的做法是是為元素加上 title ,例如:<a href="#" title="黑暗執行緒部落格 https://blog.darkthread.net">... Read More
View Article賦與 ChatGPT API 新能力 - 整合自訂服務、加入特異功能
截至目前為止,我整合 ChatGPT API 的應用限於靠預訓練知識校閱文章、彙整文件或翻譯,頂多整合向量資料庫試玩 RAG。有一種重要應用還沒試過 - 提供自訂函式或功能給 ChatGPT 呼叫! 即便最新版 ChatGPT 已具備上網能力,但有很多時侯我們想整合的資料來企業內部或屬於個人隱私,總... Read More
View ArticleNginx Docker 附掛靜態子網站
先說一下需求情境,假設我用 HTTPS Nginx Docker 之懶人安裝法在 Linux 主機跑了一個 ASP.NET Core Docker / Python 網站 Docker,網站自動套用了 Let's Encrypt TLS 憑證且會自動更新。此時,你想要在這個現成的網站 Docker ... Read More
View Article使用 VSCode 在 Linux 遠端編寫 Polyglot Notebook 跑 Python
看標題就知是篇冷門筆記。 如果你跟我一樣偏好 Polyglot Notebook 勝過 Jupyter Notebook,並需要在遠端 Linux (非 WSL) 跑 Python 筆記本,又想沿續 VSCode + Github Copilot AI 輔助開發的流暢,那你恰巧是本文為數不多的目標讀... Read More
View ArticleDocker 效能監控豪華套餐 - cAdvisor Prometheus 佐 Grafana
最近在用 Docker 容器跑壓力測試,我想知道每個容器的 CPU、記憶體使用狀況,有無超出 Host 主機承載上限。 爬文查到 docker stats 能顯示當下各容器 CPU、記憶體、網路跟磁碟 IO,既然能拿到這些資料,定期輪詢寫成 Log,後續要出什麼分析報表都不成問題。 不過,查資料時... Read More
View ArticleChrome 131 升級踩雷與 HTML5 超客製化 SELECT 元素
同事分享,這幾天踩到 Chrome/Edge 升級 131 版的雷。 古蹟系統有段用 innerHTML 動態更新 <select> 選項的網頁,在 Chrome/Edge 升級 131 版後壞掉了。 設法重現問題,找了台久未開機的 VM 還有 Edge 130 版測試模擬網頁如下圖,&... Read More
View Article