原创 ~分析apue程序清單4-7 遞歸降序遍歷目錄層次結構,並按文件類型計數 。

爲了便於程序的分析,我把原ftw4.c中用到的程序清單2-3(Figure 2.15)直接放到ftw4.c後面,形成新的ftw4.c源程序。爲了配合該程序,建立了目錄:/home/joe/music/rock,其結構如下:(其中目錄MJ

原创 linux c/c++ 聊天小程序代碼示例 (使用socket 和 IO 多路複用技術)

客戶端 1 頭文件 common.h   #ifndef _CHAT_ #define _CHAT_ #include <stdio.h> #include <stdlib.h> #include <unistd

原创 APUE進程環境小結

    一.main函數是如何被調用的        內核執行C程序時,在調用main函數前先會調用一個特殊的啓動例程。可執行程序文件將此啓動例程指定爲程序的起始地址。啓動例程從內核取得命令行參數和環境變量值,然後爲按上述方式調用 mai

原创 實際用戶ID,有效用戶ID和設置用戶ID

實際用戶ID,有效用戶ID和設置用戶ID       看UNIX相關的書時經常能遇到這幾個概念,但一直沒有好好去理清這幾個概念,以致對這幾個概念一直一知半解。今天好好區分了一下這幾個概念並總結如下。說白了這幾個UID引出都是爲了系統的權限

原创 LRUCache

Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations:

原创 socket review

從上學期到現在三個月學Java,Android去了,發現Linux下的東西很多都快忘了,最近準備複習一下網絡編程 TCP三路握手與套接字鏈接過程關係如下圖 TCP中產生RS(表示復位)的三個條件: 1).目的地爲某端口的

原创 Hbase僞分佈式安裝

hadoop 2.4.1 hbase 0.98.2 弄了一整天 各種錯誤。終於搞定了。 1.下載解壓 設置環境變量略 然後設置conf/hbase-env.sh # The java implementation to use.

原创 Epoll詳解

什麼是epoll epoll是什麼?按照man手冊的說法:是爲處理大批量句柄而作了改進的poll。當然,這不是2.6內核纔有的,它是在2.5.44內核中被引進的(epoll(4) is a new API introduced i

原创 高性能IO設計的Reactor和Proactor模式

在高性能的I/O設計中,有兩個比較著名的模式Reactor和Proactor模式,其中Reactor模式用於同步I/O,而Proactor運用於異步I/O操作。          在比較這兩個模式之前,我們首先的搞明白幾個概念,什麼

原创 線程池小結

線程池技術 在linux系統中,採用多線程機制可以實現服務器的併發請求,但對於高併發服務器而言,這裏面存在一個致命的安全隱患。因爲系統每創建一個線程,都會爲該線程分配一定的系統資源,所以一個進程創建的子線程數是有限制的,如果在同一時刻有大

原创 String to Integer(atoi)

字符串轉換爲整數 要考慮很多種可能的輸入並妥善處理,跳過前導空格。 空串,只有正負號返回0。 若字符串中有不是數字的,則返回之前已經轉換好的數字部分對應的整數。 還要判斷轉換的整數是否會溢出,若溢出則返回最大或最小的整數。 int

原创 Vim 多窗口操作

一.命令行多窗口參數        vim -o file1 file2 ...  #水平打開多窗口,     vim -O file1 file2 ...  #垂直打開多窗口,     vim -d file1 file2 .

原创 手持兩把錕斤拷,口中疾呼燙燙燙

手持兩把錕斤拷,口中疾呼燙燙燙。 棍斤拷亂碼: 源於GBK字符集和Unicode字符集之間的轉換問題。Unicode和老編碼體系的轉化過程中,肯定有一些字,用Unicode是沒法表示的,Unicode官方用了一個佔位符來表示這些文字

原创 qtcreator常用命令

F1        查看幫助F2        跳轉到函數定義(和Ctrl+鼠標左鍵一樣的效果)Shift+F2    聲明和定義之間切換F4        頭文件和源文件之間切換Ctrl+1         歡迎模式Ctrl+2    

原创 簡單vector實現

參考 c++ primer 5th ,stl 源碼剖析 // myVector.cpp : 簡單的vector實現。 // #include "stdafx.h" #include <iostream> #include <initia