[Jenkins] 壹 - 起手勢

先思考著Jenkins能用來做些什麼事情呢??
自動化佈署程式需要自動化的有哪些項目呢??

先想過自己想要的動作流程,
假設版控已經有在運行, 每次更新程式大概需要以下七個動作:

1. 程式上版控.
2. 從版控上checkout 指定版本的程式.
3. 自動建置產出Build.
4. copy 程式到指定的環境.
5. 重啟站台. (可能要清除Cache什麼的.)
6. 自動進行驗證.
7. Email通知機制.

...繼續閱讀 »

[Jenkins] 序 - 為什麼要使用Jenkins

近日因工作需要, 所以來找尋自動化佈署的工具,
若是以人工方式佈署程式, 假設機器有100台,
一台一台複製, 啟動站台, 我想一個禮拜完成可能算是快的了.

那有沒有聰明一點的工具呢?
其實有的, 第三方很多套件都有, 而且是免費,
在很多比較後, 我決定使用Jenkins實現我想要的流程.

...繼續閱讀 »

[JAVA] 關於修飾字 transient

將物件實作了Serilizable ,這個物件即可被序列化,java中這種序列化提供了很多便利,我們不深入探討序列化的過程,只要這個類別實作了Serilizable,這個類別的所有屬性和方法都會自動序列化。

那修飾字 transient 是作什麼用的呢? 
java 的transient關鍵字為我們提供了便利,我們只需要實作Serilizable介面,將不需要序列化的屬性前加上修飾字 transient,序列化物件的時候,這個屬性就不會序列化到指定的目的地中。

...繼續閱讀 »

[JAVA] Callable,Runnable比較與用法

編寫多執行緒程式是為了實作多工的同步執行,從而能夠更好地提高執行速度。一般有三種方法,
Thread,Runnable,Callable.

Runnable和Callable的區別是,
(1)Callable規定的方法是call(),Runnable規定的方法是run().
(2)Callable在執行後可返回值,而Runnable在執行後不能返回值
(3)call方法可以拋出異常,run方法不可以
(4)執行Callable會返回Future物件,表示非同步計算的結果。它提供了檢查計算是否完成的方法,以等待計算的完成,並檢索計算的結果。通過Future物件可以瞭解執行情況,可取消執行,還可獲取執行結果。

...繼續閱讀 »

簡單 Apache & Tomcat 安裝教學

簡單介紹一下Apache和 Tomcat 的安裝, 環境為windows.
加上PHP等等環境建置,
這邊使用了元件版本如下 , 有需要的人請自行到官網下載:

  1. jdk1.8.0_92
  2. apache-tomcat-8.0.35-windows-x64
  3. tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x
  4. php-5.6.21-Win32-VC11-x64
...繼續閱讀 »

[JAVA] 1Z0-803 考試準備心得

因為工作需要, 最近在準備1Z0-803考試, 考題有點刁阿,
感覺不是真的想考你會不會, 是想考你會不會考試,
準備了一個半月, 覺得程式沒有進步阿, 就是為了解題而解題. (純抱怨)

這邊記下可能會考的陷阱.
出題不外乎就這幾個地方容易有陷阱. 筆記一下.
希望大家能一次考過, 阿斯.                

...繼續閱讀 »

change tomcat log directory

 

之前在寫 php 的時候, 把 logs 都集中放到某個目錄下來, 和原本 server software 目錄分開, 這樣要砍 log 檔, 或是備份 server software / configuration 的時候也會比較方便一些, 最近要用 java solution, 所以要把這個習慣延伸到 tomcat 上

...繼續閱讀 »

[JAVA] 建構子(Constructor)

JAVA中物件建立時,除了跟記憶體要一個位置存放物件外,同時也會執行建構子.
建構子有兩個重要的特性:

1. 建構子不回傳值
2. 建構子與類別(Class)名稱相同

public class MyClass{
    MyClass(){
        System.out.print("MyClass建立時執行!");
    }
}

 

...繼續閱讀 »