2010年12月27日 星期一

用 JavaScript 開新視窗的方式

僅列出我常用的方法而已


在開新視窗上,常用兩種方式:


1. window.open ( 開新視窗與原視窗平行處理或顯示額外資訊 )



window.open('[URL]', '[WindowName]', 'status=no,toolbar=no,scrollbars=yes,resizable=yes,width=600,Height=500');


2. window.showModalDialog ( 強迫新視窗處理完成後再回原視窗 )



lRets=window.showModalDialog('[URL]', '[WindowName]', 'dialogWidth:600px;dialogHeight:400px;center:yes;status:no;scrollbars:no');
if(typeof(lRets)=='string')
{
// code ...
}


若是原視窗要接續新視窗回 Call 的 Function,有一個通吃的方式



if (window.dialogArguments != null) {
window.dialogArguments.[FunctionName](varData);
} else if (top.window.opener != null) {
top.window.opener.[FunctionName](varData);
top.window.close();
}

2010年10月3日 星期日

iOS 4.2 beta 2 - 可以放心給小朋友玩了

我期待的功能又多一個了,


之前拿 iPhone 給妹妹玩的時候,眼睛都不敢離開,


怕一不小心搞不好就把一些 App 抖一抖就刪除了 ><


裡面的資料來不及備份就沒了 ( 特別是遊戲的記錄 ^^ )


原本除了可以關閉 in app purchase 外


( 可防止先前一直有新聞報說誰誰誰被小朋友買了多少$虛擬寶物的問題 )


所以就在想應該加一個防止刪除 app 的功能才是,果然有囉!


原本的可以限制安裝與應用程式內購買功能



iOS 4.2 多了避免刪除掉的功能



其它新增加的功能可參考 ApplePlan 上詳細的介紹


「iOS 4.2 beta」新增功能實測整理 from ApplePlan


2010年8月29日 星期日

隨身寬頻 AXIMCom MR-102N

隨著行動上網的需求與日俱增,將 3.5G 轉成 WIFI 的裝置也越來越多人使用了。


因為只要付一個行動上網的費用,


就可以讓多台電腦、智慧型手機、PSP、iPod/iPad 等支援 Wi-Fi 功能的3C產品上網。


不然每一個產品都綁個 Data 的費率還得了。


雖然目前已經有 SAPIDO RB-1132 可以達到類似的目的了。


不過 ... 它 ... 要插在插座上呀 ... ;有 USB 供電沒錯,不過沒帶 NB 怎麼辦?


有 XPAL XP4001 呀!但是根據實際測試,接行動電池使用ETHERNET上網,大概只能撐 2 個小時 1x 分鐘。


救急的電池沒了,其它的 3C 產品也都沒搞頭了。


後續共會有兩張吃到飽的網卡可以使用,正在考慮要不要買 Huawei E5830 的同時,


看到了令人興奮的產品 - AXIMCom MR-102N 。


與其帶 AP + 隨身寬頻,不如整個帶一台就好了 ^^


下訂之後一個星期就收到囉!



已經有印上支援 iPhone 囉 ( 官網也加上了,原本只有 Android & WM )



等不及了,趕緊打開 ^^


簡單好用的 Sapido RB-1132 分享器

在購入這款之前其實已經使用同一家的產品 GR-1100 很久了。


會使用分享器無非就是想讓網路資源可以共享,所以基本Router有提供的功能這邊就不贅述。


此類型的產品除了體積小攜帶方便外,還可以透過 3.5G 行動上網。


只要接上支援的網卡,就可以 Share 使用,此新款的 RB-1132 還即將支援 WiMAX 網卡喔。


現今的產品越來越多支援網路的功能,所以當然也需要彈性的設備以因應各種應用情境囉!


無論是3.5G、 WiMAX、xDSL/Cable/光纖 或是公共熱點,都能透過它連線分享。



2010年8月28日 星期六

行動電池 XPAL XP4001

由於 iPhone 無法換電池的特性,可能會讓一些使用者想要買外接電池以延長使用的時間。


然而實際生活中,其實還蠻多可以用到 USB 充電的。


所以我就買了 XPAL XP4001 ...


新鮮就是好喝 - HARIO 手搖磨豆機 MSCS -2 TB

雖然家裡已經有小飛馬了,但是有時候外出會先磨好放用單向透氣閥袋包裝。


如果間隔太久才煮反而影響到了咖啡的品質和風味(溫度、溼度與光線)。


另外總覺得在閒暇之餘一邊磨粉一邊感受咖啡散發出來的香氣是很愜意的!


Survey了很久,剛開始是想買郵筒 H-5型,


雖然有蓋子但是稍小,所以在倒入咖啡豆可能會有點不易。


磨豆的部份與下方桶身無法轉緊,攜帶可能不太好攜帶。


後來看到頗有名氣的 HARIO MSCS -2,評價還不錯,就衝囉!


2010年8月24日 星期二

TOMTOM Go 720 外掛 RDS-TMC 天線

由於TOMTOM Go 720可以透過外加RDS-TMC天線接收路況資訊,但是經銷商遲遲没有進口。等了粉久,終於有額外販售RDS-TMC天線了。



RDS-TMC是調頻副載波即時交通資訊廣播,台灣於97年起由交通部運輸研究所與警廣參考國際標準制訂符合國內需求之RDS-TMC資料格式,共同合作建置以發布路況資訊。提供內容包括23縣市、高快速公路、省道即時通報事件資訊、高快速公路壅塞(60公里/小時以下)速率資訊與天氣資訊。


詳細參考資訊可參考:調頻副載波即時交通資訊廣播(RDS-TMC)系統建置概況


可是拿到跟想的不太一樣,印象中是機身上有留天線插座,可是這款天線卻是用Mini USB串連機器。



接妥後,導航時則會在右邊出現一條Bar,顯示與導航目的地間的路況情形。



話說某個星期五有測試過,是有顯示距離幾公里後會遇到塞車,不過已經上高速公路了也來不及掉頭,而且好像没有顯示塞車幾公里。目前例假日也没有提供相關資訊。

2010年8月17日 星期二

Regular expression for URL filtering

程式寫到一半,總覺得求方便用程式 Substring + IndexOf 來 Parsing 字串不太好,

Debug 可能也比較麻煩些,因為還要去拆解跟計算 ^^

所以試試看用 Regular Expression 拆解,( 好像更難懂,可是起碼一看就大概知道在做什麼 )

但是上網找了一些 Pattern 好像不太適用目前大部分的情況

ex.
http://WebServer/
http://HP-WebServer:8080/
http://WebServer:1234/login.aspx
ftp://192.168.1.1:2266/


所以自己改寫了一個,

可取得 Protocal ( http, ftp, xml ... )、Domain ( Hostname / IP )、Port ( 如果有的話 )、Path ( 如果有的話 )


(?\w+):\/\/(?[^:/]+):?(?\d*)\/?(?\S*)


2010年8月15日 星期日

有買有保佑的 AppleCare

時間過得真快,想不到用 MBP 都快一年了!


原廠保固只有一年而已,為了以防萬一,也該是時候加買延長保固囉!


2010年8月12日 星期四

EXCEL用IMEX=1讀取資料時仍有NULL的解決方法

ASP .NET 讀取 Excel 資料問題 後,
原本以為設定混合模式後問題就可以解決了。
可是沒想到後來又發生了,查詢了一些文件找到了一個搭配的解決方法。

2010年6月20日 星期日

重建 IIS 內消失的 ASP .Net 版本

有時候安裝完 .Net Framework 1.1 & 2.0 之後,在 IIS 內指定執行 RunTime 的部份有時候 1.1 會不見。



變得只有 2.0 這個版本。


修復的方式就在其安裝目錄下,執行重新註冊的指令即可:


C:\Windows\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i


TOMTOM Go 720 外掛 RDS-TMC 天線

由於TOMTOM Go 720可以透過外加RDS-TMC天線接收路況資訊,但是經銷商遲遲没有進口。等了粉久,終於有額外販售RDS-TMC天線了。



RDS-TMC是調頻副載波即時交通資訊廣播,台灣於97年起由交通部運輸研究所與警廣參考國際標準制訂符合國內需求之RDS-TMC資料格式,共同合作建置以發布路況資訊。提供內容包括23縣市、高快速公路、省道即時通報事件資訊、高快速公路壅塞(60公里/小時以下)速率資訊與天氣資訊。


詳細參考資訊可參考:調頻副載波即時交通資訊廣播(RDS-TMC)系統建置概況


可是拿到跟想的不太一樣,印象中是機身上有留天線插座,可是這款天線卻是用Mini USB串連機器。



接妥後,導航時則會在右邊出現一條Bar,顯示與導航目的地間的路況情形。



話說某個星期五有測試過,是有顯示距離幾公里後會遇到塞車,不過已經上高速公路了也來不及掉頭,而且好像没有顯示塞車幾公里。目前例假日也没有提供相關資訊。


2010年5月29日 星期六

Pages 樣板路徑

先前找 KeyNote 樣板時也找到一些 Pages 的樣板,


可是照著安裝路徑放


~/資源庫/Application Support/iWork/Pages/Templates/My Templates/


參考資料是說會在 Pages 的樣板選擇器顯示一個新類別 My Templates


結果...


當然沒有,所以才寫這篇記錄一下 ...


所以我決定反著試試看,看看是否真的路徑錯誤


因為 KeyNote 的安裝路徑是


~/資源庫/Application Support/iWork/Keynote/Themes/


可正常使用,沒道理安裝文件及Google找到的相關資料都錯


反著用果然 Pages 會建立預設存放目錄


結論就是放到


~/資源庫/Application Support/iWork/Pages/樣板/我的樣板/


就出現了 ><


2010年5月28日 星期五

用 JavaScript 開新視窗的方式

僅列出我常用的方法而已


在開新視窗上,常用兩種方式:


1. window.open ( 開新視窗與原視窗平行處理或顯示額外資訊 )



window.open('[URL]', '[WindowName]', 'status=no,toolbar=no,scrollbars=yes,resizable=yes,width=600,Height=500');


2. window.showModalDialog ( 強迫新視窗處理完成後再回原視窗 )



lRets=window.showModalDialog('[URL]', '[WindowName]', 'dialogWidth:600px;dialogHeight:400px;center:yes;status:no;scrollbars:no');
if(typeof(lRets)=='string')
{
// code ...
}


若是原視窗要接續新視窗回 Call 的 Function,有一個通吃的方式



if (window.dialogArguments != null) {
window.dialogArguments.[FunctionName](varData);
} else if (top.window.opener != null) {
top.window.opener.[FunctionName](varData);
top.window.close();
}

還是選擇把參考文獻 Key 進 EndNote

之前在寫的時候實在應該順便整理一下參考文獻的,


後來整整花了一天的時間整篇掃過一遍,


其中還有幾個出處超級難找的,


因為當初在寫時有想說要先進 EndNote,


使用方式就是 ...

2010年5月27日 星期四

將全國碩博士論文資訊網查詢到的論文匯入 EndNote

之前寫論文的時候沒能好好研究怎麼用,


雖然為時已晚,連後來都倒著用 ( 下篇說明 ),


一樣就當自己的 KM 囉!


根據 Google 大師的指點,


從台科大圖書館的電子資源有一篇介紹:


Endnote書目管理軟體-常用資料庫匯入方式


裡面有介紹將全國碩博士論文資訊網匯入EndNote的方式,


( 將網頁上檔案下載後放置於安裝目錄的 Filters 目錄下 )


可是我怎麼試都不成功,還包括找到的其它 Filters,


結果 ... 只要調一下參數就好了,跟說明不一樣,


難道是 MAC 的關係 ><

2010年5月7日 星期五

總算等到了相對正常的 iPhone OS 4 Beta 3

總算盼到了這次改版,超興奮的,希望有改進一些問題



( 圖片來源:Apple Developer 官方網站 )

2010年4月24日 星期六

Synology DS107+ 安裝 WordPress 全記錄

家裡的 Synology DS107+ 使用一年以來,一直扮演 NAS 的角色!


為了增加它的附加價值,所以開始著手 3rd Party 套件的安裝使用,


加上之前在找免費圖床的同時,看了如何幫BLOG找個好圖床?阿正老師經驗談(一) (阿正老師;2009) 文章之後,


決定把資訊掌握於自己手上,


因此目前先以 Blog 軟體為主,相關的版本訊息如下:


主機類型:Synology DS107+


韌體版本:DSM 2.3-1141


WordPress 版本:2.9.2


參考 markhuang7 (2008) 的經驗分享後,大致整理相關的步驟


一、安裝 SSH


先到官方網站下載



然後解壓縮後,到 Synology 的系統更新,並將 啟動SSH 的韌體上傳



...


二、安裝 IPKG


安裝完需重新開機,接下來就要找支援 SSH 的 Client 登入 Synology 主機了。


Windows 建議用 Putty ; 而 MAC 內建的 Terminal 就支援了,所以我就直接用啦。


開啟 Terminal 鍵入指令:ssh root@[Synology IP] ;再輸入 Admin 的密碼。



順利登入之後,按照 3epctw (2008) 的說明


1. 安裝 Bootstrap ( 啟動載入程式 )


wget www.buechse.de/SYNOLOGY/syno-x07-bootstrap_1.0-jb_arm.xsh

sh syno-x07-bootstrap_1.0-jb_arm.xsh

rm syno-x07-bootstrap_1.0-jb_arm.xsh


2. 更新套件庫


ipkg update

pkg upgrade


以上步驟都完成之後,該安裝 phpMyAdmin 跟 MySQL 囉!


...


三、啟動 Web Station 與 MySQL


首先透過管理介面把網路服務內的網頁應用程式相關服務打開



...


四、安裝 phpMyAdmin


再回到官方網站的下載中心下載 phpMyAdmin 套件。



下載完成之後,一樣解壓縮後,透過 Synology 管理介面的 套件管理 來進行安裝



安裝完下方就會顯示相關資訊與連結路徑


...


五、設定 MySQL 資料庫


根據官方的文件資料,預設 username 是 root ; password 是 (空白) - 記得要先設定密碼喔!



接著透過 權限 來建立新使用者



建立完成之後再用修改使用者的方式,把建立的DB授權給此使用者



...


六、安裝 WordPress


哇!總算到最後一個步驟了,先到 WordPress 官方網站下載最新版本,我是抓 2.9.2 。


解開壓縮檔之後,把 wordpress 整個目錄搬到 web 目錄下。


1. 修改 wp-config-sample.php


接著參考 markhuang7 的資料,打開 \web\wordpress\wp-config-sample.php 來設定資料庫連結。


define(‘DB_NAME’, ‘dbwordpress‘);    // The name of the database

define(‘DB_USER’, ‘usrwordpress‘);     // Your MySQL username

define(‘DB_PASSWORD’, ‘yourpasswordhere‘); // …and password

define(‘DB_HOST’, ‘localhost’);    // 99% chance you won’t need to change this value

define(‘DB_CHARSET’, ‘utf8′);


完成之後執行 http://[yoursite]/wordpress/wp-admin/install.php 開始安裝 WordPress


中途還會請您再提供一次 DB 的相關資訊 ( DB Name、User、 PWD ... )


最後則是請您提供 Blog 的 Title 與 eMail 。


總算安裝完成了,詳細資訊有興趣的朋友請自行參考官方安裝文件。


2. 更改權限


開始設定系統參數的時候,找到幾個 Theme 不錯看。


想不到支援線上下載安裝耶!


但是...會出現要我提供連線資訊的頁面 ><



怎麼樣都不行,找了幾種方法還是沒用。


後來在 Synology 官方討論區找到解法,因為權限的關係造成自動安裝的功能不 work,


重新授權就 OK 囉!


用 SSH 登入 Synology 之後,執行下面的指令:


chown -R nobody:nobody /volume1/web/wordpress


等它跑完要等一下下,再測試一次就 OK 囉!


...


※參考資料:


WordPress,http://wordpress.org/;安裝文件,http://codex.wordpress.org/Installing_WordPress


Synology,http://www.synology.com.tw/


阿正老師,2009/02,如何幫BLOG找個好圖床?阿正老師經驗談(一)

http://blog.soft.idv.tw/?p=462


markhuang7,2008/07,Synology DS207 架設 WordPress Blog

http://markhuang.wordpress.com/2008/07/18/synology-ds207-%E6%9E%B6%E8%A8%AD-wordpress-blog/


3epctw,2008/05,[分享]DS107+ 改機教學之四 :建構改機基本環境 (安裝Bootstrap及ipkg)

http://forum.synology.com/cht/viewtopic.php?f=7&t=37&sid=0129853dc5feb482ecd8cf3a7942bfc6


2010年4月13日 星期二

ORA-01460 unimplemented or unreasonable conversion requested

為了這個問題,搞了一天了,特此紀錄一下,也當作自己的 KM 吧!




WEB:Windows Server 2003 SP 2
DB:Oracle 10g
Data Provider:Oracle Client 10.02.00.03
Language:Asp .Net with C#
直接使用SqlDataSource的UpdateCommand功能透過StoreProcedure更新資料

網路上找到的資料大部分都是因為CLOB欄位型態而引起,可參考這篇:
LazyAssCoder, Dec 05, 2007
VB.NET: Error: System.Data.OracleClient.OracleException: ORA-01460: unimplemented or unreasonable conversion requested

但是我們又沒有用過這個型態,所以繼續查,Oracle Support中則是有其他資訊
描述中提到
This is a server side OCI issue caused when using a rebind of the same cursor.
詳細資訊可搜尋 Oracle Support

可是因為環境又不能隨便上Patch
所以決定土法煉鋼,一步一步測試。
利用OnUpdating顯示Parameters確認資料都有之後,
先建立一個空的StoreProcedure,僅接參數但不作任何事。
結果...一樣。


後來用一個測試的Table,讓UpdateCommand去Update它,
然後在OnUpdating裡面用DbCommand重新寫一段程式去呼叫StoreProcedure,
隨便亂試之後,出現了另外一個錯誤訊息:
ORA-01461: can bind a LONG value only for insert into a LONG column.
把其中一個變數的長度顯示出來,發現有 3199 個字元
可是 Oracle 的 VarChar2 可以到 4000 呀!
突然想到之前 9i 轉 10g 有遇到類似欄位型態要轉換的問題
所以調整了一下,在OnUpdating將Parameters的DbType改為AnsiString就好了!
.aspx 部份


<asp:SqlDataSource ID="SqlDataSource1" runat="server" .....
UpdateCommand="[StoreProcedureName]" UpdateCommandType="storedProcedure"
OnUpdating="ConvertUpdateDBTypeValue">
<UpdateParameters>
<asp:Parameters.....
..........


.aspx.cs 部份


protected void ConvertUpdateDBTypeValue(Object source, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["[ParameterName]"].DbType = DbType.AnsiString;
}