2009年11月30日 星期一

Servlet can not resolve multipart/form-data type

當我在osgi環境上,想利用servlet方式上傳檔案,會發現無法上傳且回覆錯誤訊息如下。

Log ErrorError handling connection
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(Unknown Source)
    at org.eclipse.equinox.http.servlet.HttpServletRequestImpl.parseRequestLine(HttpServletRequestImpl.java:1264)
    at org.eclipse.equinox.http.servlet.HttpServletRequestImpl.parseHeaders(HttpServletRequestImpl.java:1034)
    at org.eclipse.equinox.http.servlet.HttpServletRequestImpl.<init>(HttpServletRequestImpl.java:77)
    at org.eclipse.equinox.http.HttpListener.handleConnection(HttpListener.java:220)
    at org.eclipse.equinox.http.HttpThread.run(HttpThread.java:159)

發生這個錯誤的原因就是Servlet無法解析multipart型態的上傳,因此我們要針對這做個修改。拜google大神,Oreilly提供了不錯的Multipart處理程式碼。我們只要下載並與專案做連結,而使用語法如下:

public void doGet(HttpServletRequest request,  HttpServletResponse response)
    throws IOException{
                MultipartRequest mr = new MultipartRequest(request , "d:\\", 5*1024*1024);
}

d:\是指儲存的位址,5*1024*1024是檔案大小。如此一來,就可以正確處理上傳文件了。

參考資料:
[1] 解决jsp或serverlet 不能解析multipart/form-data 类型的表单域的问题
[2] com.oreilly.servlet

2009年11月29日 星期日

[360] 50 cent: Blood on the sand

TPS類型。

射擊遊戲+饒舌音樂,果然有搞頭。這遊戲已經變成我的發洩Game了。一天上班很累回來,就是要靠這種遊戲打打殺殺,釋放一肚子的憤怒。很高興有這遊戲陪伴我過這禮拜一到五的時光。

平心而論,重複性還蠻高的,不建議一次打很久,會很無聊。

50_cent_blood_on_the_sand_frontcover_large_naZf9RVzcSDIZEO

[360] Bayonetta

ACT類型。

很多人會拿DMC4跟這款遊戲做比較。我想,這不用比了吧!簡直是LP比雞腿。Bayonetta無論是系統、故事的豐富性,都遠遠超過DMC4以上。沒有DMC4那種破老梗劇情,cost down的地圖來回走兩次。這爽感,會讓人捨不得把它破關呀!

缺點說一下好了,就是有些地方會由動畫轉換回玩家操作,這個階段沒有提示玩家要開始操作,所有有時候會看著動畫就死掉了。

列入360必玩遊戲。

bayonetta-famitsu-perfect-score-xbox-360-box-artwork

[360] Call of Dty – Modern Warfare 2

FPS類型。

這款真得是大作。我就不特別為此介紹了。要提的是,遊戲有越來越電影化的趨勢。利用簡單類似QTE的按鍵,或是即時穿插的動畫,讓人有置身於電影中的感覺。其實類似的作法遊戲還有uncharted系列也是這樣。

玩這遊戲,就像在看電影就好了!

x360-cover-art-with-tag1

2009年11月26日 星期四

java in ubuntu

ubuntu裡面apt-get預設的不是sun出品的java。雖說open是好事,但也造成我有點不太方便。sun自己提供的linux安裝程式也沒有安裝功能,只是解壓縮到目錄。網路上一些文章說要裝這個、改那個才能讓整個環境建立起來,我看了就懶,我只想用java…。

經查詢後,發現了好用的方法。

sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk

就通通裝起來了呀,環境變數也設定好了。

參考資料:
[1] Ubuntu Linux Install Sun Java Development Kit ( JDK ) and Java Runtime Environment ( JRE )

Sip route

Sip協定中有route,record route和via這三種標籤。新手乍看之下覺得這三種長得很像,其實這些分別都有不同的目的和功能。

SIP路由机制解析(zz),這篇文章以很容易了解的中文,把這三種標籤扮演的角色以例子寫出來。說穿了RFC3261裡面也有舉這些例子可以參考,只是我覺得先看這篇blog比較容易上手。

jftpd porting

今天很無聊的把java版的ftp放到版子上。

這次採用的是jftpd這個小型的ftp,可以在這裡下載到原始碼。因為要用j9環境來執行,因此不可以使用java se環境來編譯,必須使用me環境,在之前的文章也有說過。

然而,由於版子上是read-only的檔案系統。所以要把用到log的程式碼全部砍掉,然後修改預設根目錄為"/”,就是最上層目錄。再編譯就可以了。

image

java這麼好移植,那最終目標是製作bt下載!

2009年11月25日 星期三

j9 hello world!

本來想把j9放到版子上後,來秀個hello world。結果事先沒有做好功課,try了半天就是出錯,執行都會出現

java.lang.UnsupportedClassVersionError

這個問題。原本猜想是本機版本太新,所以就降低版本到1.1,結果還是不行。後來覺得應該要有j9c去配j9,無奈j9找不到。漸漸到了下班時間,死馬當活馬醫,Eclipse在建立project時,在JRE方面選用CDC-1.1/Foundation-1.1進行程式的撰寫。編出來放進去,YA~果然可以了。有jvm就可以很方便做些搞怪的事了。

image

其實我也不知道是不是正確的,那些jre版本我都不太清楚,也許是塞到的。

參考資料:
[1] http://www.apogee.com/resources/options
[2] Getting started with j9
[3] javac - Java programming language compiler

2009年11月20日 星期五

fakeroot make error in ubuntu

在編譯fakeroot時,會遇到下面的錯誤。

/bin/sh ./libtool --tag=CC   --mode=link gcc  -g -O2   -o faked faked.o libcommunicate.la -ldl
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: compile_command+=: not found
eval: 1: finalize_command+=: not found
eval: 1: libtool_args+=: not found
eval: 1: libtool_args+=: not found
libtool: link: gcc  ./.libs/libcommunicate.a -ldl
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main'
collect2: ld returned 1 exit status

google網頁的結果,好像是ubuntu/Debian才有的bug。如果想要cross compile,單單下載官方編譯好的版本是無濟於事的。解決方法如下:

1. 備份/bin/sh檔案
mv /bin/sh /bin/sh.bak

2. 建立連結
ln –s /bin/bash /bin/sh

這樣應該就可以正確通過編譯。

編譯完之後別忘了把之前改過的sh還原回來。

參考資料:
[1] libtool_args+=: not found - 想飛的翅膀

2009年11月19日 星期四

[Dummy] How to Gaming Guide

有些人會問我,平常都在幹啥,基於誠實原則,我據實以告說,沒呀!就打打電動,看動畫。

說到打電動,有些人就會說,那你都在玩啥?這句會是我最討厭聽到的,如果對方是Hradcore類型的玩家就算了,遇到輕度玩家的人,我就不知道該怎麼回答,因為我說的他都沒聽過呀

偶爾在話題快結束時,就會發表一下,喔!我有Wii阿!玩了Sport就不知道該玩什麼了。這時我什麼也不想說,原因是說了也是白說。朧村正不錯耶!啥!那三小。COD可以玩玩看。FPS我不喜歡玩呀!擁有主機大概是他引以自豪的地方。

我覺得這些問題在,這些人不懂得開發自己的遊戲興趣,大概只能隨著媒體或是市場起舞。既然問了問題就要認真去了解,不要說什麼就採拒絕態度,要不就事前先做好功課。想玩遊戲,買本Fami通來看就可以了,就像看電影會上Movie版或是奇毛電影先survey呀!

在追求問題的解答之前,先了解問題本身。不懂自己就要閉嘴。

除了遊戲,電影和動畫也很常發生這種情形。

2009年11月18日 星期三

[Damn] 仕事中(2)

風、秀、小牛的花園-Ahdeng

偶然找CDRouter資料翻到的部落格。最吸引我的地方就是有一些關於科技業職場上的文章。有連貫性,數量不是很多,但是在這個環境中,就會被這樣的文章深深吸引,看得津津有味。這幾天沒事就翻了一下。

這種部落格多來幾個也沒關係呀!

2009年11月15日 星期日

我們的世界-蔡藍欽

這首歌最早的時候,是在莒光園地單元劇"蛻變"裡面聽到的。劇情就是一個伙房兵因種種因素想要逃兵之類。那時候是宣導自我傷害防制吧!我還被凹了一篇POA要的文章。

看到PTT再討論莒光園地,就想到了這首歌,覺得很好聽。可能是看影片時是最爽的時候才有感而發吧!夏天吹去餐廳吹冷氣看單元劇,夫復而求

關於蛻變單元劇可以看伙房兵的媽媽-來不及實現的願望 「蛻變」(您有多久沒和家人出去走走了?)

Youtube上正好有這首歌。

[360] Call of Duty 2

FPS類型。

Call of Duty系列算是四代是我的啟發,再回過頭玩其他代。而這片年代久遠,透過上網徵才買到的。上了 Live才發現只有...2個人,骨董片是理所當然的呀!

可能開發功力的關係,讓我覺得比3代畫面還好。整體還是弄得很熱鬧,可是跟4比起來,還是覺得有缺少什麼,而讓它變成就只是FPS射擊遊戲,也許這就是時代的進步吧!

COD:MW2又出了,也許一些新玩家又受到感動而重回玩前幾代吧!

xb360_g_cod_2_us

[360] Up

動作冒險類型。

相信很多人對這部電影是讚不絕口吧!遊戲也是把整部電影演一遍,很多著名的地方都會出現。進行方式可以兩個人一起玩,透過很簡單的解謎,不難的動作技巧,就很以順利過關了。而且不小心死掉了幾乎都可以當場重來,非常友善。一個人玩就是利用切換人物方式控制兩個人,電腦也會幫助你控制另一個人。

我可以說這種類型算是治癒型的遊戲嗎!?在外鳥事一堆,透過這種類型,可以放鬆,也不會感到挫折感。裡面比較難的是控制狗狗駕駛飛機,上下控制反轉讓我很不習慣呀!

這種輕鬆玩的遊戲還真是少呀!

9367364x

[360] High School Musical 3 Dance

音樂類型遊戲。

這款操作非常簡單,就按上下左右就好了。只是畫面分配的關係,有時螢幕太大反而會無法集中。全部共29首,收錄1,2,3部裡面出現的歌曲。背景則是以3D重現電影出現的場景以及人物動作,非常用心。

我本身就很愛這種歌劇型的電影,也覺得電影非常好看。而遊戲來說,就是屬於fan取向的,很有愛的話玩起來就很有感覺。此外,成就也是賺飽飽。爾後的Extra還有收錄一些花絮,還挺不錯的。

近期女主角負面消息又不斷。第三集也把故事做了一個收尾。我想,應該電影不會再出第四集了吧,除非缺錢要來騙錢~。

cover

2009年11月10日 星期二

libstdc++.so.5 error in X-lite

Ubuntu環境中,在執行X-lite的時候,有可能會遇到下面狀況:

./xtensoftphone: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

大概就是說libstdc++.so.5找不到。網路上解決的方法很多,我的方法是去網路上找libstdc++.so.5直接複製進/usr/lib中就可以解決了。

參考資料:
[1] Missing libstdc++.so.5 on Ubuntu 7.10
[2] libstdc++.so.5: cannot open shared object file

Asterisk server架設 in Ubuntu

Asterisk是用在作為sip語音伺服器的使用。通常可以搭配FXO卡,作為可以連接傳統電話的方式進行網路電話的撥打。如果沒有,那麼也可以搭配軟體在網路上撥打。相對應還有OpenSER,差別只是一個是B2BUA,後者是單純的sip proxy,差異可以看這裡

在這裡,我們的目的就是要架設一台asterisk server並可以可利用VoIP軟體進行撥打。

安裝方式如下

1. 安裝套件,有內建可以下載直接安裝
sudo apt-get install asterisk

2. zaptel, libpri安裝
這部分我覺得是要搭配卡才可以用到,所以可以選擇不裝。若有需要可以同樣apt-get取得

3.設定分機
這裡將設定兩個分機可以測試,分別是102和202。編輯sip.conf。
sudo vi /etc/asterisk/sip.conf

在最後的部分加上以下資訊。

[102]
username=102
type=friend
secret=102
qualify=yes
nat=yes
host=dynamic
dtmfmode=rfc2833
context=internal
canreinvite=no

[202]
username=202
type=friend
secret=202
qualify=yes
nat=yes
host=dynamic
dtmfmode=rfc2833
context=internal
canreinvite=no

4. 設定接通
即是之前context內容所對應的動作"internal"。

開啟文件
sudo /etc/asterisk/extensions.conf

在最後加入以下internal定義。

[internal]
exten => _X.,1,Dial(SIP/${EXTEN}|30)
exten => _X.,n,Hangup()

接著就可以用軟體去測試是否正常了。這裏使用ZoIPER和X-lite兩套作為交互使用。

ZoIPER設定202
image

X-lite設定畫面
image

最後,按下號碼撥號就通啦。

參考資料:
[1] 免費的SIP Server:Asterisk -唉呦~MIS先生
[2] 簡易sip proxy設定-吳老師的教學日誌
[3] Asterisk –archlinux
[4] [轉貼]Asterisk HOME IP PBX架設經驗分享談

2009年11月9日 星期一

Linux下的md5字串轉換

指令為下

echo –n “str” | md5sum
其中str為你想要轉換的字串

image

md5sum還可以對檔案進行運算,可以試試。

2009年11月8日 星期日

[360] Wet

TPS類型。

工作後終於有一款遊戲全破了。現在才整理好玩遊戲的心情。

這款遊戲跟之前發哥那款stranglehold很像,都有慢動作,也有中國城場景。另外還有加入風格迥異的模式,整個畫面變成許多單色色塊組成的,詳情可以找攻略看看。刺激的飛車追逐,套好招的QTE事件,就是為了破壞而破壞,發洩很爽快。

故事長度也拿捏得不錯。畫面上有點小遜色,跳躍常常手殘沒跳準摔死,幸好的是checkpoint都不是很遠。

在壓力過大的年代,這是一款發洩的好遊戲。

攻略在這裡

1110759wet360super

2009年11月7日 星期六

[Farm] 農場主人(2)

又看了很多文章,覺得嵌入式系統的產品似乎很容易效能不好,想說還是一台省電PC,不但可以不限制軟體,另外硬體上也綽綽有餘。

PCDVD上面有一篇文章大家的動物機耗電量都幾W阿??,就大家把自己的動物機消耗的瓦數拿出來給大家參考。目前看到EeeBox表現最好,大概都低於20瓦。

查了購物中心,大概最便宜等級在9000上下,好像價錢不錯,可以列入下次的wishlist。

[Y!] 即時通的垃圾訊息

image

最近即時通都一直出現上面那種援交訊息,肯定是詐騙。到時候若相信了去點,大概又會變成宅男工程師被援交詐騙XXX萬元這類的新聞吧!

2009年11月5日 星期四

[Farm] 農場主人

是這樣的,因為自己住在外面,對於電費之類的就比較斤斤計較,但是自己又很想開農場養驢子,BT等等,如果照有使用電腦才開農場的話,那只有最多每天三小時,而且是最理想的狀況。

養過的人都知道,三小時不能幹嘛呀,而且又要每天斷線重來就很傷了,因此我在想有什麼替代方法。目前有3G網路可以用,避免被同棟的幹角,因此頻寬不是問題(?),我有幾個方案。

1. 3G網卡+可以插3G網卡的IP分享器+BT下載器(需外接硬碟)
2. 3G網卡+可以插3G網卡的IP分享器內建BT下載模組(需外接硬碟)

這兩種方法,對於分享器大概2000~3000元就可以買到。但是現在最大的問題就是不穩定,很多測試文章都說到了,因為內部硬體不夠力,P2P產生的NAT記錄太多而當機。很多產品它的廣告也是寫好看的,兩萬連接數?買了會當機才是幹吧!網通產品實在太多地雷了。

如果不看3G網卡支援部分,ZyXEL的NSA似乎不錯(非廣告),是一台小型多媒體伺服器,除了BT,還有驢子可以養,不過要六千多就是了。

如果要兼顧連線效能,那...我只能說EeeBox才是CP最高的了。不管怎樣還是先觀望加上存錢!

2009年11月2日 星期一

[Damn] 仕事中

工作也快要一個月了,目前還是在training階段。

這幾天給我的感覺就是,工作怎麼這麼無聊。我有點力不從心,有時就在想要怎樣才能轉職,一直想要去類似中華電信那種爽公司上班。我變得好懶,只想高興的過人生。

開始在領別人的錢,壓力也會逐漸到來。而且現在很多書要念,總覺得時間不夠,又要顧及到玩樂,真得很難。如果每天給我多一點休閒時間,我就會覺得工作很開心了。

錢拿得還可以,工作時數短的應該都被搶光的吧!看在錢的份上,還是得認命下去。

2009年11月1日 星期日

[Buy] 海渡日本精品百貨

image
網址:http://hidow.shop.rakuten.tw/

***注意,本頁僅商品推薦,並無任何信用評比***

寫一些推薦出來,不然我瀏覽器頁籤要炸了。

推薦的原因是裡面的東西都是過水來的,對於每個卡通明星都有做分類。還有我愛的kikilala系列商品,看來我要開始存錢了。

ww

阿呆日記(13)

經過了這許多天的摸索,漸漸了解這裡的作息。由於我還很菜的原故,所以以很多事要做以及學習,整天就是不停的忙。從早上開眼就做到睡覺前,一點空閒的時間也沒有,或許這也和遇到專精這段期間的緣故。有很多事想做,可是都沒機會。短短的看學科專門的時間對我而言覺得不太夠,尤其最近又要考試,真令我頭大,看看還能不能榨出更多時間,讓自己做更多的事。

最近睡不太好,也許是太緊張的原因。

--

POA:畢竟這裡跟儀隊差異剖大,習慣了這塊地,這票人,就OK了。有問題請問我!

--

寫到這裡,我又想起儀隊一些人了,可惜我快記不住名字了。我真得很不擅長做那些事,但是大家都很無私的cover我,我現在還是感到很窩心。

下到防砲,大概軍旅版說的搞笑的事,這裡都會發生。其實我來之前,連上有大搬風過,連長是新來的,還在跟部隊上有磨合期,所以處處都讓下面的人,等到熟悉之後,嗯嗯...,那又是之後的事了。

總之,那時就是專精,除了每天必掃地,還要跳操...。