原创 I/O完成端口是個什麼鬼

I/O完成端口解決什麼問題? 大的應用背景是異步I/O。什麼是異步I/O呢?先說說同步I/O吧。一個線程在讀取或者寫入文件的時候,如果I/O沒有完成,線程就要一直等待,幹不了其他事情,這就是同步I/O。對於聰明而急性子的計算機科學家來說,

原创 計算機該如何暴力破解

    如果你是一個程序員,你要去暴力破解一個已知賬號的密碼,有兩個思路。爲簡化討論,我們假設密碼是6位數字。一種辦法是從000000開始每次加1,一直嘗試到999999,這被稱爲蠻力破解,也是很多人一開始就能想到的辦法。另一個辦法是

原创 python裏的self

我對python self的總結是: 1.對於成員變量: 子類在初始化過程中,如果進入到父類的初始化函數中,在父類中遇到的self.variable(父類中)都將變成子類的成員變量,即便是在子類中沒有定義這個變量,初始化完成後也可以在子類

原创 一次實踐得到的對python垃圾收集的經驗

最近做一個項目,要求實現對w3af的併發掃描的支持,通過對代碼的改造,實現了對同時過來的多個http request進行併發漏洞掃描和分析,但是最擔心的問題是會不會產生內容泄漏。 經過對內存使用率的跟蹤,發現每次啓動一個掃描後,內存都會增

原创 python iterator總結

這篇文字翻譯字這裏 iterator是可以用來迭代的對象,這篇文章會介紹iterator是如何工作的,並且如何通過__iter__和__next__方法創建你自己的iterator. python的iterator是可迭代的對象,它可以返

原创 python對象、引用、全局變量和局部變量的關係

使用的python的過程中,習慣性按照C++的思維來理解python,導致一些困惑,例如下面這個例子。 ga是一個全局變量,lb是函數fun()裏面的局部變量,而且在函數fun()裏面先把lb賦值給ga後,lb的n才被賦值爲2,當這個函數

原创 python的psutil package簡直不要太好用

psutil is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory,

原创 python 閉包 closure 總結

本文總結自PROGRAMIZ的這裏 1.內嵌函數的非本地變量 在另一個函數裏面定義的函數,被稱爲內嵌函數。內嵌函數可以訪問閉合範圍內(就是外部函數範圍)的變量,這些變量被稱爲非本地變量(nonlocal variable)。 默認情況下,

原创 C++虛基類的作用、用法和意義

教科書上面對C++虛基類的描述玄而又玄,名曰“共享繼承”,名曰“各派生類的對象共享基類的的一個拷貝”,其實說白了就是解決多重多級繼承造成的二義性問題。例如有基類B,從B派生出C和D,然後類F又同時繼承了C和D,現在類F的一個對象裏面包含了

原创 python解析http request字符串

如果通過抓包工具抓到一個raw http request,想要解析它,可以使用如下方法。 編寫一個繼承自python內置基類BaseHTTPRequestHandler的類,代碼如下: from BaseHTTPServer import

原创 用MFC操縱Excel

最近在做一個往Excel文件裏寫入數據的程序,研究了一下怎樣通過MFC操縱Excel,在這裏總結一下。 我想很多人在開始實現一個功能的時候會先去網上搜一下有沒有現成的代碼可供使用,可是從網上找到的代碼肯定是不能直接跑的(我從來沒有遇到可以

原创 C#異常報錯-問題記錄

問題一:.未經處理的異常:  System.TypeLoadException: 程序集xxx中的類型xxx的方法xxx沒有實現。 異常提示: “未經處理的異常:  System.TypeLoadException: 程序集“AppSca

原创 python sched模塊學習(一):執行週期性任務

前言 有時候你想只一個線程每過一段時間執行一個任務(函數),但是又不想使用while循環加time.sleep(),可以使用sched模塊實現,能提供良好的可擴展性。   sched是什麼 sched模塊實現了一個時間調度程序,該調度程序

原创 利用OpenMP實現並行快速排序算法

主要利用了OpenMP裏面的#omp parallel sections將對兩個子數組的快速排序函數用兩個線程並行化執行,至於線程的創建和銷燬我們不用管,只要告訴編譯器哪裏的代碼需要並行執行就可以了,具體請看OpenMP資料。 #

原创 Python線程編程(一)線程對象

轉載自sqllite中文站,python開發 作者:博命生涯  來源:www.sqlite.com.cn  時間:2007-11-1    我們在做軟件開發的時候很多要用到多線程技術。例如如果做一個下載軟件象flashget就要用到、象在