原创 說說可重複函數(Reentrant) 和線程安全(thread-safe)的區別與聯繫

在講可重複函數與線程安全之前先來了解什麼是可重複函數和線程安全。可重複函數:在多線程或有異常控制流的情況下,當某個函數運行到中途時,控制流(也就是當前指令序列)就有可能被打斷而去執行另一個函數.而"另一個函數"很有可能是它本身.,如果在這種

原创 vim查找/替換字符串

vi/vim 中可以使用 :s 命令來替換字符串。該命令有很多種不同細節使用方法,可以實現複雜的功能,記錄幾種在此,方便以後查詢。   :s/vivian/sky/ 替換當前行第一個 vivian 爲 sky   :s/vivian/sky

原创 簡單實現一個守護進程(Daemon)

學習進程就不得不提到一個運行在後臺的特殊進程——守護進程。(也稱精靈進程)。Linux系統啓動時會啓動很多系統服務進程,這些系統服務進程沒有控制終端,不能直接和用戶交互。其它進程都是在用戶登錄或運行程序時創建,在運行結束或用戶註銷時終止,但

原创 簡析路由表的建立策略與算法

路由表概念:路由(名詞)——>數據包從源地址目到的地址所經過的路徑,由系列路由節點組成。路由(動詞)——>某個路由節點爲數據報選擇投遞向的選路過程。路由結點——>個具有路由能的主機或路由器,它維護張路由表,通過查詢路由表來決定向哪個接發送數

原创 細說HTTP中POST與GET的區別與聯繫

Http定義了與服務器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認爲:一個URL地址,它用於描述一個網絡上的資源,而HTTP中的GET,POST,PUT,DELET

原创 淺談IP分片和組裝的原理

分片是分組交換的思想體現,也是IP協議解決的兩個主要問題之一。在IP協議中的分片算法主要解決不同物理網絡最大傳輸單元(MTU) 的不同造成的傳輸問題。但是分組在傳輸過程中不斷地分片和重組會帶來很大的工作量還會增加一些不安全的因素。IP分片是

原创 shell腳本的語法練習

進度條       計算0到100的所有偶數之和方法一:方法二:       求一個正整數數組中最大值、最小值和平均值        可以看出該數並沒有將平均值精確到小數,可以對程序進行修改:        shell中我們可以利用計算工具

原创 淺析grep工具相關選項及正則表達式

grep是linux下一個重要的文本處理工具之一,全稱是Globel Search Regular Expression and Printing out the line(全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,是一個

原创 迭代器——STL關鍵所在

迭代器基本介紹:STL的設計中心思想在於:將容器和算法分開,彼此獨立設計,最後再以一個膠合劑連接在一起。而算法和數據容器的泛型化從技術角度來說並不難實現,而如何將兩者聯繫起來纔是問題的關鍵所在。而迭代器恰恰扮演者這個角色。迭代器定義的位置最

原创 淺析crontab命令

 crontab命令用於設置週期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中,以供之後讀取和執行。cron 系統調度進程。 可以使用它在每天的非高峯負荷時間段運行作業,或在一週或一月中的不同時段運行。c

原创 shell腳本中相關命令剖析

` `和$()之間的區別:在bash中,$( )與` `(反引號)都是用來作命令替換的。命令替換與變量替換差不多,都是用來重組命令行的,先完成引號裏的命令行,然後將其結果替換出來,再重組成新的命令行。兩個命令達到的效果相同,但建議使用$()

原创 vim查找/替換字符串

vi/vim 中可以使用 :s 命令來替換字符串。該命令有很多種不同細節使用方法,可以實現複雜的功能,記錄幾種在此,方便以後查詢。   :s/vivian/sky/ 替換當前行第一個 vivian 爲 sky   :s/vivian/sky

原创 Linux下五種IO模型詳解

在Linux下有五種IO模型,分別是:阻塞IO模型、非阻塞IO模型、IO複用模型、信號驅動IO模型和異步IO模型。接下來就來細說下這五種模型。(一)阻塞IO模型:       在linux中,默認情況下所有的socket都是阻塞模型。應用程

原创 socket編程之TCP服務器

在學習網絡的時候,socket編程是一個重點。socket有很多種概念: 在TCP/IP協議中,“IP地址+TCP或UDP端口號”可以唯一標識網絡通訊中的一個進程,“IP地址+端口號”就稱爲socket。  在TCP協議中,建立連接的兩個進

原创 shell腳本學習整理(一)

什麼是shell腳本?Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比Windows下的批處理更強大,比用其他編程程序編