原创 五種I/O模型簡述

在說I/O模型之前,我們先來說說同步,異步,阻塞,非阻塞這四種調用方式的概念:       同步:在發出一個功能調用時,在沒有得到結果之前,該調用就不返回,通俗點就是必須一件一件的做事,等這件事做完了才能做下一件事;       異步:異步

原创 把數組排成最小(大)的數

       這是一道經典的面試題,初次看到這道題我們可能會想到全排列,然後把每個排列拼起來,最後我們求出拼出來的最小值就可以了,下面我們說一種更快的算法。       其實我們可以找出一種排序規則,數組根據這個排序規則就能排成一個最小的數

原创 grep命令常用參數

       grep是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。常用的有grep,egrep,fgrep。它們的區別如下:              grep:在沒有參數的情況下,只能輸出符合RE(regu

原创 mysql之事務

我們先來說說什麼是事務:       事務就是邏輯上的一組操作,組成這組操作的各個單元,要不全都成功,要不全都失敗。一個事務是一個連續的一組數據庫操作,就好像它是一個單一的工作單元進行。換言之,永遠不會是完整的事務,除非該組內的每個單獨的操

原创 dup和dup2函數

       我們都知道,一個進程在存在期間,會有一些文件被打開,從而會返回一些文件描述符,從shell中運行一個進程,默認會有3個文件描述符存在,即0,1,2.0與進程的標準輸入相關聯,1與進程的標準輸出相關聯,2與進程的標準輸出錯誤相關

原创 基於UDP的socket客戶服務器編程

       前面我們寫了關於TCP的客戶/服務器模式,現在我們寫關於UDP的客戶/服務器模式。       基於TCP編寫的應用程序和基於TCP編寫的應用程序之間存在一些本質的差異,其原因在於這兩個傳輸層之間的差別:UDP是無連接不可靠的

原创 mysql之觸發器

       觸發器是一種 特殊的存儲過程,不同的是存儲過程要用CALL來調用,而觸發器不需要使用CALL也不需要手工啓動,只要當一個預定義的事件發生時,就會被MYSQL自動調用。它在插入,刪除或修改特定表中的數據時觸發執行,它比數據庫本身

原创 關於mysql的索引

我們先來了解MYSQL索引的概念:       索引是一種特殊的文件,他們包含着對數據表裏所有記錄的引用指針。更通俗地說,數據庫索引好比是是一本書前面的目錄,能加快數據庫的查詢速度,我們有了相應的索引後,數據庫會直接在索引中查找符合條件的選

原创 select---基於TCP客戶/服務端編程

我們先來說說最重要的函數select這個函數,它的原型如下:       int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timev

原创 socketpair函數詳解

我們先來看看socketpair函數的原型如下:      int socketpair(int domain,int type,int protocol,int sv[])      第一個參數表示協議族,必須爲AF_LOCAL;