結婚之後,仍然有一大堆的事情要忙,所以一直沒去整理婚禮攝影幫我們拍的照片。
有興趣的話可以移駕到相簿去。
隨手寫些想到的東西
結婚之後,仍然有一大堆的事情要忙,所以一直沒去整理婚禮攝影幫我們拍的照片。
有興趣的話可以移駕到相簿去。
最近發現 MySQL 的 libdata 檔案大小已經超過了 1GB,可能是因為每天量測公司網站效能的 raw data 數量非常龐大的緣故
下面是我的筆記步驟:
1.匯出 MySQL 所有的資料
[root@broso]#$MYSQL_HOME/bin/mysqldump ––extended-insert ––all-databases ––add-drop-database ––disable-keys ––flush-privileges ––quick ––routines ––triggers > all-databases.sql
2.將 MySQL Server 完整停下來
[root@broso ~]#/etc/rc.d/init.d/mysql.server stop
3.將 table space 做更名或備份
[root@broso]#cd /var/lib
[root@broso]#mv mysql mysql.20090720
4.重新建立 mysql table space,執行 mysql_install_db script
[root@broso]#mkdir mysql; chmod 700 mysql; chown mysql
[root@broso]#cd $MYSQL_HOME
[root@broso]#$MYSQL_HOME/scripts/scripts/mysql_install_db
5.重新啟動 MySQL Server
[root@broso]#/etc/rc.d/init.d/mysql.server start
6.設定 root 密碼
[root@broso]#$MYSQL_HOME/bin/mysqladmin -u root password 'newpassword'
7.用 mysql 工具程式將剛剛匯出的資料重新匯入
[root@broso]$MYSQL_HOME/bin/mysql -u root –p
mysql> SET FOREIGN_KEY_CHECKS=0;
mysql> SOURCE all-databases.sql;
mysql> SET FOREIGN_KEY_CHECKS=1;
8. 完成
最近在工作上用 JSF 寫程式時,發現如果用 <h:outputLink /> 這個 tag 來輸出 <a href=”xxxx” /> 之類的連結
例如下圖,我用 <h:outputLink value=”#{bundle[‘link.hinet’]}” /> 產生一個 Hinet 的連結(link.hinet 定義於 ResourceBundle 中)。首次執行時,可以看出在 Hinet 連結後面 JSF 自動幫忙加上了 jsessionid 的參數。
如果目的地不是一個 J2EE Web 應用程式,直接點下去,很容易會出現 404 Not Found 的錯誤訊息。
初步猜想應該是首次瀏覽時,JSF 針對 jsessionid 做了 URL Rewriting。因為首次瀏覽時,JSF 還不知道瀏覽器是否有將 Cookie enable,所以除了嘗試要將 jsessionid 設定到 Cookie 之外,另外在 URL 上面也針對 session id 做了一次重寫,以便保證 session 可以傳遞到下一個動作。
實際驗證的結果,在首次瀏覽之後,再將 URL 中的 jsessionid 參數移除,在功能上也是完全不受影響,因此我可以確認應該是這個問題。找了很久,從書上跟 Google 找來找去,似乎也沒看到 JSF 上有可以將這個自動重寫機制關掉的參數。所以看起來只能從 J2EE Web Context 來想辦法了。
從 Google 上找到了一篇文章 禁用JavaWeb應用中URL上包含的jsessionid ,裡面提到的方式就是先繼承 HttpServletResponse,實作一個自己的 HttpServletResponseWrapper,並且將所有相關的 encodeUrl 函式全部改寫,直接回傳 URL,不再加以處理。再搭配 Filter 來處理每一個 Request / Response。
1 |
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
if (!(request instanceof HttpServletRequest)) {
chain.doFilter(request, response);
return;
}
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
if (httpRequest.isRequestedSessionIdFromURL()) {
HttpSession session = httpRequest.getSession();
if (session != null) session.invalidate();
}
HttpServletResponseWrapper wrappedResponse
= new HttpServletResponseWrapper(httpResponse)
{
public String encodeRedirectUrl(String url) { return url; }
public String encodeRedirectURL(String url) { return url; }
public String encodeUrl(String url) { return url; }
public String encodeURL(String url) { return url; }
};
chain.doFilter(request, wrappedResponse);
}
|
所以後續 JSF 呼叫 encodeUrl 來進行 rewriting 時,自然 jsessionid 也不會被加上去了。
實際部署後,果然首次瀏覽時,URL 就不會再出現 jsessionid 了。不過如此的結果就是 Client 端必須啟動 Cookie 了。

由基努李維所主演的駭客任務受到廣大電腦迷的喜愛
看完之後覺得挺搞笑的,拿了一些 Windows 上面常常被人詬病的小問題,例如:系統越跑越慢、應用程式停止回應就用 CTRL + ALT + DEL來處理。更絕的是還找了一些外型類似的演員來演,猛一看還真的以為是原班人馬演出這麼 Kuso 的劇情。
最後還扯到 Ubuntu,看起來 Ubuntu 是有贊助這部影片的拍攝…
接續昨天的文章 WDTV + WD 1TB Storage + LevelOne USB-0201 = 高清高速網路媒體播放器
剛測試了一下邊用 FTP 上傳檔案,一邊用遙控器控制 WDTV
於是我 telnet 進去 WDTV 察看了一下 CPU 在忙些什麼…
這才發現原來 CPU 都被 pureftpd 伺服器佔滿了,所以遙控器分不到 CPU 的資源
於是當然就會一頓一頓的
下面是執行 top 指令的結果,可以看得出來 CPU idle time 是 0%,也就是完全沒休息,很認真的在做事
而 pureftpd 伺服器則佔據了 CPU 68% 的時間,其餘的 process 大概都只分不到 3% 的 CPU 時間…
另外,從 free 指令也可以看出, WDTV 配備的記憶體少的可憐,只有 108036KB
再貼一張 WDTV 核心 CPU 的資訊,核心頻率是 297MHz,大約只是 Pentium 2 的等級而已,所以也別要求太多了..
不過按下遙控器的關機,其實 WDTV 並沒有真正關機。直接 Ping WDTV 的 IP 可以發現,它還活得好好的…
這也就可以解釋,為什麼按下關機後,WDTV 還是會持續發熱的原因了…
所以按下關機後還是可以繼續用 FTP 軟體將檔案上傳上去…
好了,講了這麼久…
結論就是,由於 CPU Power 不夠的緣故,不要邊上傳檔案,邊用 WDTV 看影片,那只會讓你 Lag 到抓狂而已
先前為了能夠播放高清格式的影片,又不希望擺一台很笨重的 PC 放在客廳,因此一直在研究高清格式的媒體播放機
最後決定下手 WD TV HD Media Player,主要著眼點在於,價格低廉、embedded linux core、韌體修正快速,另外 WD 官方有將部分韌體原始碼公開出來,所以網路上有些玩家就自行修改韌體,額外釋放了一些原本官方韌體沒開放出來的功能,像是支援部分的 USB 網路卡、支援外接 DVD-ROM、支援 DLNA 協定播放遠端媒體檔案等功能 (可參考 B-RAD WDLXTV )。
此外,依據 WDTV wiki supported_usb_devices 上的測試,LevelOne USB-0201 具備 Gigabit Ethernet 介面,並且網友回報測試速率可達 63Mbit/s,看起來傳輸效率非常良好,因此便在 PCHome 上購入此張 USB 網路卡。最後當然不能沒有大容量的硬碟,剛好上週燦坤正在進行會員招待會,提供了很多特價品,我就到內湖旗艦店去搶買回來一顆 WD MyBook Essential Edition 1TB 的外接硬碟機回來與 WDTV 搭配。
還是不能免俗的稍微做個開箱文。
外盒包裝精美的 WD MyBook Essential Edtion 1TB
先前在裝潢設計階段時,設計師已經預先在客廳規劃並預留了家庭劇院的線路,前面規劃左、右以及中置聲道
新家終於裝潢完畢了,但空空的電視牆感覺似乎少了點什麼。
初期鎖定的型號是 Sharp 46GX3T 與 Bravia 46W4000 這兩台,於是我就找時間去電器行作了比較,我自己大部分時間都是看第四台,少部分時間是下載網路上的電影來看。因此第四台的畫質表現是很重要的,其次就是液晶電視不可避免的殘影問題。
在規格上 Bravia 46W4000 有 Sony 原廠 Bravia Engine2 (BE2) 晶片的加持,可以針對第四台訊號的畫質做大幅度提升。而Sharp 46GX3T 的面板具有 120Hz 倍速優勢,畫面上人物作快速移動時,可以大幅消除液晶面板天生的殘影問題。但是經過實際肉眼上的比較,台灣的第四台訊號實在是爛得可以,Sharp 46GX3T 播放第四台時,可以很明顯的感受到畫面物體的鋸尺邊緣,但是 Bravia 46W4000 播放起來卻完全感受不到鋸尺邊緣,Bravia 的 BE2 晶片的確名不虛傳,雖然並沒有到令人驚驗的地步,不過跟 Sharp 比起來覺得已經很不錯了 (ps. 這是以第四台訊號來作比較!)。其次是殘影問題,實際比較的結果,老實說我的木眼,在快速物體移動的畫面中,兩台都看不太出來有什麼殘影。所以原本預計是等裝潢完畢後,就打算入手 Bravia 46W4000。
沒想到去年 10 月,Bravia X 系列新推出一款型號 46X4000,在規格上比 46W4000 多了 120Hz,內建 HD 數位電視接收器,具備 10/100 網路端子,符合 DLNA 協定,可以遠端播放家中媒體伺服器上的音樂/照片,更重要的是處理晶片提升為 BE2 EX,可以將第四台的爛訊號提升為 HD 畫質。哇,感覺原本 W4000 稍微欠缺的東西,在 46X4000 上一次都補回來了。於是過完農曆年後,就下訂 46X4000。
那為什麼說是 “偽” 開箱文哩?呵呵,因為師傅來裝機時,拆箱的動作很快,而且將電視壁掛到牆上時,由於師傅人手不足,我也必須幫忙協助將電視牆上預留的各式線路插上電視背板上的端子,時間上完全來不及拍開箱的照片。所以其實這篇開箱文,是裝機完畢後補拍的。
原裝紙箱
裝潢完畢的新家,如果能夠搭配適當的家具,那麼通常具有畫龍點睛的效果,可以替裝潢加分不少
不過買東西當然不能夠只挑一家來報價,不然就是只有被人家當凱子的份兒。於是我也請二姐陪我去她的設計師介紹的那個家具行 – 真境家居生活館 挑選,去了才發現,竟然設計師建議的沙發餐桌型式,真境家居生活館 竟然也都有販售。那真是太好了,如此一來我只要選一模一樣的家具型式,就具有比價的基礎了。最後真境提供的報價的確比允良便宜不少,於是我就選了真境家居生活館。(後來才知道,原來真境的老闆以前就是在允良工作,後來自己出來開店,所以可能自己當老闆可以提供的折扣比較多吧!)
在真境一共挑了客餐廳的沙發、餐桌、大小茶几、書房的書桌、主臥室的床架、蕾儷絲頂級的獨立筒床墊以及 Reyna 的化妝桌。等了兩三個禮拜,眼看著就快過農曆年了,終於家具全部都送來了。客餐廳全景如下:
