Category: backend

Spring boot JPA 讀寫分離

之前寫過 JPA 連接多資料庫來源的做法,這次要來寫的是讀寫分離的設定,實際上也可以透過多資料庫來源的做法來操作,不過使用上會變成讀與寫需要使用不同的類別,理想上是希望可以只套用到方法,這樣可以...

[踩雷紀錄] JPA 限制查詢筆數

JPA 的功能強大,能利用介面名稱以及回傳類型建立相應的查詢語句,如果不夠用還可以透過 JPQL 自行組裝,不過最近遇到需要取用查詢結果排序後第一筆的時候遇到一些困難,紀錄一下解法

JPA 原生的複雜查詢 Specification

之前有介紹過 QueryDSL 這個好用的套件用來做到複雜查詢以及自動匹配 filter 的功能,後來發現其實 JPA 也有內建對於複雜查詢的使用框架,雖然自己本身還是比較常用 QueryDSL...

Spring boot JPA 下套用多個資料庫來源

最近一個新的專案需要同時動用到兩個不同的資料庫,雖然是同一台機器,但是 JPA 的連線要包含資料庫資訊,也就是說需要可以支援一個以上的資料庫連線才行,這邊就簡單講解下怎麼設定

Spring boot JPA 解析 Entity 的 Enum 屬性

撰寫系統不乏用到 Enum 的場景,但是通常不會希望直接存 Enum 的名稱在資料庫中,雖然可能可以增加資料庫的可讀性,但一方面也增加儲存空間的浪費,一方面可能需要儲存的是值,因此簡單紀錄下 J...

Golang 上的依賴注入框架 google/wire

依賴注入可以幫助日漸複雜的專案達到解耦合的效果,透過介面的注入讓重構以及測試可以更好進行,但要自己手動撰寫依賴注入十分費工,而且程式碼注定不會太好看,這時候就讓我們來利用一下框架之力,Wire ...

Gin Gonic 上進行測試

使用 gin 進行後端開發上也是需要測試的,但沒有辦法簡單的使用 unit test 達到目的,一個完整的 http 請求流程會經過各種 middleware,為了測試這個情況,我們要來進行 g...

Golang 上的 Unit test

開發一段時間後,系統發展日漸複雜,常會有重構或是修改的需求,這時候若是任意修改有可能會導致相關功能出現副作用,這時候確保測試的撰寫就很重要了,這篇就來簡介一下 golang 的 unit tes...

Golang 的 Error Handling

撰寫系統的時候錯誤處理是非常重要的一環,系統的穩定度基本取決於對於錯誤處理是否全面,好的錯誤處理也可以產生適當的錯誤訊息,讓 Debug 更加容易,golang 在錯誤處理這方面跟其他語言的設計...

Golang 資料庫操作: gorm

後端程式不免會牽涉到資料庫的 CRUD,這次我們將試著介紹一個常見的 Golang ORM 函式庫 gorm,介紹一些基本操作還有設定,以及一些自己的使用習慣與心得

Golang 環境變數與設定檔: viper

程式部屬時常因執行環境的不同,而需要套用不同的設定,大多數情況我們是透過環境變數來設定,像是 Spring boot 內建讀取 application.yml,或是 Node.js 的 dote...

Golang 初探簡介(下)

丄篇簡單講了 Golang 的基本語法,以及一些簡單的範例 code,這篇要來看看 Golang 比較具有特色的一些語法,也是 Golang 強大功能的一些重點

Golang 初探簡介(上)

最近工作上使用 Golang 開發有一段時間了,在幾個周邊的小服務上慢慢使用 Golang 來取代 Java,對於 Golang 在小服務撰寫上的體驗是十分好的,可以達到快速開發、快速上線的效果...

Java XML Document 處理大全

最近的一個案子需要處理大量的 XML 資料,才發現 Java 在這方面的 API 使用起來不是那麼方便,跟 Json 的處理相比大部分都不是很直覺,趁著還有點心得的時候趕緊寫下筆記,期望能將 X...

AOP 與 Pointcut 淺談

用 Spring boot 撰寫後端時,常會有事前檢查、事後日誌的需求,若在每個 Api 中都做一次那就太蠢了,於是這邊介紹一下 Spring boot 中十分方便的 AOP 機制,可以輕鬆達成...