請參考這個網站:
http://ubuntu.online02.com/node/14
不過喜歡XP佈景的朋友可以試試看,順便告訴人家這是一個不會中毒的XP@_@
wget -c http://ganttproject.googlecode.com/files/ganttproject-2.0.10.zip
chmod +x /opt/ganttproject-2.0.10/ganttproject.sh這樣就可以直接呼叫Ganttproject來使用囉!
ln -s /opt/ganttproject-2.0.10/ganttproject.sh /usr/bin/Ganttproject
等待已久的Chrome for Linux終於釋出beta版了!!先前使用open source的chromine仍然還有許多問題,其中最為人詬病的就是flash支援的極差。Google釋出beta版大家可是睜大了眼睛在看呢!請各位看官到http://tools.google.com/chrome/?hl=zh-TW下載,或是到http://www.google.com/chrome/intl/zh-TW/w00t.html欣賞一下世界各地勞苦功高的開發人員開發chrome for linux的經過~
假設你常用的是firefox,第一次啟動chrome時會匯入firefox的所有設定,包含書籤、密碼、cache等等,非常貼心。
我迫不及待的想拿他來測試flash!!最好的方法就是拿一個swf來測試啦!玩起音速小子,真是超順暢的啦!!
那麼能不能偵測到我的JRE呢?測試看看便知道!
可以偵測到耶!真是方便!
如果預設的字型跟locale以及coding都不適合的話,也很方便做細部調整!
等待各位去發覺的extension!!
還有很多佈景主題喔!不過,當然沒有firefox多就是了!
目前為止還沒發現太多問題,我想請大家依起共襄盛舉測試beta版的chrome for linux,畢竟大家真的等了好久好久!!
我最常用的幾個extension!跟大家分享!!
我強力推薦使用chrome的原因是,chrome非常的輕巧,她可以一次開20多個分頁不會當機,然後關閉再開啟的這些分頁也很快的起來;相較之下,firefox就非常笨重且耗資源,光是開四個分頁cpu loading就超過50%!基於效率跟安全性,我會選擇google chrome。
延伸閱讀:
Chromium for Linux
每個檔案都有屬性及內容。除了檔案內容很重要外,時間標記也非常重要--系統管理員可以藉由時間標記進行備份、例行性檢查;使用者可以從時間標記找出重要的檔案,硬碟的I/O也依靠時間標記(time flag)來進行處理。
UNIX系統將時間標記分成三種:
我們可以用一個很簡單的script來印證這些東西。
姑且把他命名為showTime.sh
1. 假設我們建立一個新檔:
touch newFile執行showTime.sh,你會發現三種時間是相同的:
ctime: Nov 17 23:14 atime: Nov 17 23:14 mtime: Nov 17 23:142. 隔一分鐘後,寫入一些東西到檔案裡面:
echo "1st modified" > newFile結果發現:
ctime: Nov 17 23:15 atime: Nov 17 23:14 mtime: Nov 17 23:153. 再隔一分鐘後,讀取這個檔案但不更動內容:
cat newFile結果發現:
ctime: Nov 17 23:15 atime: Nov 17 23:16 mtime: Nov 17 23:154. 在隔一分鐘,僅修改屬性:
chmod g+wx newFile結果發現:
ctime: Nov 17 23:17 atime: Nov 17 23:16 mtime: Nov 17 23:15
從這個lab裡我們可以得到以下結論:
PDF檔案格式是目前最重要的檔案格式之一,因為她可以確實保留住檔案的格式,包含字型以及圖形顏色、比例,並且提供解析度極高的列印效果。本文僅就最常用的合併、拆解、旋轉、加解密,以及簡單的編輯功能作筆記。
pdftk(pdf toolkit)是一套可以拆解、合併pdf的超實用小工具,還可以進行加解密,頁面旋轉、解出metedata,書籤、資料欄位等非常多專業功能!解決了往常只有Adobe Acrobat Professional才能使用的功能。隨著pdf越來越普及,字型跟格式都越來越要求跟在不同平台下有完全相同的呈現方式,我們確實是需要學習這樣的實用工具。更棒的是,他是開放原始碼並且以GPL授權的軟體,在許多linux上都是可以直接安裝的,太方便了!
以下我僅翻譯網頁中的範例,在加上自己的註解作為筆記。
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
pdftk A=1.pdf B=2.pdf cat A1-7odd B2-endeven output combined.pdf取出1.pdf的1,3,5,7頁跟2.pdf的2~最末頁,合併成combined.pdf
pdftk src.pdf cat 1E 2-endoddW 2-endevenS output.pdf第一頁順時針旋轉90度,之後的奇數頁逆時針90度,偶數頁轉180度。
pdftk src.pdf cat 1-endS output rotated.pdf
pdftk plane.pdf output encypt.pdf owner_pw 加密密碼另一個強度較小的為40bits,他可以節省不小檔案大小:
pdftk plane.pdf output encrypt.pdf owner_pw 加密密碼 encrypt_40bit
pdftk encrypt.pdf output lock-encrypt.pdf user_pw 使用者密碼
pdftk encrypt.pdf input_pw 加密密碼 output decrypt.pdf
pdftk plane.pdf output encrypt.pdf owner_pw 加密密碼 user_pw 使用者密碼 allow printing允許的動作如下:
pdftk A=encrypt.pdf B=plane.pdf input_pw A=加密密碼 cat A B output combined.pdf
pdftk src.pdf output plane.pdf uncompress同理,你也可以下compress指令來壓縮。
pdftk large.pdf burst他會在當前目錄產生一個doc_data.txt的log檔作為紀錄。
pdftk broken.pdf output fixed.pdf
pdftk contents.pdf background Watermark.pdf output contents_WM.pdf從指令上也能看出是否要讓浮水印蓋過圖片,細節上還請參考Lloyd神人的在 PDF 上加浮水印
pdftk contents.pdf stamp Watermark.pdf output contents_WM.pdf
pdftk A.pdf dump_data output report.txt
事實上還有更多細節的功能,不過礙於自己也不是很懂,節錄這些常用的功能應該就非常足夠。另外,關於PDF密碼的一些概念,這裡作一些簡單的介紹。pdf的「密碼」大致兩種類型,一種叫Document-open password,另一種則是Permission password。Document-open password是開啟這個pdf檔所需要的密碼,跟使用者比較相關,也稱之為user_pw;Permission password比較像是administrator/owner的密碼,只有所有人才能修改裡面的內容以及關鍵屬性,又稱之為owner_pw。在pdf 1.4以及更早的時代(也就是acrobat 5.0),加密強度僅40bits;到了現在強度已經到128bits;到了Acrobat 9.0以後,導入了AES加密演算法之後,加密強度已經高達256bits,不過pdftk還不支援這麼高的強度;就算支援,做雜湊加密跟解密的時間也會很久。
其實你還可以找到pdftk的gui版本--GUI for pdftk,該作者也大方的提供了各種不同版本給各種作業系統使用,不過他所使用的函式庫實在是太舊了,就算我用軟連結仿造一個他要的版本給他,在執行上仍會有macro mismatch的錯誤,反正pdktk幾乎是無敵的,我也就不理會是否有圖形介面了。
在Windows下有著名的軟體:PDF password recovery--能破解pdf密碼的障礙,那麼在linux底下呢?
pdfcrack是一套基於GPL的開放原始碼的程式,她自動偵測加密長度,並且用內建字典逐個測試。破解密碼時間的長短仰賴於cpu的能力。sourseforge僅提供原始碼,不過別擔心,編譯一定會成功的,只要你有裝gcc的話。
另一個方法是使用wine去模擬windows下破解pdf密碼的軟體。我以pdf password remover做測試,並且利用pdftk隨便加密一個pdf來試驗,發現雖然她似乎能很快的
產生一個乾淨的pdf檔,但是我的pdf內容卻全部被清空!不知道是wine的原因還是如何,總是這看來不太成功。
另一個解決方案則是GuaPDF。GuaPDF這間公司提供了Demo, Local Quad, Distributed以及UNLIMITED四種版本,包含solaris,linux,windows,macos四種平台。Demo版本是免費使用的,如果你的顯示卡是nvidia的晶片且安裝了cuda驅動程式,解密速度可以比一般僅用cpu功能的電腦快上七倍。
linux Demo | MacOS Demo(Intel) | Solaris Demo | Solaris x86 Demo |
利用GuaPDF能快速的產生一個未經加密的pdf檔,解密之後用Acrobat reader可能會有一些錯誤訊息,這是很正常的。
但是畢竟是demo版,您可能會遇到下列錯訊息:
Guaranteed PDF Decrypter v. 3.1 (freeware DEMO version) - CPU version (c) PSW-soft, 2000-09, by P. Semjanov, S. Lysak. http://www.guapdf.com This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) 'Corring, Kay, JP 2001, slab window Argentina.pdf' is the uncompressed document with 40-bit RC4 encryption This document has no user password, only restrictions present Key found! (exact value is 7F 7A AC E3 FC) Would you like to decrypt it now?y Decryption in progress, please wait... 0% complete Warning: Demo limitation reached in line 430 Your file is 100% supported by GuaPDF and decryption is guaranteed, but demo limitation was reached and file was not fully decrypted and saved as 'Corring, Kay, JP 2001, slab window Argentina.decrypted.pdf'. It may contain only few (or zero) readable pages and/or produce any error messages. Please get the full version to correctly decrypt this file.這是因為demo版限制只能用在430行以內的pdf檔,只好依照需求去跟他買羅~
如果要編輯pdf檔案本身,除了要有好工具之外,還需要會一些pdf的語法,這就超過了筆者的能力範圍;不過簡易的修改pdf,仍然可以透過pdfedit這個小程式來幫忙:
pdfedit可以從套件庫裡直接安裝喔!建議閱讀官方網站提供的閱讀文件。如此一來,編修pdf檔時就不需要用vbox開一個windows又使用盜版軟體了!
在bbs的linux版上看到有網友想找可以自動reboot500次的linux程式,我覺得很有趣;不過一下就把script公佈出來,一點趣味也沒有。所以我就先把解答寫在這裡,也許有一天,他會找到這篇。
重開機500次可能是要測試硬體吧,這就超過我的專長;不過自動重開機卻可以用8行不到的script輕鬆解決:
修改/etc/rc.local,新增一行如下:
[ -e /boot/autoReboot.sh ] && bash /boot/autoReboot.sh然後新增一個/boot/autoReboot.sh內容如下:
所需要會的技巧相當簡單:
1. 會使用while loop。
2. 會使用test敘述。
3. 會使用shell script裡的整數運算(雖然他非常陽春)。
4. 會使用function(雖然他非常陽春)。
5. 知道開機時要額外啟動的命令檔為何。
變數值代換相較於指令代換,是一般使用者比較少碰到的;不過當你要成為一位合格的bash/csh programmer,變數值代換可是要跟吃飯喝水一樣自然。
Case 1. ${variable-'defaultValue'}
意義:當variable不存在時,將variable暫時指定成defaultValue。所謂「暫時」,是指此行之後,在整個script裡variable都還是不存在此變數名稱。
結果:
Maxsolar可以發現,第一行的Maxsolar是利用變數值替換得來的,但是事實上我們並沒有真的設定myname,因此echo的結果為無。
<---沒有輸出
Case 2. ${variable:-'defaultValue'}
意義:當variable不存在或為空值時,將variable暫時指定成defaultValue。所謂「暫時」,是指此行之後,在整個script裡variable都還是不存在或變數值不改變。
結果:
Maxsolar可以發現,由於myname存在但為空值,因此暫時被設定成Maxsolar,但隨即變失去了Maxsolar這個值,因此第一行輸出Maxsolar,第二行的輸出為空值(請注意跟case 1的「沒有輸出」看起來一樣,意義卻不相同)。
<---空的輸出
Case 3. ${variable:='defaultValue'}
意義:表示variable若不存在或為空值,則指定defaultValue給variable。variable將在整個script裡都為defalutValue。
這是最為常見的變數值替換。
結果:
Maxsolar可以發現,由於myname是空值,因此利用":="將myname的值永久設定成Maxsolar(所謂永久,指的是在此script的生命週期裡)。因此兩個輸出都會是Maxsolar。
Maxsolar
Case 4. ${variable:?'defaultValue'}
意義:若variable不存在或為空值,則會出現在std err上,以檢查變數值是否被正確設定。
此變數值替代表示法常用在debug,而不會真正用在可執行的script上,遇到錯誤就會直接停止,無法利用std err導向輸出。
結果:
test.sh: line 32: myname: Maxsolar因為myname被預期設定值為Maxsolar,但是卻是空值,因此會觸發一個標準錯誤輸出,script嘎然而止。
Case 5. ${variable:+'defaultValue'}
意義:表示variable若已被設定,則本行的variable暫時被設定為defalutValue,但整個script裡的variable未被改變。
結果:
maxubuntu可以發現:myname非空值,因此將會被暫時設定成maxubuntu;但是myname的值不會因此改變,仍然是Maxsolar。
Maxsolar
好險,變數值的替換就這五種類型,多看個兩次就可以完全懂了。
小節:
雖然用了VirtualBox這麼多年,但是卻是頭一次這麼認真的看待這個嚴肅的題目:如何讓guest OS能夠順利讀到USB介面呢?雖然VirtualBox推出新版本的速度非常快,但是至今仍然沒有任何一個版本是可以不用任何設定就可以讓guest直接讀取USB設備的(MacOSX版除外);如果用的是OSE版本,那可是連USB的支援都沒有!!
由於我只有實體的Debian Lenny、Ubuntu 9.04跟OpenSuSE 11.1,因此這裡只紀錄Debian跟OpenSuSE的解決方法。
Debian下非常簡單,首先必須確定你的帳號有在vboxusers裡面。如果沒有的話,請加入到vboxusers裡面,重新登入就可以了。
萬一重新登入還是沒辦法啟用usb,也別著急,只要控制debian下統一控制mount的script就好。首先我們要先找出USB裝置的gid:
cat /etc/group | grep plug會得到
接下來請修改/etc/init.d/mountkernfs.sh,找到domount關鍵字,在其下新增一行如下:
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=46,devmod=664請重新開機,不用修改fstab跟usbfs就可以正常使用usb on guest OS。
OpenSuSE則稍微麻煩一點。SuSE系列的linux沒有usb或是plugdev這類的群組,而是全數交由udev統一控管;想要啟用USB on Virtualbox,該怎麼辦呢?
我們檢視一下/etc/udev/rules.d/10-vboxdrv.rules的內容,可以發現要使用virtualbox的usb,得從vboxusers這個群組下手,而非UserManual上所說的usb群組。
cat /etc/group | grep vbox會得到
請接著修改/etc/fstab,新增一行:
none /proc/bus/usb usbfs devgid=1001,devmode=664 0 0許多討論串都只說到這裡,但是筆者無論如何嘗試,但是guest OS就是無法存取usb裝置。很幸運的參考了這個討論串,似乎同時是VirtualBox的開發人員consused建議我們可以在加一個NAME參數到/etc/udev/rules.d/10-vboxdrv.rules:
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"變成
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664" SUBSYSTEM=="usb", NAME="vbusb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"
請重新開機!這樣你的Guest OS應該就可以讀得到你的USB裝置了!
捕捉異常-- try catch以及throw
如果您熟悉java,一定會對於java嚴謹的try catch控制感到佩服(或是厭煩)。事實上,對於異常的捕捉是非常重要的控制,幸好javascript也沿襲這個優點。
在講到物件之前,我們先從陣列這個重要功能開始講起。
彈出式對話方塊
流程控制與迴圈
上一篇筆記裡忘記提到:JavaScript是區分大小寫,所以跟Java的使用相同!
如果你有任何一種語言的撰寫經驗,這一篇只要輕鬆看過就好!
邏輯運算子 | 簡單描述 | 範例 |
---|---|---|
&& | and | (x < 10 && y > 20)為真 |
|| | or | (x==5 || y==5) 為假 |
! | not | !(x==y) 為真 |
What is Javascript?
根據Wikipedia對於JavaScript的定義:"JavaScript是一種廣泛用於客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應使用者的各種操作。它最初由網景公司的Brendan Eich設計,是一種動態、弱型式、基於原型的語言,內建支援類。以它為基礎,制定了ECMAScript標準。"
您也應該知道,其實Javascript與Java是沒有任何關係的。Javascript最早是Netscape的Brendan Eich所開發的;後來的歷史我並不清楚,最後則又被SUN給買去。"JavaScript最初的確是受Java啟發而開始設計的,而且設計的目的之一就是「看上去像Java」[2],因此語法上有很多類似之處,許多名稱和命名規範也借自Java。"
就我自己認為,Javascript包涵了物件化與非物件化的撰寫風格,想要踏入真正純物件化程式語言的世界(例如java),可以先從javascript感覺那一點點味道。
另外,JavaScript與JScript是不同的喔!JScript是微軟為了對抗JavaScript所開發的,副檔名也取為.js。
初試啼聲
結果會是:
結果會是:
可以進行字串相接,也可以作浮點數運算。注意他雖然是script language,但定義變數名稱,變數以及指派運算子"="的中間都可以有空格。
方法內直接填寫變數名稱會印出變數,如果用" "包住則變成字串,請注意。
當我們談到Chrome for Linux時,就不免會看到Chromium這個字。實際上,這兩者是不同的東西:Google Chrome乃是根據Chromium這個開放原始碼的計畫去實做的。Chromium這個計畫並非以GPL授權,反之是以更自由的BSD的許可方式授權。詳細介紹可以參閱WikiPedia;版本上,Chromium每隔幾小時就會有一個更新,當測試後確定為穩定版本後,就會被Google納入Google Chrome裡,因此可以說Chrome是Chromium的穩定版本。然而,Google並沒有發布Chrome for Linux的穩定版,因此我們在linux所使用的都是Chromium for Linux,或是Google所打包的Google Chrome for Linux不穩定版(還是Chromium,只是灌上了Google的名字罷了),請特別注意。
Google Chrome | Chromium |
我們可以從Chromium開發者文件找到適合各種平台跟版本的Chromium來安裝。
Mac user | Google Chrome.dmg |
Debian-lile Linux(i386) | google-chrome-unstable_current_i386.deb |
Debian-lile Linux(amd64) | google-chrome-unstable_current_amd64.deb |
如果您是Debian的使用者,甚至可以加入google repository到/etc/apt/soutces.list裡:
deb http://dl.google.com/linux/deb/ stable non-free
如果您並非Debian-like的linux,可以到build.chromium.org下載每幾小時更新的「免安裝」版本:相較於以上是由Google官方所打包,這個版本就是最純的Chromium For Linux的版本了。
小結:
1. Chromium For Linux一開始就會偵測系統其他的瀏覽器,並且詢問是否要自動匯入到Chromium裡,很方便也很貼心。
2. 我所安裝的Chromium for Linux(from build.chromium.org)還是無法顯示含flash以及java的網頁,除非啟動時加入--enable-plugins。可以參考Google Chrome Linux 已經堪用了一文,裡面有網友熱心提供的一些建議參數可以使用。
3. Chromium for Linux還沒有實做出privacy feature,因此不建議一般人使用。
4. 尚未支援列印功能。
延伸閱讀:最友善IE版本!
the picture is cited from DeadDog.
很多人不敢在個人網站上光明正大的擺上自己的email,甚至是作一個連結放在html原始裡都不敢,原因是因為網路上蒐集email的機器人程式實在是太多了!一個比較好的解決方式是:把自己的email作成圖示吧!
於是我搜尋"email +icon +generator",真的出現一個網站可以自訂我們的email圖示,而且不只gmail呢!各位可以利用services.nexodyne.com來產生自己的email圖示喔!
不過!由於網頁是php寫的,我實在不敢保證這過程中我們的emial information會不會被偷偷存下來...如果有疑慮的看官還是別輕易嘗試吧!
第一次接觸到gsas這套自由軟體,是在成大地科系跟龔老師的高壓礦物研究室學來的。很幸運能夠幫忙開發轉換gsas格式的小程式,僅以此篇作筆記。
一、What's GSAS?
GSAS (General Structure Analysis System)是一套可以藉由中子繞射(neutron diffraction)以及X-ray資料來分析結構模型的一套系統。她可以分析單晶繞射、粉末繞射 (Rietveld analysis),或者兩者同時分析。
愧於筆者並非本領域出身,請詳見該網站的介紹。
作者是Allen C. Larson and Robert B. Von Dreele,Los Alamos National Laboratory。gsas並非開放原始碼軟體,作者也在首頁上說明別寫信跟他要原始碼。
二、下載及安裝
GSAS是一個文字介面(console mode)的程式,想要使用圖形介面還需安裝 EXPGUI;作者建議我們可以安裝bundle的版本:GSAS+EXPGUI。對於Linux的使用者,可以直接下載:
wget -c ftp://ftp.ncnr.nist.gov/pub/cryst/gsas/LINUX_gsas+expgui.tar.gz假設把gsas放在/opt裡:
tar zxvf LINUX_gsas+expgui.tar.gz -C /opt此時你需要以root權限設定一些變數:
echo " alias gsasgui=\"/opt/gsas/tcltk84+ /opt/gsas/expgui/expgui\"" >> /etc/skel/.bashrc有些linux版本(如RedHat系)可能是/etc/skel/.bash_profile,請自己留意。 最後,你需要在.profile裡對PATH作最後的修正:
echo "export GSASHOME=\"/opt/gsas\"" >> /etc/skel/.profile
echo "export GSAS=\"/opt/gsas/exe\"" >> /etc/skel/.profile
export PATH="$HOME/bin:$PATH:$GSAS:$GSASHOME"正規的Linux設定裡,.bashrc裡規範alias、終端機格式等;在.profile裡規範環境變數、區域變數,因此強烈建議依照筆者的設定方式去設定。 設定完成後,請使用者將/etc/skel裡的設定檔覆蓋到家目錄下即可:
cp /etc/skel/.bashrc ~/設定在/etc/skel的好處在後續的維護上,往後新增使用者完全不必在設定一次。
cp /etc/skel/.profile ~/
你也可以參考for unix的教學。網站上的教學把alias設定在.profile裡,是違背當初設計的精神的;因此這樣設定雖然不會有誤,但還是強烈建議各位設定在.bashrc,而非.profile。
三、進階設定
使用者可以客製化自己的EXPGUI設定,請參考這裡。
請養成閱讀manual的好習慣,這裡有最新的手冊可以下載。
四、轉換小程式--JRaw2Gsas
我有為成大地科系高壓礦物實驗室寫了一個開放原始碼的小程式--JRaw2Gsas(The Java Raw to Gsas Transforming Program),各位可以到我的協作平台下載使用。不過功能只能轉換成大地科系的兩台X-ray機器,其他的可不保證喔!
這是我寫的第一個圖形程式,也是第一個考過SCJP後寫的小程式,我很高興!雖然功能很簡單,但是我還是把原始碼跟各位分享;只是諸位如果利用我的code修改後,還是要再使用GPL發佈出來唷!
在windows上非常著名的純文字編輯程式--UltraEdit,可以支援多種格式編碼,也能為各種不同語法彩色註解,甚至搭配一些簡單指令功能還可以直接進行編譯動作。最方便的地方莫過於可以轉換成16進位模式以及選取「欄位」(一般編輯器只能選擇「行」)。不過她畢竟是商業軟體,雖然最近正在努力猛推即將推出的新產品--UEX(UltraEdit for Linux),介面據說會跟windows的版本完全一樣;但她畢竟還是不開放的軟體。
本文要介紹的是一個在Linux下開放原始碼的ultraedit替代方案--MadEdit
由於開放原始碼的關係,各種平台都可以使用,並支援各種Encoding(UTF-8/16/32,Big5,GBK...);以下提供的版本為0.2.9.1,如果需要更新的版本,請參考這邊。
Linux i386 | rpm, deb |
Linux amd64 | rpm, deb |
FreeBSD | i386, amd64 |
Source code | code |
M$ windows | win32-bin |
Fig 1.用MadEdit開啟純文字檔案。清楚的標示tab,空白鍵以及斷行符號,也會根據語法有彩色顯示。 |
Fig 2.可以方便的讓使用者選取欄位。 |
Fig 3.強力的搜尋功能。 |
Fig 4.強力的取代功能。 |
對我而言她已經非常足夠我學術上的使用了,推薦給各位;如果你們覺得有滿意或是不滿意的地方,請各位到這邊回報,讓開放原始碼軟體能夠更進步,謝謝您!
經過了半年多的努力,我從一個完全不會寫程式、完全不懂java的人提升到拿到了SCJP的證照,也許對很多人來說這是很基本甚至是很容易的事情;但對我這快三十歲又要兼顧其他工作的人來說,我真的讀得很辛苦。
並不怕丟臉,我考了三次才過;我沒有像其他人那麼輕而易舉的過關,我一而再、在而三的反覆練習,熟讀定義跟實做,對我而言是一種辛苦付出的證明,而不是表示我有多厲害的一張證書。
最後,我還要感謝老婆在我這兩個月忍受我的壞脾氣跟不理不睬,為了讀書我犧牲了很多時間跟老婆相處,感謝你的善解跟體諒!沒有你的支持,我也沒辦法幸運的考過!
更要感謝媽媽給我調氣的補品,讓我免去頭痛的困擾,可以專心的唸書!
結論:
對於像我這樣的人而言,考過SCJP只是表示我看得懂se的程式碼罷了,不能表示我真的有能力靈活運用所有se的技巧。我會趕緊努力把基本功練起來,否則空有一張SCJP而沒有真材實料,恐怕也只是被人戲稱「paper engineer」罷了!
持續努力中!