原创 UNIX環境下,如何實現dup2函數,不允許調用fcntl?

這是unix編程環境第三章的一個題目,前段時間翻了下,發現這個題目還有點小意思,而且網上也沒什麼全面的答案。 先補充幾個概念:   文件描述符:內核(kernel)利用文件描述符(file descriptor)來訪問文件。文件描述符是非負

原创 殺死locked的mysql進程shell腳本

前段時間測試機上的數據庫出問題,好幾十個操作鎖死,一個個kill掉簡直會讓人瘋掉,後來直接重啓了mysql,閒來無事,寫了個kill掉mysql進程的shell腳本。代碼如下:     #!/bin/sh mysql_cmd=mysql; 

原创 分析wget與curl發送web請求方式的區別

首先申明標題黨! 前幾天,有一張圖片訪問404(從第三方站點拉去),後來查到原因是下載超過5s(wget帶了超時參數--timeout=5),所以下載失敗。但是直接訪問原圖又是非常快,基本感覺不到延時。開始懷疑是服務器網絡原因,用host獲

原创 一致性hash算法 - consistent hashing

一致性 hash 算法( consistent hashing ) 張亮 consistent hashing 算法早在 1997 年就在論文 Consistent hashing and random trees 中被提出,目前在 c

原创 php快速排序算法

第一種實現,從數組一頭便利,平均時間複雜度nlog(n),極端情況下,數組爲倒序,此時時間複雜度退化成n2。   function quick_sort(&$arr, $lower, $upper) {     if($lower >= $

原创 關於UTF-8

記得剛畢業那會兒筆試有一個題目大概是這樣的: 填寫一個漢字的各個編碼的字節數和位數: 編碼格式 佔字節數 所佔位數 GBK     UTF-8     當時毫不憂慮的寫了GBK:2字節16位 ,UTF-8:3字節24位。

原创 我的友情鏈接

風雪之隅

原创 shell預定義變量

總記不住,寫blog裏,好找! $# 表示位置參數的數量 $* 表示所有位置參數的內容(參數內容合在一起) $@表示所有位置參數的數量(但是使用時加引號返回每個參數) $-顯示s h e l l使用的當前選項,與s e t命令功能相同 $?

原创 一致性hash算法 - consistent hashing

一致性 hash 算法( consistent hashing ) 張亮 consistent hashing 算法早在 1997 年就在論文 Consistent hashing and random trees 中被提出,目前在 c

原创 二分查找及其變種

上次寫個二分查找,錯誤百出,唉,還真如編程珠璣裏面說的,寫二分查找的人 90%都不會一次成功。深深的鄙視一下自己,貼一下二分的代碼,以及二分查找的變種代碼   //二分查找 function binary _search($search, 

原创 給定地圖上一個座標,如何快速確定離這個座標最近的幾個點?

RT:這個景點周圍還有多少個其它的景點,這個酒店周圍還有多少可供選擇的酒店,這個餐館周圍是否有其它更舒適的吃房地方,那麼給定一個座標,怎麼定位離他最近的幾個目標了!   數據表: 存儲各個目標的座標值 CREATE TABLE `map` 

原创 我的友情鏈接

風雪之隅

原创 squid日誌之access.log格式+內容

  Squid最重要的日誌文件就是訪問日誌,其訪問路徑爲“/var/log/squid/access.log”。該日誌文件記錄了客戶使用代理服務器的許多有用信息,包括使用時間、請求的內容、客戶端信息等。該文件的格式如下: time ecl

原创 假如瀏覽器收到兩個location頭,它會怎麼辦?

前段時間寫代碼,header輸出兩個location的頭。   我理所當然的以爲第一個location之後,就已經跳轉到另一個頁面了。唉,無知真可怕啊!後來的結果是以第二個location爲準!   程序輸出了兩個location,但是到客

原创 關於mysql的replace,我不得不說的幾句,還有延時插入

除了普通的INSERT外,mysql還多了一個REPLACE,關於他網上的帖子太多了,基本上這麼開頭: 在向表中插入數據的時候,經常遇到這樣的情況:1. 首先判斷數據是否存在; 2. 如果不存在,則插入;3.如果存在,則更新。 其實個人覺