原创 static、extern、volatile作用

static:作用:1.進行內部鏈接指定(將全局變量或者函數限定爲僅在本文件內可用)。          2.改變局部變量的生命週期。          3.改變存儲類型使得局部變量由原來的棧上改變爲靜態區,在整個程序結束才釋放。    

原创 進程間通信——消息隊列(Message queue)

在Linux中,IPC消息隊列是一個雙向通信的全內存設計,即內核保證了讀寫順序和數據同步,並且是性能比較好的先進先出的數據結構。消息隊列的應用場景:比如異步任務處理,搶佔式的數據分發,順序緩存區等。消息隊列的產生原因消息隊列其實就是消息傳

原创 經典的測試面試題(詳細)

1.給你一個網站,如何測試? 首先,查找需求說明書,網站設計等相關文檔,分析測試需求。 制定測試計劃、確定測試範圍和測試策略,一般可以包括以下幾個部分:功能測試、界面測試、性能測試、數據庫測試、安全性測試、兼容性測試。 設計測試用例: 功

原创 測試用例設計——微信發朋友圈(詳細)

對於一個待測試的對象,我們通常通過以下幾個方面來進行測試:功能測試、可靠性測試、易用性測試、效率、可維護性、可移植性、安全性測試、界面測試等。 本文將其分成兩個方面來看: (1)站在測試人員的技術測試角度(功能測試、可靠性測試、兼容性、可

原创 MySQL基礎篇(詳細)

一、MySQL數據庫基礎 1.什麼是數據庫? 高效的存儲和處理數據的介質(介質主要是兩種:磁盤和內存) 2.目前主流的數據庫有哪些? SQL Server:微軟產品,.Net程序員的最愛,中大型項目; Oracle:甲骨文產品,Ja

原创 軟件測試的基本流程(詳細)

軟件測試的基本流程: 需求分析階段:閱讀需求,理解需求,分析需求點,參與需求評審會議。 測試計劃階段:主要任務就是編寫測試計劃,參考軟件需求規格說明書,項目總體計劃,內容包括測試範圍,進度安排,人力物力分配,整體測試策略的制定。 編寫測試

原创 基於Huffman樹的文件壓縮(詳細)

文件壓縮 開發平臺:Visual Studio 2008 開發技術:哈夫曼樹,堆排序 項目流程: (1)統計要壓縮的文件中各字符出現的次數,利用數據結構中的小堆來構建Huffman樹,每次在堆頂選出兩個出現次數較小的字符先進行構建,將它們

原创 如何編寫測試用例?(詳細分析)

一、概念 1.什麼是測試用例? 爲了實施測試而向被測系統提供的一組集合; 2.測試用例的作用? 檢驗軟件是否滿足用戶的需求,體現一個測試人員的工作量、展現測試用例的設計思路; 3.測試用例包含哪些內容? 用例編號、用例名稱、測試背景、前置

原创 排序算法(七大經典排序算法)

排序算法在我們的現實生活中應用非常廣泛,我們應該很好的掌握。下面我們將對7種常見算法逐個進行介紹: 常見的排序算法: 1.插入排序 (1)直接插入排序 思路分析: 思路分析: ①在長度爲N的數組,將數組中第i  [1~(N-1) ] 個

原创 開發模型和測試模型

軟件的生命週期 軟件的生命週期是指:從軟件產品的設想開始到軟件不再使用而結束的時間。 軟件的生命週期分爲六個階段:需求分析、計劃、設計、編碼、測試、運行維護。 開發模型 1.瀑布模型(Waterfall Model) 適用場景:適合需求

原创 線程安全與可重入函數的區別與聯繫

線程安全線程安全是多個線程訪問時,採用了加鎖機制,當一個線程訪問該類的某個數據時,進行保護,其他線程不能進行訪問直到該線程讀取結束並且釋放了鎖,其他線程纔可使用,保證了數據的一致性。與之對應的則是線程不安全,對數據的訪問不提供保護機制,導

原创 生產者消費者模型(一)——模擬單線程的互斥與同步

在現實的軟件開發過程中,經常會碰到如下情景:某個模塊負責產生數據,這些數據由另外一個模塊來負責處理(此處的模塊是廣義的,可以是類、函數、線程和進程等)。產生數據的模塊稱之爲生產者,而處理數據的模塊就是消費者。條件變量在正式開始生產者與消費

原创 mini聊天室(Linux下基於UDP實現的羣聊系統)

一.原理 (1)客戶端從標準輸入讀取數據,將數據序列化後發送至網絡; (2)服務器端使用多線程+生產者消費者模型; 生產者從網絡中讀取數據,並將讀取到的用戶信息添加至用戶列表,將數據放至數據池中; 消費者從數據池讀取數據,並廣播給所有在

原创 static關鍵字的作用

內存分區 1)堆:由程序員手動分配和釋放,完全不同於數據結構中的堆,分配方式類似鏈表,若程序員不釋放,程序結束時由系統釋放。 2)棧:由編譯器自動分配和釋放,存放函數的參數值、局部變量的值等,操作方式類似數據結構中的棧。 3)全局(靜態)

原创 一次完整的HTTP請求

一次完整的HTTP請求所經歷的7個步驟 1.建立TCP連接 在HTTP工作開始之前,Web瀏覽器首先要通過網絡與Web服務器建立連接,該連接是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此I