GCP MariaDB 外部連接設定完整教學 前言在 Google Cloud Platform (GCP) 上部署 MariaDB 時,預設情況下資料庫只能在內部網路存取。如果需要從外部連接到資料庫,需要進行防火牆規則設定和資料庫配置修改。 問題現象典型連接失敗場景當嘗試從外部連接 GCP 上的 MariaDB 時,通常會遇到以下問題: 123# 連接超時mysql -h YOUR_EXTERNAL_IP -u root -pERROR 2 2025-08-13 backend > Database #GCP #MariaDB #MySQL #Cloud
Spring Jackson 序列化反序列化 前言在 Spring 應用程式中使用 RestTemplate 進行 API 呼叫時,經常遇到一個令人困惑的問題:回傳的 JSON 資料中的 Object 類型會被自動轉換為 LinkedHashMap,導致後續無法直接使用強型別的物件。 問題現象典型錯誤場景123456789// API 回傳結果ApiResponse apiResponse = restTemplate.exchange(ur 2025-08-12 backend > Spring Framework #Spring #Jackson #RestTemplate
Spring TransactionalEventListener 資料無法儲存問題完整解析 前言在 Spring 應用程式中,@TransactionalEventListener 是一個非常實用的功能,可以讓我們在交易的特定階段執行特定邏輯。然而今天遇到一個常見問題:程式碼明明有執行,debug 也確實走到了資料庫儲存的程式碼,但最終資料卻沒有儲存到資料庫中。 Spring Transaction 基礎概念什麼是 Spring Transaction?Spring Transactio 2025-07-24 backend > Spring Framework #Spring #Transaction #EventListener #JPA
k3s / Rancher 本地安裝及測試 Windows WSL2 上安裝 K3s 與 Rancher1. WSL2 開啟 Ubuntu 環境1.1 啟用 WSL2以系統管理員開啟 PowerShell,執行: 1wsl --install 完成安裝後重啟電腦,開啟「開始選單」搜尋「Ubuntu」,啟動 Ubuntu 終端機。 1.2 確認 WSL2 版本1wsl -l -v 2. 安裝 K3s Kubernetes2.1 使用官方 2025-06-26 kubernetes #k3s #Ubuntu #Rancher
maven 多模組建立 前篇的想法spring 設計多階段建構及跨來源資源共享(CORS) 前言由於在同一個app 同時啟動後台及api, 考慮到未來維運的問題,因此嘗試將常用的module 分開,切分成以下這種架構 123456789backend/ ├── pom.xml // 父專案 pom,用來聚合所有後端模組 ├── comm 2025-03-10 java > springboot #springboot #spring security
Mock Test with Spring Security mock-test環境設置 org.junit.jupiter:junit-jupiter:5.10.0:提供 JUnit 5 測試框架,用於編寫和運行測試。 org.mockito:mockito-junit-jupiter:5.5.0:將 Mockito 與 JUnit 5 集成,允許在測試中創建 mock 對象。 org.assertj:assertj-core:3.24.2:提供 Asse 2025-02-21 spring #spring #mock #test
用solana 鑄幣 用solana 鑄幣建議是在linux 環境下執行如果是windows 可以使用wsl2,以下為指令 列出所有可安裝的linux 版本 1wsl --list --online 安裝特定版本 1wsl --install -d Ubuntu-22.04 啟動特定版本 1wsl -d Ubuntu-22.04 安裝C/C++ 編譯器 12sudo apt update 2025-01-23 blockchain #solana #web3 #blockchain
享元模式(Flyweight Pattern) 目錄design pattern 以java 為例 Flyweight Pattern (享元模式)定義透過共享物件來減少系統中創建重複物件的內存使用量,特別適合用於大規模物件的場景中。該模式的核心在於將物件分解為內部狀態(intrinsic state)和外部狀態(extrinsic state),並共享內部狀態以達到節省資源的效果。 seque 2025-01-17 design pattern #java #design pattern
AtomicReference AtomicReferenceAtomicReference 是 Java 提供的一個原子類,用於封裝對象引用,並提供原子性操作(atomic operations)。它允許在多執行緒環境中安全地更新對象引用,避免競態條件的發生。 簡單來說,AtomicReference 是一個用於管理可變對象引用的工具,可以保證在更新時不會產生資料競爭。 使用方式AtomicReference 提供了一個 co 2025-01-17 java #java
外觀模式(Facade Pattern) 目錄design pattern 以java 為例 Facade 外觀模式外觀模式(Facade Pattern)是一種結構型設計模式,它為子系統提供一組統一的接口。這個接口使子系統更容易使用。以現實的例子做舉例,很像我們打電話給客服,客服會幫我們處理我們的問題,而我們不需要知道客服是如何處理的,只需要知道我們的問題被解決了。 結構 Facad 2025-01-17 design pattern #java #design pattern