• <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)狂想曲

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

            Command the world! 命令整個世界

            Posted on 2009-06-02 16:27 陳坤 閱讀(2034) 評論(9)  編輯 收藏 引用 所屬分類: Flashing Ideas

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

            有。很簡單,身為程序員的我們,為每種固定的操作寫個小程序就好了。但這樣一來會帶來幾個問題:

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

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

            3. 你也寫,我也寫,大家寫了大量重復的小程序,很浪費資源。

            為了應對這些問題,我提出了一個叫JustType的框架,我們可以在http://justtype.cloudapp.net 訪問它。

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

            讓我們來逐一看看JustType擁有的功能。

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

            image

            當然,僅僅是這樣的話,很傻。因為瀏覽器的地址欄更好用多了。但是,JustType遠遠不止這點。

            我們可以為一個命令設置一個別名,例如:

            image

            經(jīng)過這樣的設置后,下次我只要打cppblog就會自動進入http://www.shnenglu.com 了。

            還有很多時候,我們會遇到一些小小的計算問題。Windows那個計算器實在很不好用,讓我們看看JustType:

            image

            image

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

            當然,除了簡單的表達式以外,我們還可以執(zhí)行更復雜的腳本:

            image

            輸入這個命令之后,界面就會變成下面的樣子:

            image

            MultiLineTextMode是一個預定義函數(shù),功能是將主界面上的文本框變成多行模式,這樣我們就可以輸入更復雜的腳本了。下面我們試試使用一些.net framework中的功能:

            image

            輸出結(jié)果如下:

            image

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

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

            import System
            import System.Web

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

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

            image

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

            image

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

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

            image

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

            image

            所有的程序和數(shù)據(jù),都存放在服務器端,用戶不用擔心不同機器的問題。無論你走到哪里,都可以像在一臺機器上一樣訪問所有服務和數(shù)據(jù)。

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

            Feedback

            # re: Command the world! 命令整個世界  回復  更多評論   

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

            # re: Command the world! 命令整個世界  回復  更多評論   

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

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

            # re: Command the world! 命令整個世界  回復  更多評論   

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

            # re: Command the world! 命令整個世界  回復  更多評論   

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

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

            # re: Command the world! 命令整個世界  回復  更多評論   

            2009-06-02 21:14 by 星綻紫輝
            不錯~

            # re: Command the world! 命令整個世界  回復  更多評論   

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

            # re: Command the world! 命令整個世界  回復  更多評論   

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

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

            # re: Command the world! 命令整個世界  回復  更多評論   

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


            當然,可能lz的初衷和ubiquity并不一樣,純粹個人意見。

            # re: Command the world! 命令整個世界  回復  更多評論   

            2009-06-08 11:32 by 夢在天涯
            好主意,可以看看luncy.net
            曰曰摸天天摸人人看久久久| 久久久久久久久久久免费精品| 国产精品久久久久久久app| 日产久久强奸免费的看| 欧美日韩久久中文字幕| 精品国产福利久久久| 伊人久久精品影院| 99久久国产综合精品成人影院| 青青草原综合久久大伊人| 久久国产精品成人免费| 久久婷婷五月综合国产尤物app| 麻豆精品久久久一区二区| 日韩精品久久久久久免费| 大蕉久久伊人中文字幕| 精品久久久久久无码专区| 久久久久久久免费视频| 久久精品国产一区二区电影| 久久99精品久久久久久| 久久精品国产欧美日韩99热| 精品久久久久中文字幕一区| 国产精品久久成人影院| 久久w5ww成w人免费| 亚洲午夜久久久久久久久电影网 | 9191精品国产免费久久| 99久久精品国产一区二区| 国产成人精品久久亚洲高清不卡 | 亚洲∧v久久久无码精品| 久久久久亚洲AV无码观看| 日韩欧美亚洲国产精品字幕久久久 | 香蕉久久影院| 亚洲国产成人久久精品99| 亚洲精品综合久久| 亚洲精品视频久久久| 亚洲人成电影网站久久| 久久精品国产免费观看 | 精品久久久久久国产91| 久久精品国产69国产精品亚洲| 2021久久国自产拍精品| 俺来也俺去啦久久综合网| 蜜桃麻豆www久久| 精品国产一区二区三区久久蜜臀|