Java 8的日期時間API介紹與各種常見操作範例

在Java 8推出新的日期與時間API之前可能會使用Long型態直接紀錄Unix Timestamp,或是使用java.util.Date來紀錄一個日期時間。從Java 8開始推出更方便的java.time系列API,可以只記錄日期、只記錄時間、紀錄一段時間長度、處理各種時區問題。本文章將介紹這些好用的API,以及提供各種操作範例。

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頁面中直接使用模型來分類更多文字,不會程式語言的朋友們也能體驗機器學習的魅力。