原创 git配置

第一步,安裝git: $ sudo apt-get install git 第二步,創建一個git用戶,用來運行git服務: $ sudo adduser git 第三步,創建證書登錄: 收集所有需要登錄的用戶的公鑰,就是他們自己的id

原创 mongodb shell問題

1、MongoDB Shell中退格鍵使用的問題。 利用SecureCRT工具訪問linux的時候,在使用MongoDB的交互式shell的時候,退格鍵(Backspace)無法使用,導致無法修改輸入的字符。爲這個錯誤,廢了好長時間的

原创 linux通過端口號查看進程名

iftop -i eth0 -P //查看網絡流量 iftop -F 10.6.29.222/255.255.255.255 -NPB  方法一 1.通過lsof命令查看PID 1.1、簡單而實用的查看 [root@test proc]

原创 mongodb數據文件格式(一)

有人在Quora上提問:MongoDB數據文件內部的組織結構是什麼樣的。隨後10gen的工程師Jared Rosoff出來做了簡短的回答。 每一個數據庫都有自己獨立的文件。如果你開啓了directoryperdb選項,那你每個庫的文

原创 socket程序listen之後,不寫accept函數,會是怎樣一種情況?

int listen(int sockfd, int backlog); 不accept 最大的監聽個數就是這個backlog了 因爲一直沒有accept,所以這個裏的隊列會一直在,不會減少雖然這個backlog是可以手動設置的,但是li

原创 mysql5.7在win下安裝

win7 64位下如何安裝配置mysql-5.7.5-m15-winx64 距離上次安裝MySQL已經過去好久了。步驟這些,有可能會忘記。簡單記錄一下吧。(參考了一些網絡上的博客。) 1.mysql-5.7.5-m15-winx

原创 Sublime Text 2支持GB2312和GBK,解決中文顯示亂碼問題

Sublime Text 2是一個非常不錯的源代碼及文本編輯器,但是不支持GB2312和GBK編碼在很多情況下會非常麻煩。不過Sublime Package Control所以供的插件可以讓Sublime Text 2幾乎完美地支

原创 linux nc命令使用詳解

功能說明:功能強大的網絡工具 語 法:nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][

原创 Redis在遊戲服務器中的應用

Agent`K 最近在使用Redis,忽然發現以前很多費神的事情都迎刃而解了,又應了經典:我們要做的99%的事情,別人都早已做過了! (掃盲:Redis是內存型、鍵值對型數據庫,獨立運行,不是第三方庫) 排行榜 遊戲服務器中涉及到

原创 產生N個不重複的隨機數的快速算法

    int startArray[] = {0,1,2,3,4,5,6,7,8,9};//seed array       int N = 10;//隨機數個數       int resultArray[] = new int [1

原创 《深入應用C++11:代碼優化與工程級應用》勘誤表

《深入應用C++11:代碼優化與工程級應用》勘誤表,會不斷更新,歡迎讀者留言或發郵件([email protected])給我提出寶貴意見。 1.第7.3節目錄final和override關鍵字應該改爲標識符; 這個問題由園友“李奧霍克

原创 c++實現讀寫共享鎖

一、使用互斥鎖和條件變量實現讀寫鎖: [cpp] view plaincopy class readwrite_lock   {   public:       readwrite_lock()          

原创 linux下函數調用棧Backtraces函數

Backtraces A backtrace is a list of the function calls that are currently active in a thread. The usual way to inspect

原创 二分查找算法

int binary_search(int* a, int len,int goal) {int low=0;int high= len-1;while(low<= high){int middle= (low+ high)/2;if(a

原创 function_traits

template<class F> struct function_traits { private: using call_type = function_traits < decltype(&F::operator()) >