Category: Software

軟體

  • Equinox 與 OSGi

    Equinox 是 Eclipse Project 下頭的 subproject 之一,也是 OSGi R4 core 的完整實做。關於 Equinox 的轉變可以參考這篇《Equinox OSGi Project》。關於 OSGi 的簡介可以參考網路上這篇《Java: 淺談 OSGi 標準》,雖然時間有點久遠,仍是很好的參考資料。

    除了完整實做 OSGi R4 之外,Equinox 實際上也實做某些 Eclipse 重要的 framework services 與 extensions。於是 Equinox 就取代了 Eclipse Platform 中 org.eclipse.core.runtime 的大部分功能。

    最後順道提一點,embedded Rich Client Platform (eRCP) 顧名思義是可以在裝置上跑的東西,例如 WinCE 5.0 Pro、WM 2003/5 的 PDA 啦!Nokia Series 80 的手機啦!等等的玩意兒。而且,他的 core 當然也有包含 Equinox 嚕。

  • robots.txt at 2007-07-09

    自架網站的朋友通常都會遇到流量爆增的情況,結果就是流量或 CPU 使用超過主機商限制,然後就必須多繳錢或者被懲罰性地暫停使用。

    當然,沒流量就代表沒人看,那你架網站幹麼?把東西放在網路上要有個觀念:「那就是給人看的東西」。但是,有許多流量都是在網路上蒐集資料的機器人所造成。機器人有好有壞,因為它是工具,好的用途例如這個網誌上頭的咕狗客製化搜尋。我的網站不需要提供搜尋功能,讓咕狗機器人抓取我網站資料作成索引,想找本站啥內容問咕狗就好,有誰自家的搜尋技術可以打得過人家一堆研究人員寫出來的搜尋技術?

    通常,好的機器人在抓取您的網站前,都會先自您的網站抓取一個檔案來看看,叫做 robots.txt,然後它會跟據裡面的敘述決定抓取的行為,不讓您因為太過頻繁的造訪而有煩惱。下列是 Kirin Lin 的 robots.txt:

    User-agent: *
    Sitemap: http://kirin-lin.idv.tw/sitemap.xml.gz
    Crawl-delay: 120
    Disallow: */feed*
    Disallow: */trackback
    Disallow: */comments/feed*
    Disallow: */wp-admin
    Disallow: */wp-content
    Disallow: */wp-includes
    Disallow: */wp-login.php
    
    User-agent: ShopWiki
    Disallow: /
    
    User-agent: Baiduspider
    Disallow: /
    
    User-agent: Gaisbot
    Disallow: /
    
    User-agent: Slurp
    Crawl-delay: 10
    
    User-agent: Yahoo-Blogs/v3.9
    Crawl-delay: 20
    
    User-agent: msnbot
    Crawl-delay: 120
    

    以上僅針對幾個常見的機器人做出行為指示,若機器人遵循這檔案內的敘述,對整體網站流量所造成的影響就應該不大。當然,對於那種拼老命抓網頁的壞機器人,就必須使用不同手段對付。

    註:Sitemap 欄位是您的網站有提供該資訊時才需要加上去,說明請見 sitemap.org

  • Eclipse 3.3 出現的 eclipsec.exe

    Eclipse Classic 3.3 解壓縮後發現新出現一個執行檔案 eclipsec.exe,為了知道那是幹啥的,咕狗後找到 [eclipse-dev] mailing list 中的解釋:

    [eclipse-dev] eclipsec.exe

    Since the launchers were changed to load the Java VM in-process using the JNI invocation API, the launcher has had some issues with respect to the console on windows.
    The wiki page here has some details: http://wiki.eclipse.org/index.php/Equinox_Launcher_Issues#Windows_Console

    The result is that on windows we are now shipping a second executable: eclipsec.exe. eclipse/eclipsec is analogous to javaw/java. Eclipsec.exe is linked as a console application so that the OS will allocate a console for us. This executable does not automatically add any arguments, so you still need to specify -console, -consoleLog, etc.

    -Andrew

    嗯…原來是 console 在 windows 下面有 Bug,所以弄了一個執行檔來解決。

  • 短命的 WordPress 2.1.3

    已經是三個禮拜之前的消息,正在納悶為什麼 2.1 系列並沒有繼續原始碼更動時,RSSOwl 內讀到《WordPress News You Need To Know》這篇。其實它是講每個星期三,作者會為 Blog Herald 出一篇 WordPress 圈的週記。

    稍微瀏覽一下發現先前沒注意到的事情,Mark 在《WP 2.2 is a mandatory upgrade for 2.1.3 users》一文中說明 2.1.3 應該要升級成 2.2 的理由,很簡單:

    WordPress 2.2 is a mandatory security upgrade for WordPress 2.1.3 users. There will be no further releases in the 2.1.x branch. 2.2 includes security fixes that 2.1.3 lacks, so your only upgrade path is to 2.2.

    中文白話就是:

    2.1 系列消失,2.2 是您修正 2.1.3 安全性問題的唯一路徑。

    這篇的標題 Kirin 一定有看過,因為也有訂閱 Mark 的 RSS Feed…XD 看了就忘記,果然不愧是巨木星的 Kirin(真牽強)…

    總之,幫 Jo 把她的網誌自 2.1.3 升級成 2.2,過程一點問題都沒有,希望她用得習慣。

  • 語系檔位置更動與開啟快取

    WordPress 自 2.1 版開始,載入語系檔的方式小有變動,詳細資訊可參考 Ticket #3315。為何會有這個修正?原因很簡單,提案者希望大家在升級 WordPress 的時候,只需要備份 wp-content 下面的資料即可,不需要去記 wp-includes 下面有哪些目錄需要另外備份出來。

    於是 wp-setting.php 中設定 LANGDIR 常數的方式做了點改變,並且不會影響到舊的使用方式。往後,Kirin 會以 wp-content/languages 維護正體中文語系檔案。

    至於,為什麼會發現這件事情哩?因為 Kirin 一直沒有使用很方便的 widget 功能,正在看 widgets.php 時發現許多 widget 都有使用到快取 (cache)。WordPress 從 2 版就開始提供簡單的物件快取機制,讓網誌速度加快,而 Kirin 也從來沒開過這個功能…XD

    開啟快取功能很簡單,僅需要在設定檔 wp-config.php 中加入一行設定如下:

    // Enable the WordPress Object Cache:
    define('ENABLE_CACHE', true);
    

    加在哪裡?放在語系設定後面即可。正在加入該設定時發現,耶!? WPLANG 的註解怎麼不太一樣?然後就發現語系檔位置變動這件事情。