玩了一陣子 SSD1306 OLED 顯示器,也玩了幾回點陣中文字型,是時侯把它們結合在一起 - 試試在單色 OLED 上顯示中文。 之前我主要用 Adafruit 驅動程式庫接 SSD1306 OLED,其文字顯示侷限在 ASCII 字元集,要顯示 Unicode 字元,大部分人會使用 U8g2 ...

Windows 剛重新開機,登入先開好 Chrome 準備 Google 爬文,還在想關鍵字時聽到筆電散熱風扇聲變大,莫非有程式在吃 CPU? 開啟工作管理員證實了這點,而兇手意外是停在 Google 首頁什麼事還沒做的 Chrome,正在耗用 50% ~ 90% CPU,起初還以為被埋了程式挖礦,...

即便前端發展已十分成熟,幾乎無所不能,但仍有些必須依賴 ASP.NET WebForm 的場合 - 例如,在前端專案中整合既有系統的 WebForm 網頁。如果該系統成熟且穩定,年資還比你多三倍,嚷著把它換掉改用前端重寫,通常老闆想換掉的會是你。另外,有些技術目前只有 WebForm 解決方案,Re...

要徹底惹毛急性子使用者,我有個好法子 - 讓程式跑慢一點,然後不要回報執行進度,等上幾次,對方便會變身浩克怒摔滑鼠鍵盤,嚴重一點說不定會氣急攻心中風身亡,別人我不敢說,這招對我絕對有效。 反之,開發程式遇到等待的耗時作業,即時回報處理進度可大大安撫使用者心情,因而願意耐心等待,依經驗,只要保持幾十秒...

今天這篇屬於前端開發的單兵基本教練,練習為耗時的 AJAX 呼叫製作載入中狀態顯示,如以下效果: 針對較耗時的 AJAX 呼叫,在等待結果回傳期間顯示轉圈圈之類的載入動畫,安撫使用者情緒提供明確的執行狀態回饋,同時封鎖網頁介面並防止使用者在等待期間繼續操作造成動線混亂。這種效果相信大家一定都看過,...

我的 Android 手機(Samsung S9)經歷了一次 Google Play 服務異常,手機狂掉電的狀況,實測在網路關掉待機狀況下,一個小時可以掉電 20%。試過很多處理方式都不見效,直到今天早上自己好了,雖然真實原因不詳,但處理經驗跟查問題的方法可以提供參考。 故事從週五早上說起,我的 S...

前兩週用 VSCode 寫 Arduino C++ 完成 OLED 顯示器 I2C vs SPI 效能評測,得到 9.8s vs 1.2s 的評測結果。得到 I2C 的效能數據,下一個我最想知道的便是「改用 nanoFramework / C# 會慢多少?」。 基於語言特性,要拼效能,Python、...

昨天提到如何改寫 IE Only 網頁的 XML Data Island/MSXML 操作,我用一組元素、Attribute 的新增修改刪除動作對照 XML Data Island/MSXML 與現代瀏覽器的做法差異,算是做完基本功課。但後來熊熊想到,我幹嘛放著 jQuery 不用啦? 用 jQue...

IE 大限揭曉一文提到,野生 IE11 將會在 2022/6/15 滅絕,企業人工飼養的 IE 估計還至少可用到 2029 (嗚... 好像沒法再戰十年了),企業內部的 IE Only 網頁還可再撐段時間沒問題,但早點動手升級永遠比拖到最後一刻好,現在就該研究怎麼翻修升級。 今天先從一個超冷門的上古...

從 Nokia 920 時代開始,不管在公司或家裡,我習慣有事沒事就把手機放在無線充電座充電,原以為減少充放電次數電池會長命百歲,殊不知我的 S9 還沒滿兩年電池竟發肥到把殼撐破。 換完電池事後檢討,減少放電循環是對的,長期處於充電發熱應是讓鋰電池短命的原因,尤其後期不知三星充電座還是電池本身有問題...

關於資料庫是否該用 Guid 當 Primay Key,正反雙方各有擁護著,使用 Guid 的好處是不需依賴資料庫即可取得唯一識別碼,有助提高系統設計彈性,同時 Guid 無法被猜測具安全防護效果;缺點則是不利人工查詢、消耗儲存空間及當作叢集索引(Clustered Index) 時易導致索引破碎(...