• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            升C小調(diào)狂想曲

            <遞歸的憂(yōu)傷>
            posts - 10, comments - 71, trackbacks - 0, articles - 0
               :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            Command the world! 命令整個(gè)世界

            Posted on 2009-06-02 16:27 陳坤 閱讀(2005) 評(píng)論(9)  編輯 收藏 引用 所屬分類(lèi): Flashing Ideas

            每當(dāng)我們打開(kāi)電腦,我們可能經(jīng)常會(huì)做一些習(xí)慣性的動(dòng)作。例如查一下郵件啦,看看新聞啦,觀(guān)察一下股票走向啦。仔細(xì)想一下就發(fā)現(xiàn),這里面有很多動(dòng)作是我們每天都會(huì)重復(fù)的。有沒(méi)有可能更方便一點(diǎn)呢?

            有。很簡(jiǎn)單,身為程序員的我們,為每種固定的操作寫(xiě)個(gè)小程序就好了。但這樣一來(lái)會(huì)帶來(lái)幾個(gè)問(wèn)題:

            1. 小程序?qū)懚嗔耍茈y統(tǒng)一管理。而且有些帶參數(shù)的程序(例如按照一定股票編號(hào)去查詢(xún)價(jià)格的程序),使用起來(lái)并不一定方便。

            2. 我們可能經(jīng)常使用不同的電腦,那么要同步這些小程序會(huì)非常頭疼。

            3. 你也寫(xiě),我也寫(xiě),大家寫(xiě)了大量重復(fù)的小程序,很浪費(fèi)資源。

            為了應(yīng)對(duì)這些問(wèn)題,我提出了一個(gè)叫JustType的框架,我們可以在http://justtype.cloudapp.net 訪(fǎng)問(wèn)它。

            JustType的界面就是一個(gè)文本框,一切都在這個(gè)文本框中進(jìn)行。在JustType框架中,每個(gè)小程序都對(duì)應(yīng)一個(gè)命令,命令可帶參數(shù)。寫(xiě)好的小程序會(huì)保存在服務(wù)器,每一個(gè)人都可以選擇是否要公開(kāi)自己的小程序。這樣大家可以很方便地共享自己的成果。

            讓我們來(lái)逐一看看JustType擁有的功能。

            首先,最基本的,你可以在JustType中輸入一個(gè)網(wǎng)址,一按回車(chē)就會(huì)訪(fǎng)問(wèn)該網(wǎng)址。

            image

            當(dāng)然,僅僅是這樣的話(huà),很傻。因?yàn)闉g覽器的地址欄更好用多了。但是,JustType遠(yuǎn)遠(yuǎn)不止這點(diǎn)。

            我們可以為一個(gè)命令設(shè)置一個(gè)別名,例如:

            image

            經(jīng)過(guò)這樣的設(shè)置后,下次我只要打cppblog就會(huì)自動(dòng)進(jìn)入http://m.shnenglu.com 了。

            還有很多時(shí)候,我們會(huì)遇到一些小小的計(jì)算問(wèn)題。Windows那個(gè)計(jì)算器實(shí)在很不好用,讓我們看看JustType:

            image

            image

            這個(gè)calc命令會(huì)將后面的表達(dá)式求值并顯示出來(lái)。實(shí)際上,這里這個(gè)表達(dá)式是Python的表達(dá)式,JustType中所有的小程序都運(yùn)行在IronPython上,并且可以使用.net framework類(lèi)庫(kù)中的大多數(shù)功能。

            當(dāng)然,除了簡(jiǎn)單的表達(dá)式以外,我們還可以執(zhí)行更復(fù)雜的腳本:

            image

            輸入這個(gè)命令之后,界面就會(huì)變成下面的樣子:

            image

            MultiLineTextMode是一個(gè)預(yù)定義函數(shù),功能是將主界面上的文本框變成多行模式,這樣我們就可以輸入更復(fù)雜的腳本了。下面我們?cè)囋囀褂靡恍?net framework中的功能:

            image

            輸出結(jié)果如下:

            image

            SetTextBoxText也是一個(gè)預(yù)定義函數(shù),可以改變主界面中文本框內(nèi)的文本。更多的預(yù)定義函數(shù)描述可以在http://justtype.cloudapp.net/Help.aspx 中看到。

            除了臨時(shí)執(zhí)行腳本以外,我們也可以將腳本寫(xiě)成小程序保存起來(lái)。輸入newcommand命令,就會(huì)進(jìn)入創(chuàng)建命令的頁(yè)面。我們將這個(gè)小程序命名為translate,然后輸入以下代碼:

            import System
            import System.Web

            def OnCommand(command):
                GoToURL("http://dict.youdao.com/search?q=" + System.Web.HttpUtility.UrlEncode(command))
                return True

            程序依然是用IronPython寫(xiě),其實(shí)Python語(yǔ)法很簡(jiǎn)單。http://www.python.org 感興趣的用戶(hù)可以去看看。這個(gè)OnCommand函數(shù)就是用來(lái)接收消息的。當(dāng)JustType收到命令后,會(huì)找到這個(gè)命令對(duì)應(yīng)的腳本,并將參數(shù)傳給腳本的OnCommand函數(shù)來(lái)執(zhí)行。我們看到,這里程序調(diào)用了GoToURL函數(shù),轉(zhuǎn)向了有道詞典的頁(yè)面。在創(chuàng)建了這個(gè)程序后,我們就可以在JustType的文本框中輸入下面的命令:

            image

            一按回車(chē),就會(huì)轉(zhuǎn)向翻譯結(jié)果:

            image

            類(lèi)似地,我們可以寫(xiě)出很多很多方便實(shí)用的小程序。在我們創(chuàng)建程序時(shí),我們可以選擇是否要公開(kāi)。如果公開(kāi)的話(huà),別的用戶(hù)就可以通過(guò)“你的用戶(hù)名.程序名”來(lái)調(diào)用你的程序。例如我的用戶(hù)名是ck,那么其他用戶(hù)就可以輸入ck.translate來(lái)調(diào)用我的程序,當(dāng)然他喜歡的話(huà)也可以用setalias來(lái)設(shè)置一個(gè)方便的別名。如果所有公開(kāi)的程序中,只有我這個(gè)程序叫做translate,那么其他用戶(hù)不打ck.translate而直接打translate也可以成功調(diào)用。

            另外,JustType提供一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)。每一個(gè)程序在一個(gè)用戶(hù)的賬戶(hù)中會(huì)有一個(gè)獨(dú)立的存儲(chǔ)空間,可以存儲(chǔ)1000行數(shù)據(jù)。例如我利用這個(gè)特性開(kāi)發(fā)了一個(gè)叫做note的小程序,可以臨時(shí)記錄一些小筆記:

            image

            那么之后我就可以看到我的筆記:

            image

            所有的程序和數(shù)據(jù),都存放在服務(wù)器端,用戶(hù)不用擔(dān)心不同機(jī)器的問(wèn)題。無(wú)論你走到哪里,都可以像在一臺(tái)機(jī)器上一樣訪(fǎng)問(wèn)所有服務(wù)和數(shù)據(jù)。

            新服務(wù)剛剛搭建好,歡迎大家試用和提供意見(jiàn)喔。網(wǎng)址是http://justtype.cloudapp.net

            Feedback

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-02 17:14 by guest
            - = 和POWERSHELL比有啥優(yōu)點(diǎn)?

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-02 17:34 by 陳坤
            @guest

            主要就是我文章開(kāi)頭提到的3點(diǎn)。你可以輕易地與他人分享你寫(xiě)的程序,也可以輕松地使用其他人開(kāi)發(fā)的小程序。另外,程序和數(shù)據(jù)都在服務(wù)器端,你不用擔(dān)心不同機(jī)器上使用的問(wèn)題。

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-02 19:33 by Acumon
            建議集成到Ubiquity中去~造福萬(wàn)民

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-02 19:47 by 陳坤
            @Acumon

            據(jù)你介紹,我去看了一下Ubiquity,感覺(jué)初衷很相似。不過(guò)JustType鼓勵(lì)大家自己寫(xiě)命令,并與他人分享自己的程序。另外JustType不受瀏覽器約束,記錄的數(shù)據(jù)也不受機(jī)器約束,某些程度上比Ubiquity更方便點(diǎn),呵呵。
            我會(huì)去看一看如何擴(kuò)展Ubiquity的,如果可以的話(huà),集成進(jìn)去確實(shí)會(huì)很好。

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-02 21:14 by 星綻紫輝
            不錯(cuò)~

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-03 16:56 by guest
            想法是不錯(cuò)的,但能不能為每個(gè)用戶(hù)模擬一個(gè)OS環(huán)境,包含一些APP以及存儲(chǔ)空間等等。

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-03 18:44 by 陳坤
            @guest

            存儲(chǔ)空間每一個(gè)用戶(hù)都是有的,每個(gè)程序在每個(gè)用戶(hù)帳戶(hù)中可以?xún)?chǔ)存1000行任意數(shù)據(jù),但是由于服務(wù)器那邊的問(wèn)題,無(wú)法提供類(lèi)似IO操作這種底層的接口。

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-03 20:54 by 54sun
            lz居然能自己想出這個(gè)創(chuàng)意,的確不簡(jiǎn)單。
            和樓上建議一樣,改為集成到ubiquity里面。
            ubiquity開(kāi)發(fā)到現(xiàn)在,已經(jīng)有大量的命令集成在里面了,可以做很多事情,而且配合firefox很好。個(gè)人感覺(jué)一般技術(shù)人員都比較偏向于firefox吧,畢竟addson很多。


            當(dāng)然,可能lz的初衷和ubiquity并不一樣,純粹個(gè)人意見(jiàn)。

            # re: Command the world! 命令整個(gè)世界  回復(fù)  更多評(píng)論   

            2009-06-08 11:32 by 夢(mèng)在天涯
            好主意,可以看看luncy.net
            久久久久久综合一区中文字幕| 亚洲精品无码久久久| 人妻无码精品久久亚瑟影视| 久久久久人妻精品一区三寸蜜桃 | 亚洲AV无一区二区三区久久| 伊人久久大香线蕉综合影院首页| 精品久久久久久久久午夜福利| 一级做a爰片久久毛片16| 久久久久综合中文字幕| 色8久久人人97超碰香蕉987| 26uuu久久五月天| 亚洲国产另类久久久精品黑人| 狠狠狠色丁香婷婷综合久久俺| 久久久久无码精品| 久久水蜜桃亚洲av无码精品麻豆| 亚洲国产成人久久综合一| 久久九九兔免费精品6| 久久er国产精品免费观看8| 久久久久久无码Av成人影院| 亚洲国产成人精品女人久久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲精品高清一二区久久| 人妻丰满AV无码久久不卡| 久久一区二区免费播放| 岛国搬运www久久| 久久99国产精品久久| 国内精品九九久久久精品| 色妞色综合久久夜夜| 亚洲国产精品无码久久青草 | 国内精品免费久久影院| 久久99国产精品一区二区| 亚洲va久久久噜噜噜久久狠狠 | 国内精品人妻无码久久久影院导航| 久久久久97国产精华液好用吗| 日本精品久久久久中文字幕8| 久久久久久久亚洲Av无码| 亚洲va久久久噜噜噜久久天堂| 人妻少妇久久中文字幕一区二区| 欧美精品久久久久久久自慰| 久久99精品久久久大学生| 亚洲精品乱码久久久久66|