原创 linux popen函數簡單實例

Linux 中的popen機制可以在程序中執行一個shell命令,有兩種操作模式,分別爲讀和寫。在讀模式中,程序中可以讀取到命令的輸出,其中有一個應用就是獲取網絡接口的參數。在寫模式中,最常用的是創建一個新的文件或開啓其他服務等。 <s

原创 基於互斥鎖同步機制的Linux共享內存簡單實例

Linux共享內存是Linux系統中進程間通信的一種方式,但是沒有相應的同步機制,本文通過進程間的互斥鎖實現一種簡單的共享內存實例,僅供入門學習。 sm_common.h:#ifndef __SM_COMMON_H__ #define _

原创 Linux Sqlite基本操作

安裝sqlite3(ubuntu)命令 apt-get install sqlite3 打開數據庫 #sqlite3 my.db 查看數據庫 sqlite>.database 查看建表語句 sqlite>.schema mytable 退

原创 Linux C 可變參數的簡單例子

可變參數函數是C語言編程中非常有用的一個功能,在日誌打印模塊有較多出現, 下面是一個簡單例子: <span style="font-size:18px;">include <stdio.h> #include <stdarg.h>

原创 Linux線程池使用實例

struct job { void* (*callback_function)(void *arg); //線程回調函數 void *arg; //回

原创 Linux C內存池的實現

在編程中,爲了避免由於頻繁的malloc/free產生內存碎片,通常會在程序中實現自己的內存管理模塊,即內存池。內存池的原理:程序啓動時爲內存池申請一塊較大的內存,在程序中使用內存時,都由內存池進行分配,不再使用的內存交給內存池回收,用於

原创 IP報文中的校驗和函數實現

//本函數 爲CRC16校驗 //data爲數據地址,len爲長度 static int icmp_cksum(void *data, int len) {int nleft = len;uint16_t *data_tmp = (uin

原创 Linux IPv6網絡編程之UDP實例

本文簡單介紹了IPv6中的UDP socket編程,包括IPv6協議、地址在編程中的使用及轉換。 <span style="font-size:18px;">server.c: #include <stdio.h> #include <

原创 《人月神話》之讀後感想

讀了Brooks的《人月神話》一書,很有感觸,記錄下自己印象深刻的觀點並結合自己的職場經驗分析一下。 0. 人月神話      在閱讀《人月神話》之前,只理解“人月”是指項目時間安排的單位,沒太注意“神話”的含義。通讀了全文後,才懂了其中

原创 我的軟考旅程之系統架構設計師考試

    2016年,那是一個春天,一個偶然的機會在地鐵上見到同事拿着一本信息系統管理師的教材,眼睛一亮:難道是什麼認證。回到住處後上網查了下,才知道軟件行業有很多資格(水平)考試。由於自己是做服務器開發的,結合自己的職業發展,決定考個系統

原创 Awk學習(一)之基本使用

  一、基本知識 NR: 文件中記錄個數 NF:每一行分割後的字段個數   二、測試文件內容 test.txt: zhangsan  20 lisi      19 wangwu    21 三、測試結果 1.  awk '{print

原创 Linux C希爾排序算法實現

希爾排序(Shell's Sort)是插入排序的一種又稱“縮小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一種更高效的改進版本。希爾排序是非穩定排序算法。該方法因D.L.Shell於1959年提

原创 Linux C 歸併排序算法實現

歸併排序的思想來源於瑞士輪賽制(因最早使用於1895年在瑞士舉辦的國際象棋比賽而得名),主要有分爲兩種,一種是從上到下(源碼中的merge_sort_1, 即按分爲n/2、n/4.... 部分的順序合併),一種是從下到上(源碼中的merg

原创 Openresty學習(十):Nginx內部變量的增加和使用

在Openresty學習(九)基礎上,定義新的內部變量my_method(表示請求的方法),增加對請求方法的檢查。   配置:         location /hello {             default_type tex

原创 Openresty學習(九):Nginx 基於內部變量的HTTP版本檢查模塊

Nginx內部變量是nginx內部定義的變量,可以表示請求的一些屬性,極大的方便了模塊的開發和使用配置。   本文使用內部變量,實現一個請求協議檢查模塊,符合指定協議版本的請求才能訪問nginx.   配置:         locati