原创 select,epoll,poll比較

select select本質上是通過設置或者檢查存放fd標誌位的數據結構來進行下一步處理。這樣所帶來的缺點是: 1 單個進程可監視的fd數量被限制 2 需要維護一個用來存放大量fd的數據結構,這樣會使得用戶空間和內核空間在

原创 玩轉CPU Topology

先溫習幾個概念 請原諒對部分術語筆者直接引用了wikipedia上的英文解釋,因爲哥實在做不到比wikipedia上更準確描述。我會試着解釋部分的術語,並在本節的最後梳理一下這些術語之間的關係。注意,筆者對由於不準確的描述導致的性能下

原创 近期要讀的書

1.文明之光 2.數學之美 3.方法論 4.如何閱讀一本書 5.三體

原创 Linux 多線程

Linux 平臺上的多線程程序開發相對應其他平臺(比如 Windows)的多線程 API 有一些細微和隱晦的差別。不注意這些 Linux 上的一些開發陷阱,常常會導致程序問題不窮,死鎖不斷。本文中我們從 5 個方面總結出 Linux 多

原创 爲Python添加默認模塊搜索路徑

把自己寫的模塊加入到python默認就有的搜索路徑: 在python/lib/python2.5/site-packages目錄下建立一個 xxx.pth的文件,寫入自己寫的模塊所在的路徑即可

原创 google test

github:https://github.com/smarr/googletest toturial:https://code.google.com/p/googletest/wiki/Primer 單元測試:是指對軟件中的最小可測試

原创 網絡字節序、主機字節序、大端與小端

網絡字節序與主機字節序 不同的CPU有不同的字節序類型 這些字節序是指整數在內存中保存的順序 這個叫做主機序 最常見的有兩種 1. Little endian:將低序字節存儲在起始地址 2. Big endian:將高序字節存儲在起始地

原创 gdb調試技巧

set print element 0 設置打印全部內存信息

原创 常見網絡編程問題

1:tcp和udp的區別 2:流量控制和擁塞控制的實現機制 3:滑動窗口的實現機制 4:多線程如何同步。 5:進程間通訊的方式有哪些,各有什麼優缺點 6:tcp連接建立的時候3次握手的具體過程,以及其中的每一步是爲什麼 7:t

原创 CSRF攻擊

一.CSRF是什麼?   CSRF(Cross-site request forgery),中文名稱:跨站請求僞造,也被稱爲:one click attack/session riding,縮寫爲:CSRF/XSRF。 二.CSRF

原创 w+與r+等的區別

r+: Open for reading and writing.  The stream is positioned  at  the beginning of the file. w+:Open for reading and w

原创 文明之光閱讀摘抄與思考

藉着組裏的經費買了一套文明之光,花了一個星期將書啃完,總得來說覺着第一本很贊,後兩本質量有所下降,重複的話實在太多,總體評價8分,從事科研和互聯網行業的推薦看下這本書。 由於個人研究生期間更多做的是工程的東西,所以科研能力很弱,入職8個

原创 擴展Django:實現自己的manage命令

我們都用過Django的django-admin.py和manage.py。django-admin.py是一個命令行工具,可以執行一些管理任務,比如創建Django項目。而manage.py是在創建每個Django project時自

原创 在 Mac OS X 終端裏使用 Solarized 配色方案

相信長期浸泡在終端和代碼的小夥伴們都有一套自己喜愛的配色方案。以前一直在用簡單、適合閱讀的 Terminal.app 配色方案,換到 MacBook Pro with Retina display 後發現這個配色時間看長了眼睛有點累。

原创 NUMA架構

最近在學習.NET的並行計算技術,學到一個服務器NUMA架構,NUMA架構在中大型系統上一直非常盛行,也是高性能的解決方案,在系統延遲方面表現都很優秀。Windows一向都沒有在NUMA架構上有多少表現機會,AMD的多路系統大多也會用在