Category Archives: Program

Travis CI

Travis CI 是一個已經建置好而且免費的持續整合系統,並且支援多種語言。主要是用來與 github 上的 repo 結合,只要有push code上去,Travis CI 就會自動幫你測試

CI 的全名是 Continous Integration。軟體開發會常遇到當專案的程式一多,測試過程也會變的複雜。例如一個專案測試需要經過十個unit test測試,但每次送一次commit就要人工跑一次這十個測試會很麻煩,因此可以透過 CI Server 來幫助你完成。

Travis CI Build Lifecycle 在使用Travis CI前,必須先瞭解它幫你佈署的流程(取自 官網)

1. Clone project repository from GitHub 2. cd to clone directory 3. Checkout commit for this build 4. Run “before_install" commands 5. Run “install" commands 6. Run “before_script" …

Continue Reading

[Python]pyenv

有時為了方便起見,會使用python寫一些tool,但如果機器上沒有裝就很麻煩

pyenv 可以協助將python環境build在自己的家目錄底下,並且可以任意切換版本

安裝的步驟很簡單 1.下載原始檔到自己家目錄

2.設定基本PATH及initialize

3.安裝不同版本的python(如果安裝失敗,可能是機器上有些套件沒有裝,可以參考 這裡)

4.加入套件PATH

完成後就可以使用python3.3的指令,但如果機器上原本沒有裝python3,還是會無法使用python3

5.切換版本

測試python3指令,如果版本號是3.3.3的話就完成了

6.其他指令

注意:以上步驟是在bash環境下完成,如果是其他shell環境,請自行調整(例如tcsh要改成set)

Continue Reading

[Java]Generics(泛型)

在Java中,有時候會遇到邏輯相似但型態可能不同的類別

例如: test1.java

test2.java

index.java

上面範例除了還要再新增一個class之外,如果遇到後續邏輯修改,也要重複將類似邏輯的class修完,非常的浪費時間

這時候使用泛型就可以解決上述的問題

generics.java

index.java

另外也可以限制泛型的類別,限制可以使用的類別()

Continue Reading

[Java]Package

在Java中也有一套套件的管理機制,透過關鍵字package可以將class歸類在特定的套件中

例如

編譯

使用

Continue Reading

[Python]sqlmap

sqlmap官網

因應個資法…需要對某些系統做一些測試

所以找到了這個套件,文件也非常完整..很輕鬆就可以撈出資料了(誤

這只是純粹用來測試系統是否有sql injection安全性問題

請不要任意對外部系統進行測試,以免觸法

Continue Reading

[Java]DecimalFormat(小數格式)

在Java裡,要讓float或double型態輸出成整數或一定的格式,通常都會使用printf來控制

但有一種狀況是無法透過printf解決,例如有小數取到小數第三位,若是小數為0則省略

這時候就可以透過DecimalFormat這個物件來解決,精準的控制格式

Continue Reading