星期六, 5月 19, 2007

常用高亮語法解析器

syntaxhighlighter
這是我前找到最好的高量語法顯示,使用的是JAVA Script + CSS所配置出來的效果。具有模組化、有列印快捷鈕、複製鈕等...

但是在Blogger上會出現些問題,主因為Blogger會自動產生br標籤,導致無法斷行與一些問題出現。解決方法目前可將Blogger自動斷行效果關掉,但可能會帶來其他的不方便。



















相關教學連結
dp.SyntaxHighlighter: 在網頁顯示美觀的程式碼
SyntaxHighlighter - 語法高亮標記
真方便的CodeHighlight Plug-in
寫網誌的好幫手:線上語法突顯工具
dp.SyntaxHighlighter
syntaxhighlighter (解決Blogger上br標籤問題)



google-code-prettify
其高亮效果與附加功能沒有syntaxhighlighter的強大,但在Blogger上較能正常使用。



















相關教學連結
google code prettify
寫網誌的好幫手:線上語法突顯工具

星期一, 5月 14, 2007

Embedded Linux上建置Webserver注意事項

Http://data.goahead.com/Sofware/Webserver/2.1.6/ 下載web216.tar.gz。利用tar命令解壓縮。

$ tar xvzf

修改.bash_profile檔後,產生command not found問題

於上次修改~/.bash_profile的檔案後,產生打任何指令都造成command not found問題。後來發現,是因為~/.bash_profile中Path打錯。但是利用Putty或是本機都無法使用指令去修改該檔案,因為路徑錯誤,已經無法讀取指令檔。

這時候筆者是透過WinSCP去進行修改的動作,將路徑設定正確後,就可以正確執行了。

正確設定

PATH=$PATH:$HOME/bin:/usr/local/hybus-arm-linux-R1.1/bin:.


之前錯誤的設定

PATH=$PATH:$HOME/bin:.
PATH=/usr/local/hybus-arm-linux-R1.1/bin


如果要增加Path,要增加在原有Path冒號":"後面

另外一些值得注意的事,引用至網中人所寫的這篇文章

假設您在自己家目錄的 bin 裡面裝了一個程式﹐如果您要執行這個程式﹐那麼就要輸入絕對的路徑( PATH )才行。但如果您將‘$HOME/bin’這個路徑加在 PATH 裡面﹐然後您就可以只輸入該程式的檔案名稱就可以了。

有時候﹐當您自己寫好一個 script﹐然後興衝衝就忙著試一試﹐結果卻告訴您 command not found 什麼的﹐這可能是由於您忘了加上路徑﹐也就是忘了在檔案名字前面加上‘./’﹐這是告訴系統﹕檔案在當前的目錄之內。如果您覺得這樣太不方便了﹐可以在 ./bash_profile 裡面的 PATH 加上“:.”就可以了。在 PATH 中的路徑﹐都是用“:”來分隔的﹐所以﹐您的PATH看上去就應該有點像這樣﹕


PATH=$PATH:$HOME/bin:.


不過﹗現在的Linux 都不建議您將當前目錄路徑(即“.”) 放進PATH中﹐為什麼﹖多謝 Neil Lee 兄的幫我們解釋﹕“如果某心存不良的 user 在自己的目錄下放了一個破壞系統的檔案(or病毒),又碰巧你用 root 去執行他,那不就完蛋了?舉個例子說,有個傢伙在他的目錄下寫了一隻叫做 ls 的病毒,如果你的 root 的 path設定了 ./ ,剛好你又 cd 到那個目錄下,一執行 ls 就中了那個傢伙的圈套了。”所以﹐不要貪圖這個方便﹐檢查您的 PATH 設定﹐將 " . " 拿掉吧﹗

Tips﹕修改了環境設定檔後﹐通常會在您下次登錄的時候才生效。如果您想讓設定馬上生效﹐可以執行 soure 命令﹐例如 source ~/.bashrc﹐就可以了

星期五, 5月 11, 2007

安裝cross compiler (toolchain)

為了讓一般的 C 或 C++ 的程式可以在不同的機器平台上執行,所以需要 cross compiler 將 C 或 C++ 的程式編譯成不同格式的執行檔。
首先可至這下載 http://www.handhelds.org/downloads.html

接著輸入

[root@localhost Toolchain]# cp hybus-arm-linux-R1.1.tar.gz /usr/local/
[root@localhost Toolchain]# cd /usr/local/
[root@localhost local]# tar zxvf hybus-arm-linux-R1.1.tar.gz
[root@localhost local]# vi ~/.bash_profile


將hybus-arm-linux-R1.1.tar.gz 移動至/usr/local解壓縮。


# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:=/usr/local/hybus-arm-linux-R1.1/bin:.

export PATH
unset USERNAME

用vi開啟~/.bash_profile,並加入PATH=/usr/local/hybus-arm-linux-R1.1/bin此路徑。陷在則可以在任何目錄下開啟/usr/local/hybus-arm-linux-R1.1/bin。


[root@localhost local]# source ~/.bash_profile

建立jffs2 root file system

轉載自http://blog.bs2.to/bluestorm

JFFS2 全名是Journalling Flash File System Version 2, 其功能就是在管理MTD裝置上所實作的日誌型檔案系統.
相較於其他Flash儲存方案, JFFS2並沒有提供讓傳統檔案系統也可以使用Flash的轉譯層(translation layer).它只會直接在MTD裝置上實做日誌結構的檔案系統. JFFS2會在mount的時候, 掃瞄MTD裝置的日誌內容, 並在RAM中重新建立檔案系統結構本身.

JFFS2的特性,
1, 其斷電可靠度,.
2, 在MTD裝置上實做耗損平衡(wear leveling). 可以確保flash 上所有的區塊具有一致的使用率, 因此可以平衡每個區塊的損耗程度.
3, 在MTD裝置上實做資料壓縮(data compression). 除了節省空間外, 在使用資料前先將它解壓到RAM上.不過, jffs2不能使用XIP(就地執行eXecute In Place).
4, 有實做垃圾收集(garbage collection). 它可以確保你的應用程式不會成長到到埴滿整個檔案系統.也就是寫入前會先檢查檔案系統的可用空間

如何建立jffs2 root file system.

我們在flash 中規劃了一塊32MB的區塊, 想要建構一個大約有2MB資料, 其他30MB可以自由讀寫的檔案系統.
請注意, 雖然我們在driver裡規劃32MB的flash 區塊, 但是我們如果做了一個2MB的jffs2 root file system image, 燒入flash後,能使用的空間仍然是2MB, 而非32MB, 另外的30MB就浪費掉了.

1,假設我們巳經有一個rootfs的資料夾裡, 巳經放好檔案系統了.
2, 把想要增減的檔案或資料夾, 就從rootfs裡加入或移除.
3,用mkfs.jffs2來製作jffs2的image.(一般全部安裝的linux distribution都會有這個命令)

mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x40000 --pad=0x02000000

(1) -r : 指定我們要做image的來源資料夾.
(2) -o : 指定我們要輸出的image檔案的檔名.
(3) -e : 每一塊要抹除的block size. 預設是64KB. 因為較舊的flash, 其block size會不一樣. 要注意.
(4) --pad : 用16進位來表示所要輸出檔案的大小. 也就是root.jffs2的size. 很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小.以我們的例子來說, 就是32MB.

4, 不同於一般磁碟檔案系統, 無法使用mount -o loop .....命令在loopback裝置上mount jffs2. 必須從真正的MTD裝置來mount jffs2.不然就要使用jffs2reader來檢視image檔的內容.(註, jffs2reader我沒有成功使用過).
5, 若是使用NFS的話, 可以透過網路遠端mount這個image檔案.

google code prettify

http://code.google.com/p/google-code-prettify/downloads/list


<link href="prettify.css" type="text/css" rel="stylesheet">

<script src="prettify.js" type="text/javascript"></script>

星期四, 5月 10, 2007


xdvcfsdfcsdfsdfsdfsdfSdfsdfsdf




xdvcfsdfcsdf
sdfsdfsdf
Sdfsdfsdf


DFDFSDFSD

FASFASDF

ASFSADFSAF

ASDFSDFDASFASF



DSA

FSDAFSD

test


efrsfs
df
sdf
sd
fsdfsdf

test



星期三, 5月 09, 2007

於JSP環境下MS SQL 2005連接程式碼


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String connectionUrl = "jdbc:sqlserver://127.0.0.1:1234;database=DataBaseName;

user=ID;password=PWD";Connection con = DriverManager.getConnection(connectionUrl);

啟用SQL Server驗證登入

在SQL Server Management Studio中,創建SQL Server驗證使用者,並選擇資料庫。在這邊建議勿使用懶人密碼,否則其安全性將會大大降低。

而在伺服器屬性中,要啟動混合驗證模式,在這選取SQL Server 及 Windows 驗證模式選項。

Posted by Picasa

MS SQL 2005 TCP/IP無法連線錯誤解決方法〈下〉

接下來切過去[IP位址]部份,將localhost的IP啟用。

並記下動態通訊埠,將只埠位址寫進連結中。

Posted by Picasa

MS SQL 2005 TCP/IP無法連線錯誤解決方法〈上〉

首先至 >組態工具/SQL Server組態管理員,選擇SQL 網路組態/SQL 通訊協定。

其中有一項為TCP/IP,預設為停用。

進入將它啟動,完成初步TCP/IP啟動。

Posted by Picasa

程式碼上色功能

於Blog中使用程式碼區塊功能

於Blog的樣板中,在CSS中插入以下CSS碼
CODE {
display: block;
/* fixes a strange ie margin bug */ font-family: Courier New;
font-size: 8pt;
overflow:auto;
background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y;
border: 1px solid #ccc; padding: 10px 10px 10px 21px; max-height:200px;
line-height: 1.2em;
}


在文章中將程式碼置於<code></cdoe>區塊中即可,如:
<code>
.comment-body-author {
margin:0;
padding:0 0 0 20px;
background-color:#C0C0C0;
}</code>

星期二, 5月 08, 2007

安裝mkfs.jffs2

http://www.microtime.com.tw/document/Linux%20for%20Creator-EPXA1%20User%20Guide.pdf#search=%22mkfs.jffs2%22

(1)安裝
cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs login(password: anoncvs)
cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs co mtd

cvs在目錄下建立mtd的目錄
mtd/util 之中有mkfs.jffs2.c
這檔案為了產生mkfs.jffs2,我們必須編譯......

How to compile?

cd ~/sh-linux/utils/jffs2_utils/
make cleanmake
cp mkfs.jffs /sbin

如果compile過不了,這裡有現成的bin可以下載
http://sources.redhat.com/jffs2/
最後複製到/sbin目錄下
cp /mtd/mkfs.jffs2 /sbin

(2)建立mkfs.jffs2檔案系統

mkfs.jffs2 -r DIR -o jffs2.image

(jffs2.imag是我們要輸出的檔案名稱)
(參數 -r 跟 -d 都是root dir的意思)

# ./mkfs.jffs2 -d /usr/src/linux/fs/jffs2 -o jffs2test.img

爾後我們可以將此image掛載上去

# cp jffs2test.img /dev/mtd0

(3)mount
mount -t jffs2 /dev/mtdblock0 /mnt/xxx
xxx為自行建立的新資料夾
目錄有掛載就要卸載,umount可以卸載
我們可以在裡面讀寫檔案測試
卸載後應該就看不見了

星期五, 5月 04, 2007

Busybox錯誤訊息[applets]

$ make 會遇到

applets/applets.c:20:2: error: #warning Static linking against glibc produces buggy executables
applets/applets.c:21:2: error: #warning (glibc does not cope well with ld --gc-sections).
applets/applets.c:22:2: error: #warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
applets/applets.c:23:2: error: #warning Note that glibc is unsuitable for static linking anyway.
applets/applets.c:24:2: error: #warning If you still want to do it, remove -Wl,--gc-sections
applets/applets.c:25:2: error: #warning from top-level Makefile and remove this warning.
make[1]: *** [applets/applets.o] Error 1
這個警告的定義在applets/applets.c中,將這段警告註釋掉就可以了。這段的意思就是告訴你最好用uclibc編譯,而不用glibc因為glibc比較大,busybox在寸土寸金的內嵌系統中運用比較多,所以會有這樣的要求。編輯 ~/applets/applets.c , 將警告註解掉即可 (第 20-25 行)
...
/*
#if ENABLE_STATIC && defined(__GLIBC__) && !defined(__UCLIBC__)
#warning Static linking against glibc produces buggy executables
#warning (glibc does not cope well with ld --gc-sections).
#warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
#warning Note that glibc is unsuitable for static linking anyway.
#warning If you still want to do it, remove -Wl,--gc-sections
#warning from top-level Makefile and remove this warning.
#endif
*/
...

星期六, 4月 28, 2007

如何使用JAVA來ALL PASS所有科目,把每樣東西都加密


剛要去下載J2SDK,就發現了這可愛的首頁。希望老師沒察覺出加密過後的內容^^
Posted by Picasa