0%

問題描述

最近在Java 專案上使用 liquibase-maven-plugin遇到非常多難以定位的問題,無奈之下只好研究如何在IntelliJ IDEA 上對maven 外掛做偵錯,以下開始說明流程。

Step 1 :準備maven 插件原始碼

找到插件開源的代碼,直接git clone,或者也可以直接使用maven local repo路徑底下.m2指定插件打包好的jar也可以。

1
git clone git@github.com:liquibase/liquibase.git
閱讀全文 »

在單元測試中,常常需要使用替身(test doubles)來代替真實的物件,以便控制測試的環境和驗證功能。常見的替身有 Dummy、Stub、Spy、Mock、Fake 等,它們的主要區別如下:

  1. Dummy(虛設物件):一個不會被使用的佔位物件,只是用來滿足方法簽名,並不會影響測試結果。
  2. Stub(存根物件):提供固定的、預先定義好的回傳值,讓測試方法可以正常執行,通常用來模擬外部服務、資料存取等操作。
  3. Spy(間諜物件):一個真實的物件,用來監聽被測試物件的方法呼叫和屬性變更,以便在測試中驗證被測試物件的行為是否符合預期。
  4. Mock(模擬物件):與 Spy 類似,也是一個真實的物件,但主要是用來預先定義被測試物件的方法呼叫及預期回傳值,以便在測試中驗證被測試物件的行為是否符合預期。
  5. Fake(假物件):提供一個簡化的實作,讓測試可以在更簡單的環境中運行,通常是用來測試耗時的、昂貴的操作,如資料庫操作、網路請求等。

Dummy(虛設物件) 的範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public interface Database {
void save(String data);
}

public class DummyDatabase implements Database {
public void save(String data) {
// do nothing
}
}

public class Example {
private final Database database;

public Example(Database database) {
this.database = database;
}

public void saveData(String data) {
database.save(data);
}
}

在這個例子中,我們有一個介面 Database 和一個實現該介面的虛設物件 DummyDatabaseDummyDatabase 實際上不做任何事情,因為它只是一個虛設物件,用於測試其他方法的行為是否正確,而不是測試 Database 介面本身的行為。在 Example 類別中,我們需要一個 Database 物件,並且將其作為建構子參數傳遞。在 saveData 方法中,我們調用傳入的 Database 物件的 save 方法,這裡的 database.save(data) 就是在執行我們要測試的功能。

閱讀全文 »

一開始先不用打開ppt

內容架構

  • 核心內容
  • 如何讓對方看懂
  • 想要聽眾得到什麼?

資料整理

  • 便利貼手法
    • 大方向的統整目前有用資訊
閱讀全文 »

特點

  • CQ9 第一款棋牌對戰遊戲
  • 負責項目:
    • Server架構
    • 後端開發
    • 協議
  • 採用 .NET Core 3 開發
  • 採用主流的遊戲架構:ECS架構(Entity-Component-System)
  • 協議採用 Google Protobuf
  • 後期進行 NuGet 模組化,開發遊戲超 Easy !!

GameServer 架構

架構圖

閱讀全文 »

Git 基礎架構

Git 基礎指令

  • 查看版本: git --version
  • 設定個人資料
    • 姓名:git config --global user.name "nick"
    • mail:git config --global user.email "mail"
    • 查看git設定檔:git config --list
  • 初始化:git init
  • 查詢當前狀態:git status
  • 將檔案加到索引:git add .
  • 將索引檔加入Commit:git commit -m "異動內容"
  • 查詢Commit紀錄:git log
  • 下載遠端Repository:git clone 遠端網址
  • 拉取遠端Repository:git pull
  • 更新遠端Repository:git push origin master

Git 遠端 Repository

閱讀全文 »

簡介

工廠管理輔導法於99年6月2日修正公布實施,經濟部為輔導未登記工廠合法登記以納入管理,增訂第33條劃設未登記工廠特定地區及第34條補辦臨時工廠登記條款,除授予地方政府輔導群聚未登記工廠合法之管道,對於97年3月14日前既有之低污染未登記工廠業者,倘符合環保、消防、水利、水土保持等公共安全前提下,亦可於101年6月2日前以繳交回饋金方式補辦臨時工廠登記,在106年6月2日前暫時免除區域計畫法、都市計畫法及建築法處罰規定;為有效掌握高雄市轄區工廠資訊,本局於100年開始建置未登記工廠地理資訊系統,至101年完成並開始使用,系統功能包含合法工廠、未登記工廠空間資訊功能、工業區等空間位置資訊及查詢功能。

考量工廠資料屬於經常性異動資料,且因應高雄市GIS共通平台之推動,業務單位對於工廠資料及空間圖資的查詢需要更即時的更新需求。然而,現階段應用系統自完成建置後對於上述資料之更新作業無法達到定期自動更新機制。爰此,本計畫規劃針對工廠地理資訊系統進行整體提升作業,除了達成資料定期更新外,期建置業務管理及外業勘查等輔助功能,強化府內業務單位掌握更即時之工廠發展資訊。

特點

閱讀全文 »

簡介

行政院農業委員會水土保持局於94年度開始蒐集建置農村資訊平台, 103年度農村風情網營運服務主要包括入口網、行動版、兒童版、銀髮版、農村好讚等多元網站,目前網頁內容主要包含「訊息快遞」、「幸福農村」、「農村鮮本團隊貨通」、「農村部落格」、「在地心感動」、「農村行腳」及「農村典藏」等項目,在既有web網站架構下,本年度推動重點以強化農村第一站(農村入口網)、資訊動態有效管理、強化網頁互動資訊管理、加強社群互動討論、農村產業行銷推廣、更新上傳等功能,以吸引更多民眾認識農村、體驗農村、喜愛農村。

特點

  • 文字編輯器:ckeditor
  • 多種版本
  • 五層式架構
閱讀全文 »

特點

  • 採用WPF – MVVM 開發
  • 介接LeankitApi
  • 自動計算Scrum點數

特點

  • ELMAH 錯誤紀錄模組
  • Editor.md 編輯器
  • NuGet Server