原创 推薦一本介紹linux調試方法的書

我覺這本書對於linux調試非常有用,裏面介紹了幾乎所有常用的調試軟件和方法。 每一種軟件/方法都給出了簡單的介紹,但並不非常具體。 可以從這本書出發,當涉及到其中某些軟件和方法的時候,再去google和baidu. 網上有chm的版本下

原创 Linux中ipv6代碼閱讀(4)

  四、從用戶空間到內核空間 在內核空間,跟socket相關的調用都是在sys_socketcall()函數裏面。入口函數就是asmlinkage l

原创 互聯網設計之關鍵:一切服務皆可路由

       對於互聯網服務的架構設計,覺得最重要的一條就是:一切服務皆可靈活路由。只要做到這一點,那麼你的架構就成功了一大半了。你的服務就可以從幾千人動態擴展到上億人,可以不停的增加新的應用,提供新的功能, 所需要的僅僅是不停的增加機器

原创 架構設計的檢查表

像《C++沉思錄》中的“類的設計者審查表”一樣,寫一個“程序架構設計的檢查表”。以後做一個新的程序或者維護一個程序的時候,拿出來對比檢查一下。看哪些地方可以改進。都是多年程序設計的總結,雖然框框很大,沒有具體細化,但確實是經驗和教訓的總結

原创 Linux網絡編程socket錯誤分析

更多軟件和算法問題,請關注微信公衆號號:  軟件面試加油站,掃描下面二維碼可關注. ///////////////////////////////       以下正文 ////////////////////////////

原创 oasis文件中的數據類型

  Chapter 1  oasis文件簡介 oasis是用來表示光刻版圖的一種文件格式,上面記錄了光刻圖案。作爲gdsii文件的替代格式,和gdsii類似是一種流格式的文件。一般性的介紹可以google到。這裏就不再累述。 這

原创 朝覲華爲

  很早很早寫的一個blog,封在msn日誌裏面。在這裏翻出來。 朝覲華爲(1)          用這個題目有點誇張,但我想也是恰當的。因爲華爲是中國科技的一座豐碑。     我不是華爲的託,與華爲也沒有任何利益瓜葛。只所以

原创 (轉)無鎖編程:Lock-Free Data Structures

原文地址:http://www.drdobbs.com/184401865  By Andrei Alexandrescu, October 01, 2004 另外,在http://www.audiomulch.com/~rossb/co

原创 堆排序算法

堆排序堆排序是一種選擇排序。是不穩定的排序方法。時間複雜度爲O(nlog2n)。堆排序的特點是:在排序過程中,將排序數組看成是一棵完全二叉樹的順序存儲結構,利用完全二叉樹中雙親節點和孩子節點之間的內在關係,在當前無序區中選擇關鍵字最大(或

原创 單向hash函數

網上摘錄的,自己給自己留個標記。   散列函數 又稱hash函數,Hash函數(也稱雜湊函數或雜湊算法)就是把任意長的輸入消息串變化成固定長的輸出串的一種函數。這個輸出串稱爲該消息的雜湊值。一般用於產生消息摘要,密鑰加密等. 一個安全

原创 linux一個漏洞的分析

程序最早是國外的大佬寫的。這個漏洞的原理非常簡單,就是利用coredump的時候,可以在/etc/cron.d目錄下生成core文件。而在/etc/cron.d目錄下的文件,crontab會定時以指定的用戶權限來執行。如果在core文件中

原创 GUI測試開發環境設置(1)

開發環境是vs2008+wxWidgets+cppunit+swWxGuiTesting+DialogBlocks.這是一個非常有用的GUI開發環境配置。 同時增加了幾個庫:loki,openssl。 下面各個文件都解壓安裝在C盤。根據需

原创 Linux中ipv6代碼閱讀(2)

二、在網絡層的處理 這部分是說明數據報文在網絡層的處理。上面一部分已經說明了在鏈路層的處理。在鏈路層的處理,基本都是在驅動中已經實現了的。接着鏈路層的處理,對於ipv6協議,處理過程在ipv6_recv()中。 1. ipv6_rcv()

原创 用腳本處理日誌文件

在linux中經常需要處理日誌文件。主要是從日誌文件中進行格式匹配,提取一些數據,然後對這些數據進行運算。 某日誌文件test.log內容如下,要提取出Uin=xxxxx中的xxxxx。由於沒有標準的一列一列的,用awk不好處理。直接用s

原创 tcp 協議3次連接握手和4次結束握手

 協議連接建立時3次握手的過程4次結束連接   TCP協議連接建立時3次握手的過程。 簡述TCP協議連接建立時3次握手的過程。 根據TCP頭部,說明下列3個包在連接建立過程中的次序. 0020        00 50 83