原创 生成包含隨機字符串的文件的腳本

#!/bin/sh   #sh make_random_strings 16 10000   #make 10000 strings, the string length:16      for((j=0; j<$2; j++))  

原创 如何去除utf-8字符串裏頭的非法字符

在開發的過程中碰到了在utf-8的字符串裏頭有非法字符的問題,搜了下,有不少人遇到了相同的問題。 有種方法是使用iconv,iconv.open("UTF-8", UTF-8//IGNORE"),由於要處理的字符長度變化幅度大,每次轉換需

原创 sourceinsight的幾個技巧

1. 去掉文件名顯示的時候首字母大寫 在Options->Preference->display裏頭,勾上Show exact case of file names 2. 只包含某些類型的文件。有時候一個項目有很多文件,c/c++/h/h

原创 生產者和消費者處理能力匹配的問題

最近碰到一個問題,生產者產生的內容需要儘快被消耗掉(發送出去),簡單說就是處理的延遲要儘量小。 一開始,生產者是多個thrift server啓動的worker thread,比如生產者的線程數是10,而消費者線程是1(因爲要限速,啓動了

原创 DNS和bind9相關

最近在折騰bind9,順帶看了域名解析相關的東西,發現幾個網站很不錯 http://www.madboa.com/geek/dig/  這個網頁把dig的用戶說得很透徹,有意思的是說到的dig xxx.com +trace能看到類似tra

原创 用gflags的好處

用gflags跟用配置文件相比,能實現的功能其實沒多大差別。但用gflags有個好處就是,很容易跟腳本結合在一起。比如最近筆者需要調用一個用了gflags的程序將某個文件裏頭的所有用戶都執行某個操作,這個應用程序如果不用gflags,則需

原创 mysql中文顯示問題

很多時候客戶端的字符集是latin1,不能接卸中文 mysql> SHOW VARIABLES LIKE 'character_set_%';  +--------------------------+------------------

原创 thrift non-blocking server在多線程下的處理流程

1. IOThread 只有io thread纔會使用libevent,如使用event_base_loop等函數。上層task要添加event,也得下到io thread的event_base上。 io thread 0的listenS

原创 如何在通信協議中傳輸浮點數

先來看一個錯誤: 125         if (get_uint32_from_tlv_chain(pTlvList, 31, &dwBaseScore) < 0) { LOG_BUG_RET(-1); } 126      

原创 構建線程類的2種做法

一種是構建一個基礎的thread類,run弄成純虛函數。當需要使用thread類的時候,繼承這個基礎的線程類,然後重載run()函數。 另一種是,任務弄成一個類,線程弄成另一個類。應用主要繼承任務類,重載任務類的run函數。典型的比如t

原创 一些花時間才寫好的腳本片段

刪除tmp001.txt的第一行重定向生成tmp002.txt,然後將insert.txt插入到tmp002.txt的第一行 ./dump_cat.sh > tmp001.txt;sed '1d' tmp001.txt >tmp002.t

原创 一些有用的c++編程片段

一、tokenizer,通常用於解析傳入的參數 typedef boost::tokenizer<boost::char_separator<char> > tokenizer;boost::char_separator<char> se

原创 how to build dnsperf

dnsperf是nominum提供的免費dns性能測試工具,ubuntu下面沒有現成的包,需要自己下載自己編譯 代碼地址:  ftp://ftp.nominum.com/pub/nominum/dnsperf/2.0.0.0/dnsper

原创 python如何修改文件權限

網上能查到一些,但很多都沒有講清楚怎麼獲取stat裏頭的mode以及怎麼只修改其中的一個位 做法如下: import stat   f_mode = os.stat(rndc_key_file).st_mode   logging.inf

原创 mysql幾個特殊有用的命令

show create table xxx; 顯示原始創建表的語句 select * from mysql.user\G 顯示mysql的賬戶信息。