月份: 2014 年 4 月

  • 架設 Starbound Linux 伺服器

    前陣子一直在玩 Starbound(雖然目前已荒廢),當時為了想推坑所以就想架個伺服器試試,於是找到了這篇入門文章,經由作者同意後我就翻譯貼上來了。

    原文連結: Daniel Sokolowski’s Blog: Starbound Dedicated Server Setup

    Thanks to Daniel Sokolowski.

    Starbound 專用伺服器架設

    使用 Debian 架設全天候的 Starbound 伺服器

    Starbound 是一款類 Terraria 的外太空生存 / 建造遊戲。

    在觀看一些影片並且實際試玩了一下後,我只能說這款遊戲內的豐富生態和可掠奪的星球設定很對我胃口。因此除了原有的 minecraft.danols.com 之外,我決定再為 Starbound 架設一個全年無休的專用主機 starbound.danols.com,以下就是架設教學。

    取得 Debian linux 伺服器

    如果你尚未擁有 Linux 伺服器,我推薦 Linode Xen VPS 提供的主機服務 – 最基本的方案就行了。至今我使用他們的服務超過五年,覺得無可挑剔。

    雖然坊間還有其他更便宜的主機商,但是一分錢一分貨是不變的真理;況且最基本的方案就足以讓我架設 FreeSWITCH VOIP、Minecraft、電子郵件以及跑一些網站了。
    (閱讀全文…)

  • javascript-i18n-core v1.1 released.

    javascript-i18n-core 可以輕鬆在專案內加入 javascript 的本地化。

    v1.1 版更新了語系檔嵌套的支援。

    舊語法只能使用一對一的字串,對於管理維護不太方便:

    {
        "hello world": "你好,世界。"
    }

    新版本則支援嵌套方式。

    {
        "hello": {
            "world": "世界",
            "%1 kitty ", "%1 的凱蒂"
        }
    }

    使用上如同以往,除了嵌套需以 . 來呼叫(也就是語系檔的 KEY 除了嵌套之外不能使用)。

    i18n._('hello.world');
    i18n._('hello.%1 kitty', 'my');
  • PHP fullurl function

    fullurl 是一個可以取得或產生子網域的小函數,好像很難說明…

    假設網站使用下列三個包括使用 https 和不同埠號子網域、以及兩組主網域(開發 test.com、上線 test.tw):

    • http://www.test.com, http://www.test.tw
    • http://user.test.com:5678, http://user.test.tw:5678
    • https://ec.test.com, https://ec.test.tw

    若在開發環境內需要產生連結至 https://ec.test.tw 的網址,以往的方式可能就是 parse_url 和 $_SERVER 來組合,甚至是將主網域寫死等到上線再改一次,依照懶人哲學這實在是浪費生命又不環保,於是 fullurl 就出現了。

    以上述為例,我只需要呼叫 fullurl('ec', true); 在開發環境能產生 https://ec.test.com,而上線後則會自動產出 https://ec.test.tw。

    至於埠號也是能經由參數任意控制,例如 fullurl('user', false, 5678); 就能產出 http://user.test.com:5678;或是帶入 0 消除埠號,例如在 http://user.test.com:5678 的環境下使用 fullurl('www', false, 0); 能產出 http://www.test.com。

    更多例子、沙盒及原始碼:

    http://app.essoduke.org/sandbox/fullurl.php

    echo fullurl();
    // Get the current URI.
    // output: http://app.essoduke.org
    
    echo fullurl('ftp');
    // Replace 'ftp' with current subdomain.
    // output: http://ftp.essoduke.org
    
    echo fullurl('hello.');
    // Append 'hello' to current subdomain.
    // output: http://hello.app.essoduke.org
    
    echo fullurl('ssl', true);
    // Set HTTPs on
    // output: https://ssl.essoduke.org

    —
    好像是個無關痛癢的小分享…