一個Java Class的可用性有四種狀態,分別是public、protected、(無標示)、private,但可否被繼承的設定卻只有無標示與final兩種。從Java 17開正式推出sealed class / interface,有些人將sealed翻譯為彌封類別,或是密封類。sealed是用來限制類別繼承與介面實作做的對象,解決「都可以繼承,要不就是都不能繼承的問題。
Java 17新增的sealed、non-sealed class與final class差別
Java 16新增的record教學,與lombok和POJO的比較
從Java 16開始新增一種全新的類別叫Record,專門用來儲存資料,本文章教學如何在Java 16中使用Record,Lombok Builder的好用之處,以及Record跟傳統的POJO Class與Lombok的差別。
使用Spring Data JPA建立公版的DAO、Repository樣板
Spring Data JPA是一個非常方便的資料庫Connection與Mapping的框架,它可以幫你建立資料表、添加資料表的欄位、維護連接池、將Java物件轉換為Table資料。有時候我們會希望自己建立一個我們的公版interface,讓他繼承某一個Repository再添加一些方法,然後之後的DAO interface再繼承我們的公版interface,可以簡化更多程式碼。
使用Java與JavaScript在前後端檢查密碼強度
跟帳號有關的系統,不管是網頁、手機App、或是單機桌面應用程式都可能遇上密碼,有些簡單點的會限制使用者的密碼文字長度要多長,複雜一點的還會限制密碼至少要包含某些內容,已達到足夠的複雜強度。本文提供Java、JavaScript與TypeScript的範例,提供檢測密碼是否符合強度的程式碼。
從 Java 7、17、21、25 到 Java 26,Java Switch 關鍵字的演變
Java 從 1995 年發表至今已超過 30 年,switch 關鍵字歷經 Java 7 支援 String、Java 14 的 Switch Expressions 與 yield,到 Java 21 正式推出 Pattern Matching for switch,最新的 LTS 是 Java 25、最新版本是 Java 26,仍在預覽 Primitive Types in Patterns。本文整理歷代 switch 的進化。
OracleJDK、OpenJDK之外的Java JDK JRE JVM環境選擇
基本介紹 為什麼需要JDK JDK是Java Development Kit的簡稱,是開發、編譯、執行Java語言需要的 […]
用JavaScript取得作業系統與瀏覽器的名稱、版本、螢幕尺寸、頁面尺寸、縮放比例
在瀏覽器內透過JavaScript可以讀取螢幕尺寸、瀏覽器視窗尺寸、瀏覽器可視區尺寸、整個網頁的尺寸、縮放比例等。但是使用的時候要從各個不同的Object讀取,因此我寫成一個JavaScript的function,將各個資訊包裝成一個Object可以直接讀取使用。還會介紹一個好用的套件可以解析瀏覽器和作業系統的名稱與版本。
在Netlify部署React的Browser Router,不要出現#井字Hash的方式,其他單頁式網頁也適用
Netlify是一個部署前端網頁的好選擇,光是免費方案就有100GB可以使用,一個帳號可以部署多個網站,在全球多處都有伺服器可以加速。但使用React Router DOM的Browser Router產生的虛擬路徑不是真的存在於Netlify上,讓Netlify無法處理。本文教學讓Browser Router順利運作的設定方式。
在Parcel打包時自動複製靜態檔案(public、static、assets等)V1、V2適用
在開發前端網頁時,使用Parcel代替Webpack進行打包工作會很方便,能減少非常多需要設定的地方。但是Parcel打包時是自動掃描index.html內被引用的檔案,程式內沒有使用import指令的靜態檔案會被Parcel忽略,這時候需要一些Parcel的外掛來幫忙,每次打包都能自動化複製!
前端網頁開發須知,NPM、Parcel、React、Router、Redux、Axios、Bootstrap與其他工具簡介
前端網頁開發通常包含HTML、CSS、JavaScript,可是單靠三者從頭打造一個現代網頁容易重複發明輪子,自己發明的輪子還可能跟別人車子不合用,因此有許多套件可以減輕開發工作,最後還需要一個打包工具將套件與網頁打包起來,成為可以放上伺服器的產品,本文以React為例依序介紹一些常用的工具,希望在實際開始學習之前先通過本篇簡介進行初步的理解,那麼實際開始學習時就能更加快速進入狀況。