2012年10月10日 星期三

Eclipse shortcut


ctrl + shift + r  => 找出想開啟的檔案
ctrl + e  =>開啟編輯區的檔案列表
ctrl + pageUp/pageDown => 切換編輯區的檔案
alt + 左/右 => 切換編輯歷程

ctrl + t => 秀出實作樹狀
ctrl + d =>刪除一行
ctrl + m =>將編輯區最大化及還原
ctrl + F11 =>再次執行上次執行的程式

ctrl + / =>單行註解
ctrl + shift + / =>將mark處多行註解
ctrl + shift + \ =>將mark處多行註解取消
ctrl + shift + p  => 對應的大括號
ctrl + shift + o  => 自動import lib
ctrl + shift + f =>code排版
ctrl + shift + g =>找出使用該method或變數的地方

shift + F2 =>看javaDoc

F3 =>秀出變數宣告處
F4 =>秀出 type 階層

alt + shift + z => 產生try catch區塊

2012年8月16日 星期四

看MLB學英文

今天牛奶小子被證實使用睪固酮就禁賽50場

MLB官網的新聞:

Giants' Cabrera receives 50-game ban

Melky banned 50 games for testosterone use

 球迷留言:Melky you idiot. 你真是笨ㄚ~或是罵法: 你是白癡喔~或不忍苛責:你真糊塗

 ban

  1. 禁止; 禁令[C][(+on/against)]
    The police lifted the ban against parking in this street. 警察取消了不准在這條街上停車的禁令。

    We have put a ban on smoking. 我們已禁止吸煙。
 idiot
  1. 白癡
  2. 傻瓜, 笨蛋, 糊塗蟲
    He was an idiot to lose his glasses. 他是個糊塗蟲把自己的眼鏡也丟了。


    PS .很諷刺的水手王牌投手-(King) Felix Hernandez,今天投出Perfect game 。牛奶為什在國內會紅,是當時王建民在NY時他也在,所以台灣有看MLB應該都認識,況且這幾年他又猛到誇張還是今年明星賽的MVP,所以才被懷疑有用禁藥 ! 最後還是被驗出~他也承認...

2012年7月5日 星期四

用EasyMock來模擬測試你要的資料

這篇是我看過寫EasyMock tutorial 最簡潔明瞭的 !

為什麼要用EasyMock呢 ? 老實說對我這種經常靠自己單打獨鬥(寫系統)的人根本很少用= =;;;

所以我認為這種開發方式(方法論)看起來可以被用在快速開發或pototype呈現,或用在團隊分工時。

怎麼說呢?舉個那篇文章例子 :
寫client端(Android 、iOS )的 RD,要去取得某個web service的資料回來運算,實作的人可能用httpclinet的套件或其他方法去連某個web service然後回傳股價,這時可能這個實作交給其他RD或新人開發,或說這個class根本還沒被生出來,所以寫UI或例子中portfolio(投資組合)商業邏輯的人就可以先訂出interface然後用EasyMock來模擬,就不用等到實作的人真正開發完成,才能確定自己開發的部份是否有bug。


2012年7月4日 星期三

Using Jmeter for Stress Testing

Env. restriction : request and response are both JSON format .
Version of Jmeter is  higher and equal to 2.6

1. Add new test plan
 2. Add Content-Type at Header for JSON


3. Add HTTP request and put your JSON data into request body

5. (Option)View result


 6. (Option) Add Summary report

 7. Run ! You can see something result in step 5 or 6 .

2012年6月28日 星期四

你也有一張悠遊卡嗎?分享一個悠遊卡的常識,並了解電子發票

之前有個新聞,一個人的悠遊卡掉了被別人撿去購物,最後撿到的人被抓到且被告侵佔。
我就在想這個失主怎麼追到他自己的卡?
一般的卡(非combo卡)不是都不具名嗎?
昨天我就驗證了我想到的方法,首先去登錄你的卡,怎麼做呢?
到小七(7-11)的ibon,找到該功能拿出你的卡給它"嗶"一下,讓它把你的"悠遊卡號碼"寄到你的e-mail信箱,
這樣你就可以"了解"你的卡了,用你拿到的卡號到電子發票整合服務平台(e-mail內也會有網址)
去看存在裡面的發票號碼和時間就可以知道你的消費記錄,當然你就會開始享有電子發票的好處-自動對獎和線上捐發票喔!

將Java的ArrayList(串列)寫到Mysql資料庫的blob欄位

案例: 收到的request資料中一個JSON格式的資料要保存,但為何不存JSON的字串就好?因為這個資料會不斷變動的,所以收到變動只要取出這個已將JSON轉成list的添加或刪除東西就好,不用再將JSON轉成list再轉回JSON存到DB去。 在Hibernate中是設定該欄位為type="java.sql.Blob",會自動在Mysql中建成DataType為LONGBLOB
下面是把JSON轉成list後,轉成blob型態存入DB
 
ObjectMapper mapper = new ObjectMapper();//用Jackson處理JSON
  Blob blob = null;
  try {
   SongResp dto = mapper.readValue(json, SongResp.class);
   List list = dto.getSongs();
   ByteArrayOutputStream bout = new ByteArrayOutputStream();
   ObjectOutputStream oos = new ObjectOutputStream(bout);
   oos.writeObject(list);
   bout.close();
   oos.close();
   byte[] asBytes = bout.toByteArray();
   blob = Hibernate.createBlob(asBytes);
   
  } catch (JsonParseException e) {
   e.printStackTrace();
  } catch (JsonMappingException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

以下是把DB中的該欄位取出成當時寫入的list
          

List list;
  Blob b = userDao.getUserData(id, dataType);
  try {
   if (b != null) {
    InputStream in = b.getBinaryStream();

    ObjectInputStream ooi = new ObjectInputStream(in);

    in.close();
    ooi.close();

    list = (List)ooi.readObject();
    return list;
   }
    
  } catch (SQLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }

2012年6月15日 星期五

在Spring使用JSON遇到null的處理

當物件的屬性是null時預設是會顯示null,如下
{"status":"1","singers":["Jolin","Jolinnnnn"],"songs":null}
但如果想要連songs屬性都不要顯示,希望如下
{"status":"1","singers":["Jolin","Jolinnnnn"]}
就必須在該物件多個Annotation去定義這個行為產生的做法

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
public class YourJSONobj {...
    private String status;
    private List songs;
    private List singers;

...

COVID-19 確診經歷紀實

原本以為真的是天選之人,就算先前家裡兩個小孩都確診都逃過了(可能有中獎但無症狀吧),不過就在2023年六月18日破解自認為天選之人的"心態",為什麼可以確認就是這天中獎的呢?因為在前都是居家上班,到人多的室內場所都會戴口罩,就剛好這天傍晚原本只想說要去附近的國...