2019年8月16日 星期五

[Java] 將 java 程式轉為 Windows 系統服務 (Windows Service Wrapper)

[Java] 將 java 程式轉為 Windows 系統服務 (Windows Service Wrapper)

作者 GitHub

https://github.com/kohsuke/winsw

下載 winsw (Windows Service Wrapper)

http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/

有分為 .NET2 及 .NET4 執行環境的版本

EX: 以 2.2.0 版本為例

winsw-2.2.0-bin.exe (.NET2)

winsw-2.2.0-net4.exe (.NET4)

2019年7月16日 星期二

[指令] Redis for Windows 簡易指令及配置

將 redis 安裝成 window service
redis-server --service-install redis.windows.conf

卸載服務
redis-server --service-uninstall { --service-name _name }

手動開啟redis(不設定為服務)
redis-server redis.windows.conf

啟用服務
redis-server --service-start

停止服務
redis-server --service-stop { --service-name _name }


2017年9月5日 星期二

[Java] NetBeans 快捷鍵

Netbeans 快捷鍵

查找、搜索和替換
Ctrl-F3 搜索位於插入點的詞
F3/Shift-F3 在文件中查找下一個/上一個
Ctrl-F/H 在文件中查找/替換
Alt-F7 查找使用實例
Ctrl-Shift-P 在項目中查找
Alt-Shift-U 查找使用實例結果
Alt-Shift-H 關閉搜索結果突出顯示
Alt-Shift-L 跳轉列表中的下一個(所有文件)
Alt-Shift-K 跳轉列表中的上一個(所有文件)
Ctrl-R 重新裝入窗體
Alt-U-U 將選定內容轉換為大寫
Alt-U-L 將選定內容轉換為小寫
Alt-U-R 對選定內容切換大小寫

2017年4月26日 星期三

[Tools] 單元測試利器 mock

[Tools] 單元測試利器 mock

目前接觸專案常常需要寫很多測試案例,基於分層測試再整合測試的原則,若是分層測試已經寫完,要再寫整合測試時,其實當中的很多測試都已經通過了,再重寫一次未免太過繁雜,故使用 mock 來協助處理一些可以被忽略的事宜。
以下就是目前常使用的 mock 利器:

[Java] 寫入及讀取 XML 檔案

[Java] 寫入及讀取 XML 檔案

這邊記錄兩種方式
一種是 DocumentBuilder 的方式,一種是使用第三方 Lib JAXB的方式


2017年4月6日 星期四

2017年4月5日 星期三

[Spring MVC] 處理靜態資源

[Spring MVC] 處理靜態資源

1. 使用 mvc:resource 指定相對應文件目錄

2. 使用 mvc:default-servlet-handler 處理預期之外的 serlet 請求

3. 使用 Tomcat 中的 defaultServlet (以 Tomcat 為 container時)

相關網址:
《經久不衰的Spring框架:SpringMVC 統括》
Spring mvc 奇葩的404問題,這裡解惑了

2017年3月27日 星期一

[Mybatis] 於Spring中使用 Interceptor 紀錄 SQL 語法

[Mybatis] 使用 Interceptor 紀錄 SQL 語法

相關 lib 版本
springVersion = "4.3.6.RELEASE"
mybatisVersion = "3.4.1"
mybatisSpringVersion = "1.3.0"
postgresqlVersion = "9.4.1212"


2016年10月20日 星期四

[Tomcat]解決 tomcat 無法進入 Server Status / Manager App / Host Manager 的狀況

[Tomcat]解決 tomcat 無法進入 Server Status / Manager App / Host Manager 的狀況

修改 tomcat-users.xml 的資訊,位於Tomcat安裝目錄下的conf目錄中
將相關 rolename 及 user 資訊加入
修改範例如下

2016年9月13日 星期二

[JasperReport] JasperReport 報表設計套用 command 模式

[JasperReport] JasperReport 報表設計套用 command 模式

預設報表須輸出 pdf,ods 兩種格式
需要
CommandProcessor interface
Command interface
設定 Processor 可以執行的 command,假設有三種
InputModel 為從前端 controller 所傳遞過來的屬性or資料
public interface CommandProcessor {
    String TO_FILE = "toFile";
    String TO_STREAM = "toStream";
    String TO_BYTE_ARRAY = "toByteArray";
   
    genReportToFile(InputModel inputModel)
    genReportToStream(InputModel inputModel)
    genReportToByteArray(InputModel inputModel)
}


2016年9月8日 星期四

[Spring] Annotation @Transactional 的各項 屬性

[Spring] Annotation @Transactional 的各項 屬性

用 spring 事務管理器,由spring來負責資料庫的打開,提交,回滾.

默認遇到運行期例外
(throw new RuntimeException();)會回滾:

[Java] Listener 簡易說明


[Java] Listener 簡易說明
相關類別
org.springframework.context.ApplicationEventPublisher
org.springframework.context.ApplicationEventPublisherAware
org.springframework.context.ApplicationEvent
org.springframework.context.ApplicationListener

2016年3月3日 星期四

[JAVA]轉換檔案編碼及內容亂碼轉換

[JAVA]轉換檔案編碼


分享三種方式


使用String 轉換-------
package charset;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

2015年11月20日 星期五

Scrum 課程綱要 2015.11.20(Final)

Scrum 課程綱要 2015.11.20(Final)
Scrum 一種敏捷的開發方式,協助於最短時間,最高商業價值的產出
    三角色 Scrum Master / Product Owner / Team Member
    三產出 Product backlog / Sprint backlog / Burndown Charts
    五個價值 Courage(勇氣) / Openness(開放性) / Commitment(承諾) / Focus(專注) / Respect(尊重)
    五個儀式 Ceremonies(儀式) :
        .Sprint(衝刺) .Sprint Planning Metting .Daily Scrum .Sprint Review .Sprint Retrospective
    Planning Pocker 時間估算工具

Scrum 課程綱要 2015.11.06

Scrum 課程綱要 2015.11.06

作法思考的改變,一件事如何最快產生商業價值
    ex:多能分工...並行處理,每個人都可以產生商業價值

Scrum 課程綱要 2015.11.13

Scrum 課程綱要 2015.11.13

TDD
    做事情是結果比較重要

 

2015年11月9日 星期一

Scrum 課程綱要 2015.11.09

Scrum 課程綱要 2015.11.09

Time Box
    釐清需求
Team
PO 插手團隊???
概念性驗證(Proof of Concept;POC) 重要!!!