嘿嘿~今年的聖誕禮物,以前也沒收過禮物,頂多也只是收張卡片,今年女友送這個糖果屋,是買半成品回來組裝的,可以玩又可以吃,感覺還不錯!怕張照留念^^ 這是今天逛街時看到的,由於晚上大伙說好要帶一份小禮物交換,我想隻糖果鞋還蠻合適的。
2006/12/23
2006/12/16
2006/11/08
Java 2D 圖形技術 + Swing實作手冊
啦~啦啦!,又來了兩本書,不過Swing實作手冊是借來的,以前教Java的老師說,Swing沒什麼,自已看看就會了,其實不然,Swing是可以很深入的,看這本書一千多頁就知道了,常在Javaworld@tw看到別人在談論到元件時,感覺他們對元件非常熟悉,可以輕而易舉的作出自已想要的外觀、功能,真的很讓人羨慕。
之前有寫個小畫家,功能很陽春,不太滿足,剛好在拍賣區上看到有人在賣"Java 2D 圖形技術"的二手書,查了一下目錄,對內容還蠻有興趣的,雖然是二手書,但賣家保存的很好,這本書只賣三百元,感覺就像全新的一樣。
2006/10/10
(95)中秋節的雪山隧道
2006/10/01
標記程式碼
為了在blog中貼程式碼可讀性高一些,寫了一個parser,字型的樣式比照eclipse,不過這個blog蠻龜毛的,會把Tab鍵的空白的用一個空白取代,而且會把按下enter用<br />取代,雖然有選項可以關掉,但每當我按下預覽時,他又會幫我亂改...>"<
1 | package hluo.blog; public class Test { public static void main(String[] args) { System.out.println("Hello My Blog!"); } } |
嗯...感覺還不錯,不過IE與FireFox看的樣式會稍微差了一點,FireFox的表頭/尾會多了一行,但在一般網頁測試都正常,只是在這個blog看有差而已...。
外部類別與內部類別間的相互存取
如何從外部類別存取內部類別的成員?如何從內部類別存取外部類別的成員?好像有點繞口@@,常看到新手在問,而入門書講到內部類別通常都簡單帶過去,很少有詳細範例,在這貼個簡單的例子,希望能幫助有緣人。 看看下面的例子會容易明白些...
1 | package hluo.blog; public class Outer { int i = 0; // 內部類別 private class Inner { int j = 1; private void changeI() { // 改變外部成員i Outer.this.i = 10; } } public static void main(String[] args) { Outer outer = new Outer(); Outer.Inner inner = outer.new Inner(); System.out.println("內部成員j = " + inner.j); System.out.println("外部成員i = " + outer.i); inner.changeI(); System.out.println("外部成員i改變後 = " + outer.i); } } |
執行結果
1 | 內部成員j = 1 外部成員i = 0 外部成員i改變後 = 10 |
2006/09/23
FTP被入侵...Orz
有些地方的主機會鎖1024以上的port,為了在公司能夠使用,所以昨天我把FTP的port改成21,上班的時候看都還正常,但是一回到家,我就發現Linux主機上有不明的訊息,像是IO Error之類的...當時沒想那麼多,以為是硬碟出問題(因為硬碟很舊了),馬上登入主機看看還正不正常,嗯...好像沒什麼改變,一切正常,疑?我的FTP分享目錄裡,怎麼多了一個Readme.exe檔,要下班前我才看的,明明沒有一回到家就有了= =,對電腦有些認識的人應該都知道,這很有可能是病毒。
google了一下Readme.exe,果然是病毒,而這時候,我區域網路上的另一台電腦正好開機完,那台電腦的防毒軟體馬上就找到共享目錄下有病毒,不過還好,這隻病毒已經被發現五年了,所以防毒軟體很順利的就把毒解了。
回到問題的重點,雖然早知道FTP是很不安全的通訊協定,但是為了方便還是必須使用,我特別選用了vsFTPd這套件,這套件強調安全性高,vs就是vary secure的意思,不過該更新的也都更新了,還是被入侵,可能有新的漏洞吧!好吧!好吧!既然FTP這麼不可靠,那我靠iptables來擋吧,prot全部drop,就以IP來判斷accept,安全性應該提升很多了!
2006/09/15
台灣電子媒體被洋基趕出場!
在Javaworld@tw交流版上看到的,感覺還蠻丟臉的,明明王建民贏球是好事,但卻被台灣媒體丟臉丟光了,詳細內容請看這篇"台灣電子媒體 被洋基趕出場"。
現在的新聞,很多都是被新聞記者導演出來的,這違反了報導事情真相的原則,而他們卻只為了求自已在工作上的表現...
新聞自由?新聞自由大於人身自由?常看到新聞記者死賴著某個人,造成那個人生活上的不便,不禁令人感嘆!台灣人是不是要重新檢討一下,何謂新聞自由?
2006/08/30
Spring初體驗
昨天心血來潮,把我以前寫的濫濫的個人網站改成Spring framework,果然,筆誤很多,一下子漏/一下子漏ref...等等。不過Spring倒是蠻友善的, 在網頁的錯誤訊息上,都有提示哪一個檔案錯誤,遺漏了什麼之類的,所以很順利的完成了第一個Spring網站,可是,完成之後,有點空虛的感覺= =,因為,我好像把一件簡單的事給複雜化了,明明是很簡單的網頁,但是卻多花了很多時間...?
嗯...既然有疑問,就給他google一下,搜索了Spring的好處找到了Javawork@tw的blog裡Keep Spring IoC Coarse-grained這一篇文章,裡面提到了幾個重點:
- 當元件出現重用時,才開始考慮使用 Spring IoC。
- 元件動用到外部資源時,使用 Spring IoC。
- 當元件需要 AOP 時,再考慮設定到 Spring xml。
- 能不用 Spring IoC 就不用!
- 不要為Spring而Spring。
- 不要為IoC而IoC。
- 不要為AOP而AOP。
2006/08/25
2006/08/24
位元運算<<、>>、>>>與補數~
常在網上看到正準備SCJP的的朋友在問,藉此整理一下...
- << 左移運算子,將位元往左移,右邊補0。
1 2 3 4 5 | 例如:5 << 2 00000000 00000000 00000000 00000101 往左移2 000000 00000000 00000000 0000010100 再轉回10進位,所以結果為20 |
- >> 右移運算子,將位元往右移,如果原本左邊為0就補0,為1時就補1。
1 2 3 4 5 | 例如:5 >> 2 00000000 00000000 00000000 00000101 往右移2 00000000 00000000 00000000 00000001 再轉回10進位,所以結果為1 |
1 2 3 4 5 | 例如:-5 >> 2 11111111 11111111 11111111 11111011 往右移2 11111111 11111111 11111111 11111110 再轉回10進位,所以結果為-2 |
- >>> 無號右移運算子,將位元往右移,左邊補0。
1 2 3 4 5 | 例如:5 >>> 2 00000000 00000000 00000000 00000101 往右移2 00000000 00000000 00000000 00000001 再轉回10進位,所以結果為1,與>>相同 |
1 2 3 4 5 | 例如:-5 >>> 2 11111111 11111111 11111111 11111011 往右移2 00111111 11111111 11111111 11111110 再轉回10進位,結果為1073741822 |
另外,可以在Java中使用
1 | DecimalFormat df = new DecimalFormat("00000000,00000000,00000000,00000000"); BigDecimal bigDecimal = new BigDecimal(Integer.toBinaryString(-5 >>> 2)); System.out.println(df.format(bigDecimal)); |
來轉成2進位,方便驗算。
執行結果:
1 | 00111111,11111111,11111111,11111110 |
- 補數:在Java中是以~符號代
1 2 3 4 5 5 | 例如:~1 1的二進位 00000000 00000000 00000000 00000001 補數為 11111111 11111111 11111111 11111110 轉為10進位時,就是-2 |
補數 = - (被補數 + 1)
所以10的補數,馬上就可以算出是-11
2006/08/22
2006/08/17
Ajax開發體驗營
2006/08/07
該複習一下JSP/Servlet?
該複習一下JSP/Servlet?應該說該好好學一下JSP/Servlet,因為之前並沒有學的很多,所學的部份,只是能應付學校的作業而已,班上的同學大多數都不喜歡寫程式,所以老師也覺得很無力,只能教很基本,出很簡單的作業。
偶而上網看看工作時,J2EE比J2SE的人力需求來的多,而且,web也會是未來的一個趨勢,像Spring技術手冊第七章以後講的,都是web frame,還有最近很熱的Ajax,都在在的說明了web的重要性。
以前其實對作網站有點排斥,因為覺得美工不是很好,怎麼做都覺得難看,後來明白原來美工人員與程式設計人員是分工的,心裡就比較踏實一點;拾起以前的教課書,再來重學一遍。
2006/08/06
買了沒用?用了之後就沒再用的?
昨天在衛視電影台看了一部港片叫最愛女人購物狂,還蠻好笑,故事裡的每個人都有自已特別的病,有的是購物狂,有的是很吝嗇,有的是選擇東西總是拿不定主意...等等。
購物狂是由張柏芝演的,影片中有一句話蠻貼切的,想買東西的時候,想想看,有什麼是買了沒用?用了之後就沒再用的?這讓我想起我周遭的同事有許多人都是這樣的,之前有同事買了鞋子一雙八千多,結果連一次也沒穿過...因為,他突然覺得不喜歡了^^。
其實我常跟我同事說,"想買",只是個慾望,忍一下就過去了,找一些別的事作,就不會一直想買東西了,克制不了,下場就是淪為卡奴!
2006/08/02
世紀末軟體革命(復刻版) + Spring技術手冊
前幾天在天瓏買了這兩本書,還蠻便宜的,兩本平均約八折,比一般店書賣的便宜,世紀末軟體革命-復刻版這本書是在Javaworld@tw的灌水區看人家推薦的,主要是以介紹C++、GUI、物件導理論,買這本書的動機有兩個,一是了解物件導向,二是順便學一點C++,C++我沒學過,但一直很想學,因為常聽到別人拿C++與Java相比較,沒學過C++,搭不上話 。 Spring技術手冊的作者是良葛格,從剛開始學Java時,就一直跟著他的網頁學習,對我有很大的幫助,這也是我的第一本framework,每次學到新的技術時,都會讚嘆發明的人是多麼的天才。當初剛學習到多型時,也是有同樣的感覺。
2006/08/01
Eclipse3.2 + EclipseNsis
在Javaworld@tw上爬舊文章時,看到有人在問如何將程式包裝成安裝程式,有人建議使用nsis這套軟體,跑去sourceforge.org逛了一下,找到了EclipseNSIS,這是for Eclipse的Plug-in,試用了一下,蠻方便的,在Eclipse下會一步一步的來帶你建立安裝程式,功能還蠻齊全的,值得推薦...