原创 共享內存mmap

   mmap的是將文件指定的區域映射到內存緩衝區中,從緩衝區中讀取數據就相當於從文件中讀取相應數據,對緩衝區進行寫操作相當於寫入文件相應位置。 void *mmap(void *addr, size_t length, int pr

原创 C++併發實戰:面試題2:一道迅雷筆試題

題目:編寫一個程序,開啓3個線程,這3個線程的ID分別爲A、B、C,每個線程將自己的ID在屏幕上打印10遍,要求輸出結果必須按ABC的順序顯示;如:ABCABC….依次遞推。 採用C++11實現: #include<iostream>

原创 C++併發實戰:面試題4:生產者消費者試題blocking queue

生產者消費者問題 這是一個非常經典的多線程題目,題目大意如下:有一個生產者在生產產品,這些產品將提供給若干個消費者去消費,爲了使生產者和消費者能併發執行,在兩者之間設置一個有多個緩衝區的緩衝池,生產者將它生產的產品放入一個緩衝區中,消

原创 C++模板實戰9:標籤和策略類

1 在設計矩陣與矩陣相乘時後有三種情形:矩陣×矩陣,向量×矩陣,矩陣×向量。如果採用模板設計矩陣乘法並不能通過模板參數特化區分出三種情形,因爲模板參數本身沒有任何約束,導致無法區分重載。可以採用標籤的方式分辨重載,標籤是一個空類,其目的是

原创 write的多進程/線程安全性

   write系統調用將指定的內容寫入文件中,但是當多個進程/線程同時write一個文件時是會出現寫覆蓋的情形。 每個進程都有自己的緩衝區,write首先寫入該緩衝區,系統flush後纔將緩衝區內容寫入文件,從而導致了多個進程之間的寫操

原创 C++併發實戰:面試題1:一道多線程筆試題

題目:子線程循環 10 次,接着主線程循環 100 次,接着又回到子線程循環 10 次,接着再回到主線程又循環 100 次,如此循環50次,試寫出代碼。 #include<iostream> #include<thread> #incl

原创 Python核心編程筆記

Python解釋器從頭到尾一行接一行執行腳本 # -*- coding: UTF-8 -*-    //字符編碼 不區分單引號和雙引號,x=’hello’,x[0],x[-1]指最後一個字符,x[2:4]取子串, ‘’’hello’’’ 

原创 Python簡易的爬蟲

     用python寫一個簡單的爬蟲,爬取360搜索上的關於女友的聯想搜索,比如鍵入”蒼老師“,360搜索會給出什麼推薦的關鍵搜索: #coding:utf-8 import urllib import urllib2 import

原创 gedit和vim中文支持

   編輯~/.vimrc文件,加上如下幾行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set e

原创 Python學習筆記(Ubuntu)

1 安裝numpy: sudo apt-get install python-numpy 2 退出:quit() 3 numpy練習: from numpy import* random.rand(4,4)#生成一個數組 randMat

原创 C++模板實戰7:標準庫算法

    標準庫算法是函數模板,在這裏列舉部分庫算法: 1 搜索算法都是成功時返回第一個滿足條件的位置,失敗時返回末端迭代器。 1) find(i,j,v)//搜索[i,j)中第一個等於val的位置 2) find_if(i,j,pre

原创 機器學習實戰筆記:KNN

1 KNN算法:       優點:精度高,對異常值不敏感,無數據輸入假定        缺點:計算複雜度高,空間複雜度高       適用數據範圍:數值型和標稱型       算法原理:先給定訓練集A,當一個測試集樣本t,選擇t與A中距

原创 C++模板實戰6:迭代器

1 迭代器的類型:    輸入迭代器 、前向迭代器、雙向迭代器、跳轉迭代器以及輸出迭代器。這五種迭代器的限制條件從左至右越來越強。 2 輸入迭代器需滿足的條件: X u(a); X可複製構造 u=a; 可賦值 u==a; 可比較相等

原创 nginx筆記:紅黑樹

      看代碼前請先通過這裏下載一份wikipedia關於紅黑樹的介紹,我做了一些批註,結合上面的內容看nginx實現的紅黑樹要簡單一些,不然直接看源碼有點頭痛。 nginx實現的紅黑樹源碼我做了一些註釋,希望對您有點幫助: ngx_

原创 C++模板實戰8:矩陣乘法

     矩陣乘法採用迭代器實現,矩陣採用行優先方式存儲,其關鍵操作是“行×列”,該操作分成三部分:行由一個迭代器完成移動,列有一個列迭代器完成移動,乘法採用transform完成其中需要一個累加操作有累加迭代器完成 1 矩陣乘法中涉及到