1 day ago

新版本的 vagrant 配置有點不同,所以想用舊的配置檔跑 VM 裡面的 Docker 會失敗

新的要加上
force_host_vm = true

為什麼要加就是自己看一下說明吧,反正就改了
https://www.vagrantup.com/docs/docker/configuration.html#force_host_vm

Read on →
 
1 day ago

前兩篇有講到 entity 還可以進一步定義關聯的資源 URL,讓前端可以依照定義來取得資源,而不是一個寫死的網址,避免萬一 URL 有變動的話 APP 也得必須改版。

就像 links 的效果
前端就可以固定抓取 project 的 value 就可以取得 project 的相關資訊,而不必關心 project url 的變動

{  
   "projectId":"QpbR7viWdy",
   "projectName":"123",
   "score":72,
   "createdDate":null,
   "createdBy":null,
   "lastModifiedDate":"2017-07-20T09:24:28Z",
   "lastModifiedBy":null,
   "_links":{  
      "self":{  
         "href":"http://localhost:8080/scoreProjects/n5NehJba7k"
      },
      "scoreProject":{  
         "href":"http://localhost:8080/scoreProjects/n5NehJba7k"
      },
      "project":{  
         "href":"http://localhost:8080/projects/QpbR7viWdy"
      },
      "scoreProjectMembers":{  
         "href":"http://localhost:8080/scoreProjectMembers/search/findByProjectId?projectId=QpbR7viWdy"
      },
      "projectMembers":{  
         "href":"http://localhost:8080/api/project/QpbR7viWdy/members"
      }
   }
}
Read on →
 
8 days ago

Spring 中使用 @Valid 驗證後回覆的格式並不是 json ,其實很不好處理 ,目前是 定義 ControllerAdvice 來做一個轉換處理

還有另一個是 HystrixBadRequestException ,因為有用到 spring-cloud-feign 的功能,自然是支援斷路保護機制 但是這個HystrixBadRequestException 好像沒辦法把對方的錯誤訊息放進去我們的回覆資料內,對方只會看到 message=BadRequest 之類的,所以做一下處理

Read on →
 
11 days ago

有關如何自訂 Page 物件與仿照 SpringDataRest 格式
為什麼要仿照? 主要原因

  • SpringDataRest 提供的是 HATEOAS (Hypermedia As The Engine Of Application State)
  • org.springframework.data.domain.Page 轉成 json 跟 SpringDataRest 不一樣

HATEOAS 的入門說明

Read on →
 
about 2 months ago

寫Spring還真的很少自爆就停止服務了,大概都是被 OS 層級終止(記憶體吃太多也是事實)
但線上服務還是加個服務監控怕真的掛了沒人知,台灣人用line比較多那再加個Line通知比較即時吧

Read on →
 
about 2 months ago

有些舊系統前端是傳統 apache + ajp13 接後面 Tomcat 服務
這個時候可以讓 springboot 也接收這種 protocol

Read on →
 
3 months ago

因為要飛大陸所以又要準備 VPN 了,不過 PPTP 已經無法在 IOS 上使用~~只好研究 shadowsocks 怎麼搞啦

Read on →
 
4 months ago

Swagger 在工程師或測試方面幫助很大,但有些人員非工程背景,拿到 Jar 檔也不會執行,也就看不到 API 規格,所以還是需要一份文件,這時候我們既然都定義好 Swagger 了,直接用來輸出就最方便

流程來說是 測試程式產出 adoc 檔 -> plugins org.asciidoctor.convert 轉換成 html 等其他格式

Read on →
 
4 months ago

如果你比較偏好黑箱測試,或是你的測試環境沒辦法真的提供個資料庫如 circleci,那可以用用看 下面方法

Read on →
 
4 months ago

新增一個 delete.bat 內容如下

delete.bat
DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

把鎖死的檔案拖拉到 bat 上~~用拖拉就可以囉

開心用免裝多餘的程式~~

參數說明

DEL 刪除檔案,命令參數: del /?
/F:表示強制刪除
/A:選擇檔案的屬性
/Q:安靜模式,不會跳出提示訊息就刪除
/S:連帶刪除子目錄下的檔案

RD 刪除目錄,命令參數: rd /?
/Q:安靜模式,不會跳出 提示訊息就刪除
/S:連帶刪除子目錄下的檔案

參考來源
Windows 強制刪除檔案及資料夾 - 連 unlock 都省了