原创 C++11中線程及信號量與條件變量

線程 互斥量與條件變量   C++11對線程支持有很大的提升(參見 C++11線程thread與任務async),可以方便地處理線程。同時提供了互斥量與條件變量,可方便處理類似消費者-生產者問題。 線程 C++11中對線程提供了良好的支持

原创 [算法]查找數組中出現次數過半的數字

查找過半數字 基於Partition函數 計數方式 查找過半數字 數組中有某個數字出現的次數超過數組長度的一半,請找出這個數字。 最簡單直接的方式是排序數組,然後中位數處的數字即爲所要查找的數字,但是排序本身時間複雜度太高。 後面介紹一下

原创 FreeSWITCH中sip客戶端註冊細節

FreeSWITCH中用戶信息默認是在directory下的xml中配置的,也可以通過lua腳本來使用其他配置, 參見 使用數據庫存儲Freeswitch賬戶與密碼。 註冊信息數據庫表 當有sip客戶端向服務器註冊時,在進行一番驗證註冊成

原创 SIP開源庫pjSIP簡介

基本框架說明 PJLib使用 Windows下庫編譯   PJSIP(http://www.pjsip.org/)是一個免費的開源多媒體通信庫,實現了基於標準的協議(如SIP,SDP,RTP,STUN,TURN和ICE)。把基於信令協議S

原创 MySQL命令與數據類型簡介

基本操作命令語句    mysql命令數據導入導出複製表結構 基礎說明   大小寫及字符集規則sql_modeAUTO_INCREMENT(自增)列group by分組 基本類型   數值類型字符串類型字符串匹配日期時間類型日期獲取函數日

原创 C語言中宏簡介

無參宏定義帶參宏定義固定參數宏可變參數宏多語句宏處理連接符條件判斷常見預定義宏 宏在C語言中是一段有名稱的代碼片段(使用#define定義),在預處理階段會把程序中的宏名替換爲對應的代碼片段,然後才進入編譯階段由編譯器進行編譯。 #def

原创 Redis的java操作接口與分佈式鎖

RedisTemplate 分佈式鎖   Redis是一個基於內存的數據庫,提供了字符串(String)、散列(Hash)、列表(list)、集合(sets) 和 有序集合(sorted sets)幾種數據類型(具體參見Redis簡介)。

原创 Janus在Ubantu下的安裝與Https配置

Janus安裝 https相關配置   janus是Meetecho開發的一個WebRTC網關,基於插件思想,通過實現基礎架構,完成了與瀏覽器鏈接的建立過程。 Janus安裝 在Ubantu下需要先安裝apttitude工具,然後再安裝所

原创 [C++]-Windows下獲取CPU、內存利用率

CPU利用率 內存利用率   在《Windows下使用PDH獲取性能計數器(CPU、內存、網絡流量等)》中介紹了通過性能計數器獲取計算機性能信息,若只是獲取CPU利用率及內存利用率,可以直接通過API獲取。Windows提供了相關函數來獲

原创 Java Socket通訊簡介

服務端 客戶端   Java中Socket通訊是通過java.net.ServerSocket和java.net.Socket實現的,ServerSocket用於服務端偵聽,Socket用於真實的連接。 服務端 服務端所有操作是通過Ser

原创 Java通過Process運行外部子程序

Process類 Runtime.exec方式 ProcessBuilder方式   Java中ProcessBuilder.start()和Runtime.exec()方法都被用來創建一個操作系統進程(執行命令行操作),並返回 Proc

原创 [Alg]-字符串的組合

全組合   遞歸法   二進制位法 指定位數組合   字符串組合:包括全組合和指定位數組合。 全組合 求一個字符串可以產生的所有組合;如abc,它的組合有a、b、c、ab、ac、bc、abc。 以下所有算法默認都無法處理字符串中有重複字符

原创 Python函數參數類型與默認參數

可變參數 強制關鍵字參數 默認參數   Python函數的參數非常靈活: 形參(函數定義時):普通參數(位置參數)、默認參數、可變參數(可變位置參數,可變關鍵字參數)、命名關鍵字參數; 實參(調用函數時):位置參數,關鍵字參數; 不同類型

原创 [Alg]-查找最長不重複子串

  如何從一個字符串中查找最長的不重複子串呢?可以有多種實現方式,以下是幾種方式的python實現。 隊列方式 依次把字符串中每個字符放到隊列中,當遇到重複時,把重複字符及其前面的字符全部從隊列中移除。 def LongestSubSt

原创 Python3輸入輸出與字符串格式化

輸入輸出 字符串格式化   Python3中使用input從鍵盤上獲取輸入,print來輸出;format進行格式化。 輸入輸出 鍵盤輸入 Python提供了input()內置函數從標準輸入讀入一行文本;可以接收一個Python表達式作爲