青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

XGuru's Blog

技術(shù),是一種態(tài)度。關(guān)注:高性能后端技術(shù)/服務(wù)器架構(gòu)/C++/C/LAMP

   :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  20 Posts :: 0 Stories :: 93 Comments :: 0 Trackbacks

公告





twitter / xoXGuru

feedsky
抓虾
google reader
鲜果
QQ邮箱
九点

常用鏈接

留言簿(12)

搜索

  •  

最新評(píng)論

閱讀排行榜

2011年7月21日 #

最近重溫《Python源碼剖析》一書,將python基本對(duì)象的要點(diǎn)記錄如下
python 整數(shù)對(duì)象
1.python中的整數(shù)使用c語(yǔ)言中的long類型存儲(chǔ)
2.python int進(jìn)行加法會(huì)檢查結(jié)果是否溢出,如果溢出則自動(dòng)轉(zhuǎn)換為pyLongObject對(duì)象
3.python中的文檔無(wú)縫集成在語(yǔ)言實(shí)現(xiàn)中
1 = 11
2 print a.__doc__

4.小整數(shù)對(duì)象完全緩存在內(nèi)存中,其他整數(shù)對(duì)象輪流使用一塊內(nèi)存空間
5.小整數(shù)對(duì)象在python初始化中調(diào)用的_PyInt_Init中創(chuàng)建,然后就一直存在著, 直到python虛擬機(jī)退出

python String對(duì)象
1.pyStringObject在創(chuàng)建之后,內(nèi)部維護(hù)的字符串不能再改變
2.intern機(jī)制是否只在字符數(shù)組長(zhǎng)度0或者1的時(shí)候使用? 書中提供的代碼太過(guò)于精簡(jiǎn)了,沒(méi)講清楚,但是看后面的演示結(jié)果,應(yīng)該是所有的字符串都實(shí)現(xiàn)了intern機(jī)制
3.字符串連接操作嚴(yán)重影響python程序執(zhí)行效率,使用join只需分配一次內(nèi)存,能夠大大提高效率.用法舉例
"".join(['s1','s2','s3'])

Python Dict對(duì)象
1.Python中的dict采用hashtable而不是R-B Tree。
2.采用開(kāi)放定址法解決沖突。
3.為保證沖突探測(cè)鏈的連續(xù)性,采用偽刪除技術(shù),active對(duì)象刪除則設(shè)置為dummy態(tài)
4.為減少?zèng)_突,轉(zhuǎn)載率大于2/3時(shí)則改變table的大小,每次增大4倍,如果table中的active態(tài)的元素個(gè)數(shù)大于50000時(shí)(巨型表),
則放慢增長(zhǎng)速度,每次增長(zhǎng)2倍。可以看出Python中dict的查找效率較高,而對(duì)于內(nèi)存的使用是省了又省,還考慮了巨型表增長(zhǎng)減少倍數(shù)。

Python List對(duì)象
1.PyListObject類似STL中的Vector。
2.Python對(duì)內(nèi)存的使用十分節(jié)儉,如果list改變的新尺寸不到分配內(nèi)存的1/2,則收縮內(nèi)存.
3.在Pylist中建插入元素需要逐個(gè)移動(dòng)后面的元素,類似C中的數(shù)組,因此需要盡量避免對(duì)中間元素的插入和刪除操作。
4.STL和PyListObject自動(dòng)擴(kuò)容算法對(duì)比:個(gè)人覺(jué)得list改名為array比較恰當(dāng)一些,嘿嘿
//sgi STL:
len 
= (old_size != 0 )?2*oldsize:1
//(不夠用則擴(kuò)充兩倍,如果開(kāi)始為空則設(shè)置為1)
//Python:
new_allocated
=(newsize>>3)+(newsize<9?3:6)
//(???)
5.對(duì)于增長(zhǎng)倍數(shù)的選擇,這里有討論
http://en.w3support.net/index.php?db=so&id=1100311

p70書中筆誤 :"allcated/2"應(yīng)改為"allocated/2"

posted @ 2011-07-21 23:16 XGuru 閱讀(2554) | 評(píng)論 (1)編輯 收藏

2010年12月22日 #

via :Kevin Watters's blog
譯:XGuru

原始狀態(tài)

    我曾經(jīng)觀看過(guò)小提琴家非常有激情地拉弦演奏,我有了這種想法:也許我投入到文本編輯器中的腦細(xì)胞數(shù)量和他為投入所喜好的樂(lè)器的演奏中差不多吧。我還有種奇異的想象,當(dāng)他獨(dú)奏的時(shí)候,腦中的核磁共振圖和我在使用VIM中操控代碼的的圖像也許不會(huì)相差太大吧?





    如果你愿意的話請(qǐng)你仔細(xì)思考下,以下是一個(gè)vimmer的學(xué)習(xí)旅程的剪輯




Vim涅磐所經(jīng)歷的漫長(zhǎng)而艱苦的道路


星期一

    “Eclipse當(dāng)然是簡(jiǎn)潔實(shí)用的”

    “但是一些滿臉落腮胡的奇怪家伙在工作中似乎使用vim確實(shí)非常快,我應(yīng)該試一下。”

    “好吧!我弄了個(gè)Gvim,這看起來(lái)不是很糟糕,這里甚至還有菜單界面!”

    “等什么?我的文本去哪了?等一下,撤銷,不要啊!”

    “:help”

    “:q!!!!!”

    今天剩下的時(shí)間還是回到擁有讓人上癮的自動(dòng)補(bǔ)全樣板功能的Eclipse中獲得解脫吧


星期二

     “好吧 vim,這是新的一天了,這是個(gè)磨礪自己學(xué)習(xí)新東西的一個(gè)嶄新的機(jī)會(huì),我不是那么容易放棄的人!”

    “為什么我就不能一直呆在插入模式里面呢?FJDSAKLFJDALSKJKLDF(發(fā)狂的敲擊鍵盤)”

    “等一下,你在告訴我保存的時(shí)候必須按ESC-shift-冒號(hào)-w-回車?這簡(jiǎn)直就是狗屁啊”

    “在花了2個(gè)小時(shí)學(xué)習(xí)教程以后,我基本上懂的就是ddp命令可以交換兩行的內(nèi)容,真是蛋疼啊”




一個(gè)禮拜以后

     “哇噢,任何地方都有vim阿,這意味著這付出的所有的努力將不會(huì)白費(fèi),比如當(dāng)我用ssh遠(yuǎn)程登入主機(jī)修改一些配置的時(shí)候”

     “太爽了,嘿,朋友們來(lái)看看這個(gè)全暗色的配色主題,我新的工具鏈表面上看起來(lái)非常安逸了”

     “噢,真是扯蛋,我的.vimrc沒(méi)有在我的遠(yuǎn)程主機(jī)里,當(dāng)我ssh登入編輯一些配置的時(shí)候,所有我的酷玩意都沒(méi)了”




兩個(gè)月以后

     HJKL的移動(dòng)方式習(xí)慣成自然,你神秘的失去了使用鼠標(biāo)的能力。

    “我將始終使用我剛下載的這400個(gè)插件!尤其是這個(gè)折疊latex語(yǔ)法的插件,噢,哥們”

    “使用小箭頭方向鍵簡(jiǎn)直是自我折磨阿”

    “再見(jiàn),Caps Lock鍵”

    “就這樣吧,這是忍耐的極限,vim甚至不能讓文本合適的自動(dòng)換行,我準(zhǔn)備回到edit.com了”



一年后

    更少的大聲說(shuō)話了。

    安裝command-T插件,每天節(jié)約成百上千次的鍵盤敲擊。

    用宏試著讓你肩膀后的某個(gè)人感到印象深刻,通過(guò)在整個(gè)文件里混合大小寫和參雜ROT13暗碼(回轉(zhuǎn)十三位加密)。

    最終在某個(gè)奇跡般的一天學(xué)會(huì)在肌肉記憶里用ctrl+[來(lái)延緩了腕關(guān)節(jié)炎癥降臨。

    學(xué)會(huì)了移動(dòng)光標(biāo),使用visual模式和*鍵----這意味著已經(jīng)沒(méi)有退路了。

    “vim不支持交互性緩存?都20年了?好吧,作為一名黑客,我決定給它添加這項(xiàng)支持。”

    查看vim代碼庫(kù),瘋狂地讓它向相反的方向運(yùn)行。

    “誰(shuí)無(wú)論如何也需要在編輯器里弄個(gè)控制臺(tái)?我就是所有的unix哲學(xué)。”

    對(duì)周圍的”vim只是將一個(gè)編輯模式合并到真正的編輯器中“觀念感到無(wú)可忍耐。

    因?yàn)槟憷鲜窃诜块g里令人討厭地回復(fù)”:w”,IRC的朋友們最后將你孤立


兩年以后

    vim腳本就是一種對(duì)上帝的深惡痛絕。

    有點(diǎn)覺(jué)得emacs的從始至終的指令模式相對(duì)有點(diǎn)像在天堂一樣。

    我昨晚做了一個(gè)噩夢(mèng),夢(mèng)到我始終沒(méi)有學(xué)會(huì)在寬屏顯示器中垂直切分窗口,這樣提心吊膽真是夠混帳阿。

    偷偷地瞄一下周圍,綁定ctrl+s到保存,允許自己悄悄地松一口氣。

    意識(shí)到hjkl搜索定位不足以成為終極時(shí)間節(jié)約工具,發(fā)現(xiàn):python腳本,所建立的大量定制功能達(dá)到鼎盛期,對(duì)<Leader>key綁定直到你的鍵盤類似于NASA指揮中心控制面板一樣有點(diǎn)繁多到荒謬的功能感覺(jué)有一點(diǎn)糟糕。

   “嘿,每個(gè)聽(tīng)的到我聲音的家伙過(guò)來(lái)看看,我現(xiàn)在控制電腦,寫博客,檢查郵件,運(yùn)行測(cè)試,調(diào)試程序,瀏覽黑客新聞
           所有的一切都能在vim溫暖舒適,超級(jí)可以定制化的母體中進(jìn)行”

    為什么你這小子不做幾個(gè)后空翻來(lái)慶祝一下呢?



模糊又很長(zhǎng)某段時(shí)間之后

    在“文本編輯中模態(tài)的明顯的優(yōu)勢(shì)”演講結(jié)束后失去了幾個(gè)朋友。


    盡情享受在github.com/me/vimfiles中分享自己配置的快樂(lè)中,有義務(wù)完成關(guān)于如何特立獨(dú)行地安裝語(yǔ)法檢查,lint工具,自動(dòng)補(bǔ)全,快速文檔查看,成噸的殺手級(jí)縮寫,世界上所有文件類型對(duì)應(yīng)的插件,使vim在每種功能的高效性上接近真正的IDE的博客帖子。開(kāi)機(jī)時(shí)間日志寫入服務(wù)器,下意識(shí)地使用nano來(lái)編輯配置文件。不會(huì)為沒(méi)有使用插件和vimrc中的更多語(yǔ)法而更新所有的配置文件而感到深深的羞愧。

    變得十分淡定,重復(fù)性的編輯任務(wù)再也難不住你,不再去參加emacs與vim誰(shuí)好誰(shuí)壞的爭(zhēng)論


...這就是你用vim時(shí)大腦的終級(jí)形態(tài)






 --EOF--
Creative commons license
by XGuru is licensed under a Creative Commons 署名-非商業(yè)性使用-相同方式共享 2.5 中國(guó)大陸 License.

posted @ 2010-12-22 23:05 XGuru 閱讀(13348) | 評(píng)論 (11)編輯 收藏

2010年12月1日 #

via:git.or.cz


posted @ 2010-12-01 11:54 XGuru 閱讀(1078) | 評(píng)論 (3)編輯 收藏

2010年10月24日 #

2010 developer’s problem solving sequence:

from: 


1.Google
    技術(shù)上的問(wèn)題多去google,wikipedia上看看絕對(duì)沒(méi)錯(cuò),想看性用品廣告就多上上Baidu。

2.Coworkers
    找同事幫忙,如果你的同事熱心腸而且技術(shù)不錯(cuò),而且遇到過(guò)類似的問(wèn)題,他的建議就會(huì)很顯得非常寶貴,也許就能一針見(jiàn)效。

3.StackOverflow
    去編程互助網(wǎng)站搜索下答案,不行就上去發(fā)帖提提問(wèn),熱心人還是蠻多的,但是感覺(jué)這個(gè)網(wǎng)站上的Java/.Net的問(wèn)題比較多。

4.RTFM
    讀下令人郁悶的幫助文檔(Read the f*cking manual),在linux下man一下或者查看下MSDN文檔,mannual文檔一般會(huì)組織得很好,很清晰。但是語(yǔ)言表達(dá)得太專業(yè)化了,有時(shí)候會(huì)讓人很郁悶。

5.Think
    最后不行了,還是自己想下怎么解決問(wèn)題吧,求人不如求己。

posted @ 2010-10-24 15:18 XGuru 閱讀(10690) | 評(píng)論 (8)編輯 收藏

2010年10月7日 #

大家都為linux下壓縮格式繁多,而且每種格式都對(duì)應(yīng)不同的命令,這是個(gè)很讓人頭疼的問(wèn)題。
我就介紹個(gè)方法給大家:
在bashrc里加入

ex () {
  
if [ -f $1 ] ; then
    
case $1 in
      
*.tar.bz2)   tar xjf $1        ;;
      
*.tar.gz)    tar xzf $1     ;;
      
*.bz2)       bunzip2 $1       ;;
      
*.rar)       rar x $1     ;;
      
*.gz)        gunzip $1     ;;
      
*.tar)       tar xf $1        ;;
      
*.tbz2)      tar xjf $1      ;;
      
*.tgz)       tar xzf $1       ;;
      
*.zip)       unzip $1     ;;
      
*.Z)         uncompress $1  ;;
      
*.7z)        7z x $1    ;;
      
*)           echo "無(wú)法解壓'$1'文件!!" ;;
    esac
  
else
    echo 
"'$1' 不是一個(gè)合法的文件!"
  fi
}



解壓文件的的話只需要簡(jiǎn)單輸入"ex [壓縮文檔]"就可以了,如果你有其他格式的壓縮文檔格式也可以自己加入進(jìn)來(lái)。
從此告別煩人的各種解壓縮命令。
posted @ 2010-10-07 21:54 XGuru 閱讀(3161) | 評(píng)論 (5)編輯 收藏

2010年7月27日 #


                   Emacs是否真的能煮咖啡?        by XGuru









    坊間有傳言曰:“emacs無(wú)所不能,甚至能夠用來(lái)煮咖啡!”

    煮咖啡何解?勾起了我的考究欲望。

    上網(wǎng)搜索之,得出幾種初步結(jié)論如下:

    1.這只是一種好玩的說(shuō)法,只是用來(lái)形容emacs功能無(wú)所不包而已。

    2.Java的標(biāo)志就一杯咖啡,用來(lái)形象的表示寫代碼

          

    3.emacs的確具有煮咖啡的功能,有腳本能夠控制自動(dòng)咖啡機(jī)運(yùn)行。


    覺(jué)得第一種說(shuō)法比較符合邏輯;第二種說(shuō)法感覺(jué)有點(diǎn)唐突,畢竟Emacs是Richard Stallman(GNU創(chuàng)始人)所寫,而Java是Bill Joy(vi作者)等人完成的,這兩派都差點(diǎn)上升到宗教沖突了,這種解釋有點(diǎn)差強(qiáng)人意;第三種的如果是真的話就會(huì)變得很有趣。


    于是就開(kāi)始了探究,首先追本溯源,找到這段腳本代碼的源頭。發(fā)現(xiàn)已經(jīng)地址已經(jīng)失效,終于在在debian的一個(gè)軟件包里找到了副本這是emacs常用腳本的一個(gè)打包。

代碼如下
  1 ;;; coffee.el --- Submit a BREW request to an RFC2324-compliant coffee device
  2 ;;;
  3 ;;; Author: Eric Marsden <emarsden@laas.fr>
  4 ;;; Version: 0.2
  5 ;;; Copyright: (C) 1999 Eric Marsden
  6 ;;; Keywords: coffee, brew, kitchen-sink, can't
  7 ;;
  8 ;;     This program is free software; you can redistribute it and/or
  9 ;;     modify it under the terms of the GNU General Public License as
 10 ;;     published by the Free Software Foundation; either version 2 of
 11 ;;     the License, or (at your option) any later version.
 12 ;;    
 13 ;;     This program is distributed in the hope that it will be useful,
 14 ;;     but WITHOUT ANY WARRANTY; without even the implied warranty of
 15 ;;     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 16 ;;     GNU General Public License for more details.
 17 ;;    
 18 ;;     You should have received a copy of the GNU General Public
 19 ;;     License along with this program; if not, write to the Free
 20 ;;     Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 21 ;;     MA 02111-1307, USA.
 22 ;;
 23 ;; Please send suggestions and bug reports to <emarsden@laas.fr>.
 24 ;; The latest version of this package should be available at
 25 ;;
 26 ;;     <URL:http://purl.org/net/emarsden/home/downloads/>
 27  
 28 ;;; Commentary:
 29 ;;
 30 ;; This module provides an Emacs interface to RFC2324-compliant coffee
 31 ;; devices (Hyper Text Coffee Pot Control Protocol, or HTCPCP). It
 32 ;; prompts the user for the different additives, then issues a BREW
 33 ;; request to the coffee device.
 34 ;;
 35 ;; coffee.el requires a special BREW-capable version of Emacs/W3 to be
 36 ;; installed.
 37 ;;
 38 ;; Reference: <URL:ftp://ftp.isi.edu/in-notes/rfc2324.txt>
 39 ;;
 40 ;;
 41 ;; Thanks to Giacomo Boffi <giacomo.boffi@polimi.it> for some typos
 42 ;; and the addition of the "Brown-Coffee" sweetener type.
 43  
 44 ;;; Code:
 45  
 46 (require 'cl)
 47  
 48 (defvar coffee-host "coffee"
 49   "*The host which provides the coffee service.")
 50  
 51 (defvar coffee-pot-designator 1
 52   "*On machines with multiple pots, the number of the pot to brew in")
 53  
 54 (defvar coffee-brew-hook nil
 55   "*Hook executed before issuing a BREW request")
 56  
 57 (defconst coffee-milk-types
 58   '("Cream" "Half-and-Half" "Whole-Milk" "Part-Skim" "Skim" "Non-Dairy"))
 59  
 60 (defconst coffee-syrup-types '("Vanilla" "Almond" "Raspberry" "Chocolate"))
 61  
 62 (defconst coffee-sweetener-types '("White-Sugar" "Brown-Sugar" "Artificial-Sweetener"))
 63  
 64 (defconst coffee-alcohol-types '("Whiskey" "Rum" "Kahula" "Aquavit"))
 65  
 66 (defconst coffee-addition-types
 67   `(("Milk"      . ,coffee-milk-types)
 68     ("Syrup"     . ,coffee-syrup-types)
 69     ("Sweetener" . ,coffee-sweetener-types)
 70     ("Alcohol"   . ,coffee-alcohol-types)))
 71  
 72 ;;;###autoload
 73 (defun coffee ()
 74   "Submit a BREW request to an RFC2324-compliant coffee device"
 75   (interactive)
 76   (require 'url)
 77   (let* ((additions-list
 78           (append coffee-milk-types
 79                   coffee-syrup-types
 80                   coffee-sweetener-types
 81                   coffee-alcohol-types))
 82          (additions-string
 83           (mapconcat #'identity additions-list ","))
 84          (url (coffee-url))
 85          (url-request-method "BREW")
 86          (url-request-extra-headers
 87           `(("Content-type"     . "message-coffeepot")
 88             ("Accept-Additions" . ,additions-string)))         
 89          (url-request-data "START"))
 90     (run-hooks 'coffee-brew-hook)
 91     (url-retrieve url)))
 92  
 93 (defun coffee-additions ()
 94   (let* ((type-name
 95           (completing-read "Coffee addition: " coffee-addition-types nil t))
 96          (type (cdr (assoc type-name coffee-addition-types)))
 97          (ingredients (mapcar #'(lambda (a) (cons a a)) type))
 98          (ingredient
 99           (completing-read "Addition type: " ingredients nil t)))
100     ingredient))
101           
102 (defun coffee-url ()
103   (require 'w3-forms)
104   (concat "coffee://" coffee-host "/"
105           (int-to-string coffee-pot-designator)
106           "?" (w3-form-encode-xwfu (coffee-additions))))
107  
108  
109 (provide 'coffee)
110  
111 ;; coffee.el ends here

    這個(gè)腳本看起來(lái)還是煞有其事的,文中提到"Submit a BREW request to an RFC2324-compliant coffee device"

    能夠向與RFC2324協(xié)議兼容的咖啡設(shè)備提交BREW請(qǐng)求
,即兼容Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)協(xié)議。超文本咖啡壺協(xié)議,光看這名字就夠喜慶了,但這份協(xié)議寫得很規(guī)范,看不出一絲破綻。有細(xì)心的朋友shrek.wang提醒了我,注意看日期:

Network Working Group                                       L. Masinter
Request for Comments: 2324                                 1 April 1998

    1998年4月1號(hào),愚人節(jié)!這個(gè)就讓人產(chǎn)生了疑問(wèn)。
    通過(guò)查wiki發(fā)現(xiàn),原來(lái)互聯(lián)網(wǎng)國(guó)際標(biāo)準(zhǔn)機(jī)構(gòu)也是很有才的惡搞高手。

這里列舉其中幾個(gè)好玩的
    • 2001年,RFC 1149由一班挪威Linux使用者協(xié)會(huì)的成員實(shí)現(xiàn)了。他們傳送了9個(gè)封包到約5公里外的地方,每個(gè)封包由不同的鴿子攜帶,并有一個(gè)ICMP應(yīng)答要求封包(ping)。他們收到4個(gè)回應(yīng),封包流失率是55%,回應(yīng)時(shí)間是3000至6000秒。[1]
    • RFC 1607 來(lái)自21世紀(jì)的觀點(diǎn) Vint Cerf 1994
    • RFC 3091 圓周率數(shù)字產(chǎn)生協(xié)定 . H. Kennedy 2001年
更多的可以看這里wiki

  
     這里可以大膽地作出推斷,這個(gè)協(xié)議只是 IETF 開(kāi)的一個(gè)善意的joke,而coffee.el的作者Eric Marsden也是一個(gè)幽默的程序員,于是就做了一個(gè)兼容RFC2324的腳本,他也沒(méi)想過(guò)要真正的控制咖啡機(jī),所以這整個(gè)事情都源于程序員的冷幽默。
                          
     然而遠(yuǎn)程控制咖啡機(jī)還是有可能的,這里有一個(gè)開(kāi)源咖啡機(jī);這里還有一個(gè)允許網(wǎng)絡(luò)控制的咖啡機(jī)(據(jù)說(shuō)還是兼容RFC2324的)。
     估計(jì)IETF應(yīng)該做夢(mèng)也沒(méi)想到自己開(kāi)的一個(gè)玩笑竟然還真的有人做出了實(shí)物。 國(guó)外的牛人們還真是閑得蛋疼阿。可見(jiàn)geek們還是極富幽默感的。
朋友們,你的心中已經(jīng)有答案了么?你們想要一臺(tái)這樣的咖啡機(jī)不?







PS.在這里BS下CPPBLOG的編輯器,真的很爛啊,文章寫到一半時(shí)點(diǎn)保存,竟然給發(fā)布了!

 Creative commons license

by XGuru is licensed under a Creative Commons 署名-非商業(yè)性使用-相同方式共享 2.5 中國(guó)大陸 License.


posted @ 2010-07-27 21:15 XGuru 閱讀(13013) | 評(píng)論 (5)編輯 收藏

2010年6月28日 #

豆瓣火狐小組是這樣說(shuō)的:


Firefox不是完美的,不是最穩(wěn)定的,不是沒(méi)有漏洞的,也不是最快的,但它可以是自己的。



很喜歡這句話,就是因?yàn)橛辛素S富多彩的插件,火狐才能如此的受歡迎.
下面的這幾個(gè)插件是我個(gè)人最喜歡的,推薦給大家!


1.ColorfulTabs

人對(duì)顏色的分辨別速度大大超出文字,根據(jù)頁(yè)面的主色調(diào)生成標(biāo)簽顏色,讓你的標(biāo)簽變得色彩斑斕.不僅賞心悅目,更讓你方便地切換到想要的標(biāo)簽.



插件地址


2.All-in-One Gestures

這年頭,沒(méi)有鼠標(biāo)手勢(shì)還能活么?該插件操作快捷,定制性強(qiáng)!
插件地址


3.AutoProxy

非常智能好用的Fuck GF.W的插件,tor,proxy,ssh都能很好的支持,最爽的是可以訂閱規(guī)則,決定那些頁(yè)面使用代理,哪些無(wú)須使用.和諧社會(huì),和諧你我他!




插件地址


4.Readability

當(dāng)頁(yè)面繁雜不堪,難以閱讀時(shí),輕輕一點(diǎn),魔法立現(xiàn).整頁(yè)面變得美觀大方,甚至感覺(jué)像是在看一份精美排版報(bào)紙/小說(shuō).

整容前:



整容后:



插件地址



5.Tab Popup

當(dāng)你鼠標(biāo)放在不同的標(biāo)簽頁(yè)上,就會(huì)顯示出該頁(yè)的縮略圖.
插件地址


6.Adblock Plus

廣告已經(jīng)成往事!告別各種煩人的彈窗.
插件地址


7.Vimperator

讓你的firefox變得像vim一樣舒服,適合骨灰級(jí)vimer!


(圖from linuxtoy)

插件地址 在線幫助


8.Personas Plus

firefox皮膚想換就換!打造個(gè)性的firefox
插件地址


9.Integrated Gmail



google發(fā)燒友必備,將google其他的功能都集中到gmail里.All your Google Needs in One Place!
插件地址

相似的有另外一個(gè)優(yōu)化 greader的插件,一個(gè)google產(chǎn)品大全的shortcuts插件



PS:
插件多了會(huì)當(dāng)然會(huì)使firefox變慢,大家根據(jù)需要禁用一些
自己平時(shí)不常用的插件.
另外Firefox 3.6.6主要是改進(jìn)了插件崩潰或者停止響應(yīng)之后終止該插件的時(shí)間.喜歡裝插件的朋友趕快更新吧!
win 32位版本下載
linux 32位版本下載

--EOF--
posted @ 2010-06-28 23:29 XGuru 閱讀(4832) | 評(píng)論 (2)編輯 收藏

2010-12-29-update:找到一個(gè)最新的版本,由jason提供,地址在這


上網(wǎng)找了幾個(gè)版本在ubuntu下都用不了
于是就自己重新修改了jackbillow的版本,用起來(lái)感覺(jué)還不錯(cuò).



Usage: nginx.sh {start|stop|conf|restart}
//開(kāi)始|停止|配置|重啟

注:需要以管理員身份運(yùn)行


################################################
#!/bin/bash
# v.0.0.3
# create by jackbillow at 2007.10.15
# redevelop by XGuru at 2010.6.28
# On Ubuntu 10.04
# nginx - This shell script takes care of starting and stopping nginx.
#
# description: nginx [engine x] is light http web/proxy server
# that answers incoming ftp service requests.
###############################################


nginx_path
="/usr/local/nginx"
nginx_pid
="/usr/local/nginx/logs/nginx.pid"
prog="nginx"

RETVAL=0


start() {
# Start daemons.
        if [ -$nginx_path/conf/nginx.conf ];then
          echo 
-n $"Starting $prog: "
          
$nginx_path/sbin/nginx -$nginx_path/conf/nginx.conf &
          RETVAL
=$?
        [ 
$RETVAL -eq 0 ] && {
        echo Start 
"$prog" successfully!
        }
        
else
        RETVAL
=1
        fi
        
return $RETVAL
}
# Stop daemons.
stop() {
        echo 
-n $"Stopping $prog\n"
        sudo killall 
-9 nginx
        RETVAL
=$?
}
# See how we were called.

conf(){
        gvim 
"$nginx_path/conf/nginx.conf"
}
case 
"$1" in
start)
        start
        ;;
stop)
        stop
        ;;
conf)
        conf
        ;;        
restart)
        stop
        start
        ;;

*)
        echo $
"Usage: $0 {start|stop|conf|restart}"
        echo $
"Your may need root privilege to execute this script!"
        
exit 1
esac
exit $RETVAL

--EOF--
posted @ 2010-06-28 16:43 XGuru 閱讀(976) | 評(píng)論 (0)編輯 收藏

2010年6月25日 #

 libevent的初衷就是設(shè)計(jì)一個(gè)跨平臺(tái)的輕量級(jí)I/0框架,由于歷史問(wèn)題,各平臺(tái)的I/O復(fù)用機(jī)制難以統(tǒng)一。因此,這部分處理跨平臺(tái)的方法值得重點(diǎn)關(guān)注。

 eventop在源碼中定義如下:

static const struct eventop *eventops[]={

#ifdef HAVE_EVENT_PORTS

         
&evportops,

#endif 

….

}

    由此可見(jiàn)libevent通過(guò)宏來(lái)在編譯期找出可用的復(fù)用機(jī)制。

其中的順序也是大文章的。官方的文檔中說(shuō)明libevent中支持的復(fù)用機(jī)制 /dev/poll, kqueue(2), event ports, select(2), poll(2) and epoll(4).

    libevent開(kāi)發(fā)人員通過(guò)對(duì)各種機(jī)制的基準(zhǔn)測(cè)試,根據(jù)性能高到低選擇復(fù)用機(jī)制優(yōu)先順序如圖所示:

 

    從中也可以了解到不同平臺(tái)機(jī)制的不統(tǒng)一。標(biāo)準(zhǔn)的 poll select卻難以滿足大規(guī)模架構(gòu)的需要,具體可以參考Dan Kegel "The C10K problem"文檔。

關(guān)于機(jī)制的采用,libevent采用的是函數(shù)指針的方法。

 

 

struct eventop {
    
const char *name; /*機(jī)制名稱*/
    
void *(*init)(struct event_base *); /*初始化事件*/
    
int (*add)(void *struct event *);    /*添加事件*/
    
int (*del)(void *struct event *);    /* 刪除事件*/
    
int (*dispatch)(struct event_base *void *struct timeval */* 調(diào)度事件 */
    
void (*dealloc)(struct event_base *void *);/* 釋放資源*/
    
int need_reinit;
}
;

 

每個(gè)eventop即對(duì)應(yīng)一種IO復(fù)用機(jī)制,其中的每個(gè)函數(shù)指針都指向使用該機(jī)制對(duì)事件進(jìn)行操作的方法。

比如對(duì)應(yīng)epolleventop結(jié)構(gòu)中:
1.void *(*init)(…)函數(shù)指針對(duì)應(yīng)的是static void * epoll_init(…)
2.在epoll_init()里,首先對(duì)環(huán)境變量進(jìn)行檢測(cè),發(fā)現(xiàn)沒(méi)有epoll機(jī)制時(shí)立即返回NULL
3.使用epoll_create(32000)指定了連接數(shù)目的上限為32000個(gè),然后對(duì)epollop的各個(gè)成員所需資源進(jìn)行分配。
4.最后調(diào)用libevent自身的信號(hào)初始化函數(shù)。

選擇機(jī)制并將其初始化的過(guò)程十分簡(jiǎn)單:

 

    for (i = 0; eventops[i] && !base->evbase; i++{

       
base->evsel = eventops[i];

       
base->evbase = base->evsel->init(base);

    }

    遍歷存儲(chǔ)機(jī)制的eventops數(shù)組,按順序依次嘗試初始化,一種機(jī)制被成功初始化則立即跳出循環(huán)。當(dāng)然,檢測(cè)系統(tǒng)環(huán)境可用機(jī)制,選擇哪種機(jī)制更合適,具體的復(fù)用機(jī)制如何使用,這一切的瑣碎細(xì)節(jié)你都無(wú)需關(guān)心,使用時(shí),只要調(diào)用event_init()函數(shù)即可。Libevent對(duì)各種復(fù)用機(jī)制的巧妙封裝避免了開(kāi)發(fā)者開(kāi)發(fā)大規(guī)模架構(gòu)時(shí),處理跨平臺(tái)時(shí)機(jī)制選擇的苦惱。

posted @ 2010-06-25 16:30 XGuru 閱讀(1750) | 評(píng)論 (0)編輯 收藏

2010年6月24日 #



可能(這里)有點(diǎn)大,但是我覺(jué)得看起挺方便的。有錯(cuò)誤的意見(jiàn)歡迎提出,我會(huì)盡快修正。這里有英文原版。

附上幾個(gè)類似的:
1.作弊手冊(cè)cheat sheet
這里
2.鍵位圖 這里[EN] [CN] ,
3.vgod大神的版本
4.這里也有一個(gè),
5.這里還有張壁紙

posted @ 2010-06-24 15:42 XGuru 閱讀(3433) | 評(píng)論 (2)編輯 收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            另类亚洲自拍| 久久久www| 欧美精品在线极品| 一区二区日韩免费看| 亚洲精品一区在线观看香蕉| 欧美另类视频| 欧美一二三区精品| 欧美在线一二三| 91久久在线观看| 一区二区三区黄色| 狠狠色狠狠色综合日日五| 欧美黑人一区二区三区| 欧美视频日韩视频| 久久久999精品免费| 牛牛国产精品| 性亚洲最疯狂xxxx高清| 美女福利精品视频| 午夜精品久久| 米奇777在线欧美播放| 亚洲女优在线| 美女图片一区二区| 欧美一区深夜视频| 欧美成人高清| 久久久久久综合网天天| 欧美日韩国产小视频| 久久九九全国免费精品观看| 欧美激情bt| 久久婷婷影院| 国产精品九九| 亚洲三级视频| 韩国一区二区三区在线观看| 日韩一级黄色av| 亚洲动漫精品| 欧美呦呦网站| 亚洲欧美在线磁力| 欧美剧在线观看| 久久综合伊人77777麻豆| 国产精品v片在线观看不卡 | 99亚洲精品| 亚洲欧美一区在线| 一区二区三区高清视频在线观看 | 老司机午夜精品视频| 国产精品久久二区| 亚洲乱码国产乱码精品精可以看| 激情五月综合色婷婷一区二区| 在线视频欧美精品| 亚洲二区视频| 午夜在线电影亚洲一区| 玖玖玖国产精品| 久久av在线看| 国产精品二区三区四区| 亚洲国产小视频在线观看| 国产一区二区在线免费观看 | 亚洲欧美国产另类| 欧美色视频一区| 亚洲日产国产精品| 99视频一区二区三区| 欧美二区在线看| 亚洲高清不卡av| 亚洲国产精品尤物yw在线观看| 欧美专区在线观看一区| 久久久久国产一区二区| 国产亚洲综合精品| 久久精品国产99国产精品| 久久噜噜亚洲综合| 欧美日韩在线直播| 亚洲精品视频一区| 一本久道久久综合中文字幕| 欧美经典一区二区| 亚洲人成77777在线观看网| 亚洲精品一二| 欧美日本三级| 夜夜嗨av一区二区三区四季av| 一区二区免费在线视频| 欧美日韩中文字幕| 亚洲一区二区三区四区视频| 欧美在线视频免费播放| 国内综合精品午夜久久资源| 久久精品麻豆| 亚洲黄色影片| 亚洲欧美制服中文字幕| 国产欧美日韩一区二区三区在线观看 | 美女精品自拍一二三四| 国产一区二区三区成人欧美日韩在线观看 | 亚洲图片你懂的| 国产精品视频最多的网站| 午夜一区二区三视频在线观看 | 久久亚洲高清| 亚洲欧美区自拍先锋| 亚洲福利一区| 欧美日韩精品免费在线观看视频| 中国女人久久久| 美日韩免费视频| av不卡在线| 国产欧美一区二区精品婷婷| 久久免费99精品久久久久久| 亚洲国产精品成人| 激情婷婷久久| 久久精品毛片| 亚洲国产人成综合网站| 欧美人与性动交α欧美精品济南到 | 欧美欧美全黄| 欧美有码在线视频| 亚洲激情偷拍| 久久一区激情| 亚洲欧美经典视频| 91久久国产综合久久蜜月精品| 国产精品久久久| 老司机午夜精品视频| 亚洲一区自拍| 亚洲精选久久| 欧美va天堂在线| 久久精品一区二区三区四区 | 国产欧美一二三区| 欧美日韩国产系列| 久久综合狠狠综合久久激情| 亚洲一区三区视频在线观看| 免费在线观看成人av| 欧美国产日本在线| 午夜一级在线看亚洲| 亚洲免费观看视频| 欧美搞黄网站| 美女91精品| 久久国产精品久久精品国产| 亚洲校园激情| 一本色道久久综合一区| 亚洲黄网站在线观看| 尤物视频一区二区| 国内精品久久久久伊人av| 国产精品美女久久久浪潮软件| 欧美成ee人免费视频| 久久蜜桃香蕉精品一区二区三区| 香蕉成人久久| 性做久久久久久免费观看欧美| 亚洲天堂男人| 亚洲午夜在线观看视频在线| 99国产精品自拍| 99国产精品国产精品久久| 亚洲国产精品小视频| 欧美搞黄网站| 亚洲激情亚洲| 亚洲免费成人av| 亚洲黄色在线观看| 久久综合色播五月| 久久av一区二区三区漫画| 亚洲一区免费看| 亚洲综合色丁香婷婷六月图片| 亚洲毛片在线观看| 一区二区精品| 亚洲欧美不卡| 欧美综合第一页| 农村妇女精品| 欧美精品入口| 国产精品久久波多野结衣| 国产女优一区| 在线看欧美视频| 亚洲精品一二三区| 欧美一级精品大片| 欧美国产日韩二区| 亚洲激情影院| 国产精品99久久久久久久女警| 亚洲一区二区黄色| 久久精品国产99国产精品澳门| 久久久爽爽爽美女图片| 欧美精品福利视频| 国产精品人成在线观看免费| 欧美伊人久久久久久午夜久久久久 | 亚洲免费av观看| 亚洲欧美色一区| 久久人人爽爽爽人久久久| 欧美18av| 亚洲一区久久| 美日韩免费视频| 国产精品www.| 亚洲国产精品va在线观看黑人| 一区二区三区四区五区精品| 久久久精品日韩欧美| 亚洲国产mv| 午夜天堂精品久久久久| 欧美激情一区二区三区在线视频观看 | 欧美一区二区播放| 欧美紧缚bdsm在线视频| 国产午夜精品一区理论片飘花| 91久久精品一区二区别| 欧美在线一区二区| 亚洲精品日韩久久| 欧美在线视频免费观看| 欧美日韩亚洲不卡| 亚洲激情第一区| 久久久精彩视频| 99在线精品观看| 欧美成人久久| 1024国产精品| 久久激五月天综合精品| 99re热这里只有精品免费视频| 久热re这里精品视频在线6| 国产欧美日韩精品专区| 亚洲一区二区在| 亚洲精品国产欧美| 欧美11—12娇小xxxx|