Feeds:
文章
迴響

Archive for 2008 年 04 月

如果有程式 /example/ex01/index.py, /example/ex02/index.py 和 /example/ex03/index.py 分別對應到 http://cwchelloworld.appspot.com/example/ex01, http://cwchelloworld.appspot.com/example/ex02, 和http://cwchelloworld.appspot.com/example/ex03 ,在 yaml 中一般寫法為

– url: /example/ex01
  script: example/ex01/index.py

– url: /example/ex02
  script: example/ex02/index.py

– url: /example/ex03
  script: example/ex03/index.py

實際上你可以用正規表示法改寫為

– url: /example/(ex[0-9]*)
  script: example/1/index.py

如此可使設定檔更為簡潔~

廣告

Read Full Post »

Win32 版本的 gettimeofday

節錄自"Re: gettimeofday() on Win32"

#ifdef WIN32
/*
* Number of micro-seconds between the beginning of the Windows epoch
* (Jan. 1, 1601) and the Unix epoch (Jan. 1, 1970).
*
* This assumes all Win32 compilers have 64-bit support.
*/
#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS) || defined(__WATCOMC__)
  #define DELTA_EPOCH_IN_USEC  11644473600000000Ui64
#else
  #define DELTA_EPOCH_IN_USEC  11644473600000000ULL
#endif
typedef unsigned __int64 u_int64_t;

static u_int64_t filetime_to_unix_epoch (const FILETIME *ft)
{
    u_int64_t res = (u_int64_t) ft->dwHighDateTime << 32;

    res |= ft->dwLowDateTime;
    res /= 10;                   /* from 100 nano-sec periods to usec */
    res -= DELTA_EPOCH_IN_USEC;  /* from Win epoch to Unix epoch */
    return (res);
}

int gettimeofday (struct timeval *tv, void *tz)
{
    FILETIME  ft;
    u_int64_t tim;

    if (!tv) {
        //errno = EINVAL;
        return (-1);
    }
    GetSystemTimeAsFileTime (&ft);
    tim = filetime_to_unix_epoch (&ft);
    tv->tv_sec  = (long) (tim / 1000000L);
    tv->tv_usec = (long) (tim % 1000000L);
    return (0);
}

Read Full Post »

依據收入排行的前15名證照

Read Full Post »

Ajax 讀取二進位資料

今天看到"Reading binary files using Ajax"介紹透過 XMLHttpRequest 讀取二進位資料的方式,大略看了一下作法

首先對於有實作 XMLHttpRequest 的瀏覽器,在 send 之前必須先呼叫

req.overrideMimeType(‘text/plain; charset=x-user-defined’);

修改 MIME Type,之後 req.responseText 收到的資料則為 Raw Data,req.responseText.length 為檔案長度。讀取特定 byte 的方式為

req.responseText.charCodeAt(i) & 0xff
至於 IE 則比較麻煩必須透過 VBScript 處理,不過大致上步驟也差不多,在 send 之前先呼叫
xhr.setRequestHeader "Accept-Charset", "x-user-defined"
然後透過 xhr.responseBody 回傳的是 byte 字串,必須手動透過 AscB 轉換成 byte 陣列,後續讀取 byte 的方式則類似陣列索引方式 
fileContents[i]。
其他細節就自行參考 
http://www.heypage.com/nagoon97/BinFileReader/BinFileReader.js
不過,對於此功能我還沒想到可應用的地方 ~

Read Full Post »

Learning Agent For Air v0.6

加入線上更新功能,原本想將 Air 程式放在 Google Application Engine,可惜 GAE 目前單一檔案限制 1048576 bytes ~

003 002

目前 v0.6 版的主功能介面… 尚未解決頁面功能無法點選的問題~

004 005 006 007 008

Read Full Post »

AIR 程式線上更新

最近打算將線上更新功能實作到 Learning Agent For AIR,整理一下實現步驟

1. Web 存放版本資訊 XML 和 AIR 檔

2. 下載解析版本 XML

XMLHttpRequest + DOMParser

3. 取得目前應用程式版本

4. 比對版本,有新版本就下載存檔

URLRequest+URLStream+ByteArray

5. 更新程式

Updater

執行結果

001

Read Full Post »

拿到婚紗喜帖了 ^^

今天第一次去校稿,也拿到我的婚紗喜帖,距離我的婚期還有一段時間,想不到我已經拿到了喜帖,感覺有點怪

不過母親節也快到,剛好拿回家給家人欣賞 ^O^

雖然還沒有拿到照片的電子檔,只好先翻拍喜帖過過乾癮… 不過拍照技術不佳,部份拍起來有些失焦

另外,今晚非常感謝 Rita 和 Grace 的協助,讓我們美編校稿過程相當順利且舒服…. 也非常感謝陳真總監為我們製作的相片目錄,我們非常喜歡…

相當期待最後的成品~~~~~~~

Read Full Post »

Older Posts »