Time of Update: 2018-12-08
不知道你的文章被大量轉載,你會有何感想? 其實只要註明作者,我們還是很樂意文章被轉載的。前段時間我的文章被大量轉載。有些網站轉載部落格(比如百度文庫),故意不註明出處,故意把作者的資訊都刪除,這種惡劣的行為,剽竊了作者的勞動果實, 侵犯了作者的權益。剛寫部落格的時候,我看到自己的文章被別人轉載了,覺得很高興,說明我寫的文章有價值。 後來很多部落格園的朋友在我的文章裡留言,說我的文章是抄襲別人的。
Time of Update: 2018-12-08
原文連結首先,介紹幾種常見的I/O模型及其區別,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)blocking I/O 這個不用多解釋吧,阻塞通訊端。是它調用過程的圖示:重點解釋下,下面例子都會講到。首先application調用
Time of Update: 2018-12-08
對概念的理解是我們做任何事情的基礎,因此我們從概念開始吧程式執行順序是按照串列執行的假設:比如我們讀詩詞,預設從上到下1.床 前 明 月 光, 2.疑 是 地 上 霜。 3.舉 頭 望 明 月, 4.低 頭 思 故 鄉。而多線程以後,就很有可能變成3.舉 頭 望 明 月,1.床 前 明 月 光, 1.床 前 明 月 光,4.低 頭 思 故
Time of Update: 2018-12-08
進程:分配系統資源的一種資料結構。簡而言之,就像一個儲物箱一樣,特點是為了保證安全,一個進程中的指標被設計為不可訪問其他進程的地址。就像你的鑰匙正常情況下不能隨便開啟任何一個人的儲物箱一樣,你只能開啟自己的儲物箱。如果開啟別人的儲物箱,不是無意的編碼疏忽,就是惡意的攻擊其他程式。 線程:分配CPU運行周期的一種資料結構。線程其實是任務的抽象概念。建立一個線程,相當於告訴CPU我有一個新任務需要你分配時間來處理。多線程和一個線程執行多個任務的區別就在於建立多個線程就是要求cpu要同時處理一些事情,
Time of Update: 2018-12-08
文章目錄 工作量BUG量關鍵節點達成率 在工作以來就職的幾家公司中,目前就職的這家公司有非常完善的“績效考核”制度。績效工資大概占工資的百分之二十左右,績效的最高係數為2,就是說如果你的工資的20%為2000,績效最高可以拿到4000
Time of Update: 2018-12-08
通過前一篇部落格 【小坦克: Fiddler教程】,我們瞭解了Fiddler的基本用法, 現在我們來看看Fiddler的進階用法. Fiddler Script。 Fiddler中的script 可以讓我們自動修改Http request和Response 的內容。 而不用手動地去下"斷點"來修改http Request或Response中的值。 閱讀目錄Fiddler的作者如何向Fiddler的作者請教關於Fiddler Script 和Jscript.NETFiddler
Time of Update: 2018-12-08
假設數組A有n個元素,數組B有n個元素。看到這種題的時候,我們最直觀的就是通過兩層for迴圈來對比每個數組中的數字。因此A數組中的每個元素都會和B數組中的每個元素對比過一次,所以總共要對比的次數是n個n相加(或者是n個m相加),也就是n2(或者為n x
Time of Update: 2018-12-08
之前寫過一篇部落格:用 Fiddler 來調試HTTP,HTTPS。 這篇文章介紹另一個好用的抓包工具wireshark, 用來擷取網路資料封包,包括http,TCP,UDP,等網路通訊協定包。記得大學的時候就學習過TCP的三向交握協議,那時候只是知道,雖然在書上看過很多TCP和UDP的資料,但是從來沒有真正見過這些資料包, 老是感覺在雲上飄一樣,學得不踏實。有了wireshark就能截獲這些網路資料包,可以清晰的看到資料包中的每一個欄位。更能加深我們對網路通訊協定的理解。對我而言,
Time of Update: 2018-12-08
提綱1.n和n+1的關係結論必須由一個整數n決定結論的定義必須明確,這樣我們才可能檢驗由第n項過渡到下一項也就是n+1的時候,結論是否還能成立。 我們期望得到這樣一個結果:只要這個結論對n成立,那麼對n+1也成立。所以我們要做的有兩件事,一是證實結論在取某個值時是正確的,二就是證實取下一個值也是正確的。我們考慮,如果取某個值,那麼這個值取什麼數好呢?很顯然,什麼事情我們都希望從最簡單的情況出發,因此取1就是我們的選擇,也就是n=1。因此n=1時成立,所以n+=1,也就是n=2的時候也成立,同理,
Time of Update: 2018-12-08
有人說畢業五年就是一個分水嶺,我不知道是在嶺的這一邊,還是在那一邊? 有人說我的經曆複雜,在邊境的小縣城做過報關,在飼料廠當過會計,賣過陝汽重卡,去過深圳的富士康,在蘇州工業園區的工廠打過工,去越南的工廠當過生產主管。伴隨著一整年的失業,頂著家裡的壓力和周圍人異樣的目光,決心轉行………… 時間轉回5年前,那年的我,21歲…… “嘿,A君,領畢業證了嗎?”“還沒呢,他們都在排隊。聽說有幾個在越南找到工作不回來了對吧,畢業證都不要了?”“恩,在鞋廠打工呢。證還是要拿的,不過晚點回來吧。反正我們又沒有
Time of Update: 2018-12-08
GUI自動化測試和做外掛的原理很相似,都是類比使用者的滑鼠和鍵盤操作, 給自己的程式寫自動化就是做測試,給別人的程式寫自動化就是外掛了。本文使用的技術也同樣適用製作“對對碰”,"找茬" 之類遊戲的外掛。 閱讀目錄QQ連連看外掛實現原理GUI自動化測試的原理什麼是控制代碼P/Invoke機制擷取遊戲表單的控制代碼分析遊戲視窗對遊戲視窗進行根據遊戲規則來寫演算法類比滑鼠點擊原始碼下載 QQ連連看外掛實現原理1. 先調用Win32 API擷取"連連看"遊戲視窗的控制代碼,2. 根據遊戲視窗的控制代碼,
Time of Update: 2018-12-08
提綱:1.在一次比較過程中,我們能確定位置的只有一個元素的位置,在外層迴圈中體現。比如說在插入排序和選擇排序中,外層迴圈 i 就是已經排好序的元素的個數。那些大於等於 i 的當前的值的的都是等待排序的元素,也就是內層迴圈 j 需要處理的部分。但是我們能使得數組中的元素“基本有序"基於比較的排序演算法,一次只能得出一個結果。最好的情況就是把問題分解成兩個1/2的規模,而不是一個1/4,另一個3/4。因為你無法知道你是否處於另一個糟糕的狀況之中。因為一次比較只能得出 “大於” 或者
Time of Update: 2018-12-08
2010.12.5 FaWave(發微)多微博版正式發布!發微(FaWave),Chrome上的微博外掛程式,支援多微博,真正的即時同步發送微博,多微博發送不再煩。目前支援的微薄有新浪微博、Twitter、搜狐微博、飯否、做啥、嘀咕、人間網、雷猴。多使用者、多微博支援,全部帳號同時提示新資訊,各個帳號之前無縫切換。功能全面、強大,還可以發送圖片。Simple is better!!
Time of Update: 2018-12-08
private void Insert(TKey key, TValue value, bool add){if (key == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); }if (this.buckets == null) {this.Initialize(0); }int num = this.comparer.GetHashCode(key) &
Time of Update: 2018-12-08
現在雲端儲存有很多種選擇,Dropbox、Google Drive、SkyDrive還有百度最近推出的百度網盤。SkyDrive的25G免費空間很吸引人,但用戶端不支援Win2003(公司電腦系統Win2003),使用起來有些局限性。今天註冊了百度網盤,空間15G,而且還可以通過邀請好友進行擴容,還有一個好處就是一般不會被牆,所以果斷選擇百度網盤。
Time of Update: 2018-12-08
在列表顯示的時候,我們常常要截取文章標題的長度,Python截取字串,本來很簡單的,但是中文和英文的寬度不一樣,在頁面看起來長度就差很遠了:length7這是中文長度七粗略來算(是粗略哦),一個中文字元的寬度大概等於兩個英文字元的寬度。一個中文字元的utf8編碼長度為3,gbk為2: 所以將使用gbk來計算長度(因為一個中文字元的寬度大概為兩個英文字元) @register.filterdef cut_str(str, length=10): """
Time of Update: 2018-12-08
把引用對象作為參數傳進一個方法,實際上是在棧上新分配了一塊記憶體儲存傳入的地址。 ,把局部變數name傳入M2方法後,棧上新開了一塊記憶體S,用來儲存"joe"的地址。其實拿string來說明不太合適,因為string類是不可變的。但是為借用CLR VIA C#中現成的圖咱們就將就一下了。這時如果能夠直接修改s所指向的內容的話(在C#中string是不可變類,無法示範),外部的局部變數name由於和形參s指向的是同一個對象,因此name也會改變。(圖1)但是如果把s指向一個新的的string時,
Time of Update: 2018-12-08
最近查一個bug,原因是JS中的Replace方法造成的,當將一個字串中有處需要替換時,一般會用到JS中的Replace方法,Replace方法的第一個參數如果是傳的字串,只會替換第一處。代碼如下:var str = "0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E4D-8800-AE31130B6F5D";alert(str.replace(",","','")
Time of Update: 2018-12-08
目前市面上有很多Web UI自動化測試架構,比如WatiN, Selinimu,WebDriver,還有VS2010中的Coded UI等等. 這些架構都可以操作Web中的控制項,類比使用者輸入,點擊等操作,實現Web自動化測試。其實這些工具的原理都一樣,都是通過調用IE COM介面和HTML DOM 對IE瀏覽器以及WEB測試對象的操作。 本文介紹脫離這些自動化測試架構。 直接使用.NET提供的shdocvm.dll庫來操作IE瀏覽器,使用mshtml.dll庫來操作IE中的
Time of Update: 2018-12-08
http協議是無狀態的, 瀏覽器和web伺服器之間可以通過cookie來身份識別。 傳統型應用程式(比如新浪案頭用戶端, skydrive用戶端)跟Web伺服器之間是如何身份識別呢? 閱讀目錄什麼是HTTP基本認證HTTP基本認證的過程HTTP基本認證的優點每次都要進行認證HTTP基本認證和HTTPS一起使用就很安全HTTP OAuth認證其他認證用戶端的使用 什麼是HTTP基本認證傳統型應用程式也通過HTTP協議跟Web伺服器互動, 傳統型應用程式一般不會使用cookie, 而是把