移動城堡B
Programming related stuff
2013年4月30日 星期二
2013年4月18日 星期四
用Writer就可以開PDF
知道嗎? 可以用 Libre Office Writer直接開啟 PDF 檔編輯。
http://www.geektips.info/2011/05/convert-pdf-to-odt-ubuntu/
但是呢,實際用了之後發現,每一行都變成獨立的圖文框物件。這不是我要的啊!
http://www.geektips.info/2011/05/convert-pdf-to-odt-ubuntu/
但是呢,實際用了之後發現,每一行都變成獨立的圖文框物件。這不是我要的啊!
2012年7月20日 星期五
(Python)在ABC前重複4個空白
您如何用程式語言實現「在ABC前重複4個空白」?
看看Python可以這麼做:
print( ' '* 4 + 'ABC' )
我想替這個功能按「I like」,不知道要在那邊按。
2012年1月27日 星期五
從 Play framework 的 controller 看物件導向的優點
學習了不少的 frameworks, design patterns,我想簡單的描述它們的優點,
以讓團隊成員,甚至長官能夠瞭解,並支持 refactoring 和 test 的必要性。
很多 design patterns 的目的都不是在減少打字量,甚至還會增加程式行數。
剛好我從 Play 的官網中看到這一段,讓我想要記下來。
同樣功能的程式,分三階段演進:
public static void show() {
String id_str = params.get( "id" );
Integer id = Integer.parseInt( id_str );
System.out.println( id );
}
public static void show() {
Integer id = params.get( "id", Integer.class );
System.out.println( id );
}
public static void show( Integer id ) {
System.out.println( id );
}
最後的程式碼最精簡,但不代表整體的程式碼最少。事實上,是有些程式碼被隱藏起來了,
被隱藏在父類別。但是,實際應用時,程式碼確實變少了。
這是我認為 design patterns 的好處-讓物件/開發人員彼此分工。或許負責處理架構的
物件/人員,工作量變多了,但換來的是應用端的輕省及彈性,因此值得。
參考資料:
http://www.playframework.org/documentation/1.2.4/controllers
以讓團隊成員,甚至長官能夠瞭解,並支持 refactoring 和 test 的必要性。
很多 design patterns 的目的都不是在減少打字量,甚至還會增加程式行數。
剛好我從 Play 的官網中看到這一段,讓我想要記下來。
同樣功能的程式,分三階段演進:
public static void show() {
String id_str = params.get( "id" );
Integer id = Integer.parseInt( id_str );
System.out.println( id );
}
public static void show() {
Integer id = params.get( "id", Integer.class );
System.out.println( id );
}
public static void show( Integer id ) {
System.out.println( id );
}
最後的程式碼最精簡,但不代表整體的程式碼最少。事實上,是有些程式碼被隱藏起來了,
被隱藏在父類別。但是,實際應用時,程式碼確實變少了。
這是我認為 design patterns 的好處-讓物件/開發人員彼此分工。或許負責處理架構的
物件/人員,工作量變多了,但換來的是應用端的輕省及彈性,因此值得。
參考資料:
http://www.playframework.org/documentation/1.2.4/controllers
2012年1月25日 星期三
Scala Groovy and Xtend
今天看完這篇Groovy的簡介
雖然資料是舊的,但原理應該一樣。很容易懂的文章。
之前在評估要學Scala還是Groovy時,看到Scala的評價比較高,而且連Groovy的作者都推薦。所以,就選擇了Scala開始學。Scala非常有趣,令我期待它能得到大廠的支援,廣為使用。但是版本間不相容和其它的問題,對正式專案來說相當不利,只能期待它更成熟。
之前我就發現SpringCore選擇Groovy而非Scala,雖然當時我不知道原因。現在,看來是因為Groovy更簡單易懂。而且,先前學Scala的經驗沒有白費,因為它們的理念非常相同。應該說Groovy用到了部份Scala的特性,而它們的用法幾乎一致。
Xtend的立意也很好,語法和Scala也很像,不同的是,它會先產生Java的原始碼(.java),而Scala和Groovy是直接編譯成.class。但我發現它會用自己的套件,取代JDK的原生套件,這點對我要用在專案中卻是減分。因為,要說服長官讓我使用新技術的前提,通常是我得保證不會影響專案的時程和穩定性。最好就是和原來一樣。
也因此,我自己在專案中寫了一些仿Scala, Groovy或是仿Python的功能,而不能直接使用.scala, .groovy。目前我還是只能將Scala/Groovy用在自己有興趣的專案上。
其它好文章:
Java輕鬆玩 - 陣列與水果盒之間的關係
這篇對已經熟悉Java的我來說很有幫助
雖然資料是舊的,但原理應該一樣。很容易懂的文章。
之前在評估要學Scala還是Groovy時,看到Scala的評價比較高,而且連Groovy的作者都推薦。所以,就選擇了Scala開始學。Scala非常有趣,令我期待它能得到大廠的支援,廣為使用。但是版本間不相容和其它的問題,對正式專案來說相當不利,只能期待它更成熟。
之前我就發現SpringCore選擇Groovy而非Scala,雖然當時我不知道原因。現在,看來是因為Groovy更簡單易懂。而且,先前學Scala的經驗沒有白費,因為它們的理念非常相同。應該說Groovy用到了部份Scala的特性,而它們的用法幾乎一致。
Xtend的立意也很好,語法和Scala也很像,不同的是,它會先產生Java的原始碼(.java),而Scala和Groovy是直接編譯成.class。但我發現它會用自己的套件,取代JDK的原生套件,這點對我要用在專案中卻是減分。因為,要說服長官讓我使用新技術的前提,通常是我得保證不會影響專案的時程和穩定性。最好就是和原來一樣。
也因此,我自己在專案中寫了一些仿Scala, Groovy或是仿Python的功能,而不能直接使用.scala, .groovy。目前我還是只能將Scala/Groovy用在自己有興趣的專案上。
其它好文章:
Java輕鬆玩 - 陣列與水果盒之間的關係
這篇對已經熟悉Java的我來說很有幫助
訂閱:
文章 (Atom)