Network UPS Tools(NUT)可以連接各種UPS電源設備,除了Linux之外也有Windows與macOS版本,還是主從式架構可以讓多台電腦共享UPS資訊。本文使用樹莓派連結UPS,讓樹莓派記錄是否發生斷電、電壓是否過高過低、電池是否有問題、定時進行放電測試等各種實用功能。
使用樹莓派監測控管UPS設備/Network UPS Tools/Linux [2023年最新]
解決HTTP Header Content-Disposition檔案名稱不能輸入中文、日文、韓文等Unicode字元
問題 有時候我們會透過網頁後端程式直接輸出檔案,因此需要在HTTP Response Header裡面添加Content […]
Spring Data JPA與Hibernate報錯failed to lazily initialize a collection
在Java使用Spring或是Hibernate時,使用OneToMany、ManyToMany來標注Entity Class非常方便,可以輕鬆處理外來鍵與外來資料表的問題。但偶爾使用getXXX()方法要讀取外來資料表的時候,可能會遇到Hibernate報錯說「org.hibernate.LazyInitializationException: failed to lazily initialize a collection」,本篇文章將解析為什麼會發生這種問題,以及要怎麼解決它。
使用Java擷取檔案副檔名、判斷檔案類型(不用第三方套件)
本篇教學文章示範如何使用Java不透過第三方套件來判斷檔案的副檔名,以及檔案類型,只需要Java 7的NIO就可以達成,再加上Java 8的Optional與Stream API來更優雅的處理。使用原生的API可以避免一些問題,例如執行時還需要第三方套件、第三方套件還包含太多用不上的API徒增檔案大小、第三方套件不更新可能有漏洞等麻煩。
不用寫程式的機器學習,使用Xcode的Create ML訓練電腦分類文章-Text Classification以簡訊分類為例
Apple的Create ML讓開發者不需要了解太多機器學習的原理就可以訓練出自己的AI模型,輸出的模型可以用在各種蘋果平台上。本篇文章教學如何在Mac上使用Create ML訓練一個文字分類的AI模型,搭配Swift語言示範如何在App中使用你的模型。訓練階段你可以完全不寫程式碼就訓練好文字模型,還可以在Preview頁面中直接使用模型來分類更多文字,不會程式語言的朋友們也能體驗機器學習的魅力。
使用Linux Shell Script,每天自動刪除或定期備份超過N天的日誌檔案
Linux上有很多日誌檔案,通常會依照日期一天產生一個log檔案,時間久了會越來越佔空間。你可能只想保留3天內的、5日內的、一週內的,或是30天一個月內的日誌檔案。本篇文章教學如何寫一個Shell Script定期清理日誌檔,透過Shell Script搭配Crontab自動執行,要把日誌檔刪除或是移到別的硬碟、別的網路硬碟備份都可以。
使用Spring Data JPA建立公版的DAO、Repository樣板
Spring Data JPA是一個非常方便的資料庫Connection與Mapping的框架,它可以幫你建立資料表、添加資料表的欄位、維護連接池、將Java物件轉換為Table資料。有時候我們會希望自己建立一個我們的公版interface,讓他繼承某一個Repository再添加一些方法,然後之後的DAO interface再繼承我們的公版interface,可以簡化更多程式碼。
使用Java與JavaScript在前後端檢查密碼強度
跟帳號有關的系統,不管是網頁、手機App、或是單機桌面應用程式都可能遇上密碼,有些簡單點的會限制使用者的密碼文字長度要多長,複雜一點的還會限制密碼至少要包含某些內容,已達到足夠的複雜強度。本文提供Java、JavaScript與TypeScript的範例,提供檢測密碼是否符合強度的程式碼。
Linux Top指令排序與搜尋篩選指定程式
在Linux上要看Process(處理程序、程序、進程)的狀況可以使用top指令,直接在Terminal上輸入top就會進入互動介面。預設情況會進入互動模式,並且不斷更新顯示近況,如果想尋找特定的Process可以參考本文教學。
解決JavaScript弱掃後出現Math.random與Axios setAttribute問題
OWASP Top 10是開放網路軟體安全計畫(Open Web Application Secur […]