談談我對bloom filter的理解。

2021-06-25 07:16:31 字數 628 閱讀 2344

我們都看過封神榜吧,每乙個神位都對應著乙個人。

在西周時代,如果乙個人聲稱自己是神,那麼他必須可以通過封神榜的驗證,如果封神榜驗證了下這個人,發現神位上根本沒這號人,那麼這個人絕對不是神。

但是封神榜的驗證方式是有漏洞的,那些企圖依靠神的名聲招搖撞騙的人之中,有些人發現了這個秘密,他們可以通過偽造自己的名字,來欺騙封神榜,雖然符合

要求的名字很少很少。但是總有一些人找到了些能欺騙封神榜的名字。

這樣一來,封神榜驗證乙個人是不是神,只有兩種結果。 一種是這個人不是神,這個結果是肯定正確的,只能說明這個人偽裝的不是很好。第二種這個人是神,那麼就得好好斟酌了,有可能是這個人找到乙個漏洞,欺騙了封神榜,冒充了某個神。

那麼海量處理利器,bloom filter是個什麼東東呢?   它有兩樣東西,乙個位陣列,一組hash函式。每個hash函式都可以將這個人對映到乙個特定位上。   這組hash函式就是用來驗證乙個人是不是神的規則。而位陣列就相當於封神榜,封神榜呢?有乙個規則,必須是代表這個人的幾個不同位置同時為1,才承認這個人是神。hash函式將乙個人對映到封神榜的不同位置,若發現這些不同的位置的值都是1,那麼就勉強的認為這個人是神。如果發現這個人通過這組hash函式對映的不同位,上,居然有些位置是0,或是全是0,那麼封神榜就會無情的告訴它,你丫不是神,玩蛋兒去。

談談我對CMMI的認識

cmmi是一種非常好的軟體工程方法,已經總結和建立了很多優秀的流程方法,而且諮詢公司會提供模板資料,把這些別人的東西般過來學習和實施,就可以在自己的企業運作得非常好 在我看來,這些理解完全是錯誤的。這種錯誤理解或觀念,使得很多企業實施cmmi後卻完全看看不到效果,甚至事倍功半,開發效率和質量還比不上...

談談我對ASIHttpRequest庫使用

在ios開發過程中,asihttprequest庫是最常用的網路庫,功能強大,使用也非常方便。但是,在使用此庫過程中,發現有幾點小問題。乙個問題是,我發現當非同步請求比較多,併發連線數量比較多的時候,會導致一些請求失敗。原因 預設是最大4個併發連線,其他的連線需要等待。然後如果有連線請求完畢了,就會...

談談我對flexbox的理解

寫在開頭 關於flex,學了很久的前端了,偶爾也在用,尤其是當需要水平居中的時候,就用display flex,感覺非常好用。但是其實對於flex的理解並不是很到位,根本都不懂flex,所以正兒八經的來研究一下flexbox。flex布局模型不同於塊和內聯模型布局,塊和內聯模型的布局計算依賴於塊和內...