原创 [Python]-命令行參數與遞歸搜索刪除文件夾與文件

相關接口介紹 獲取命令行參數 文件搜索 文件刪除 示例   通過python腳本,可以方便地查找、並刪除滿足指定條件的文件/文件夾。 相關接口介紹 獲取命令行參數 爲了方便使用,需要把查找的目錄與過濾條件通過參數的方式傳遞給腳本,這時就需

原创 Effective python之Pythonic

PEP8風格 bytes與str else語句塊   PEP8風格 命名 函數、變量及屬性應以小寫字母拼寫 受保護的實例屬性,以單個下劃線開始,如_count 私有的實例屬性,以兩個下劃線開始,如__number 類與異常,以大寫字母開始

原创 Python類定義及屬性與方法說明

類基礎 類進階   Python的類提供了面向對象編程的所有基本功能: Object類是所有類的父類(不需要明確指定); 類允許繼承多個基類(使用逗號分割); 派生類可覆蓋基類中任何方法; 類基礎 類支持兩種操作: 實例化: inst =

原创 Windows下使用PDH獲取性能計數器(CPU、內存、網絡流量等)

性能計數器 獲取計數   網卡接口   Perfmon(運行命令perfmon.msc或perfmon即可打開)性能監視器主要用來對指定的系統性能指標進行實時監控。Windows提供Pdh(performance data helper)

原创 [C++]-Windows下Socket連接之客戶端

連接 接收 發送   在《[C++]-Windows下Socket連接之服務端》中介紹了Windows下Socket編程的一些基本知識與服務端實現,現在介紹一下客戶端的實現。相比於服務端,客戶端流程相對簡單些,主要就是: 連接服務端;

原创 [C++]-Windows下Socket連接之服務端

輔助函數 TCP服務端   Socket即套接字,用於網絡通訊,有三種模式: 流式套接字(SOCK_STREAM) 數據報套接字(SOCK_DGRAM) 原始套接字(SOCK_RAW) 輔助函數 Windows下提供了WSAXXX系列函數

原创 條件變量condition_variable存在的一些問題

C++11中完善了信號量與條件變量(參見:C++11中線程及信號量與條件變量),但是condition_variable的一些實現是存在問題的,特別是在Windows下會很容易出現假喚醒的情形(VS2015的實現,在Win10下非常容易出

原创 C++11中字符串與數值間轉換

數值轉字符串 字符串轉數值   C++11中提供了字符串與數值類型間直接轉換的函數(定義在<string>頭文件)。 數值轉字符串 c++11提供了to_string方法,將各種數值類型轉換爲字符串類型: std::string to_

原创 C++中實現字符串分割split

C++默認沒有提供字符串分割函數,若要對字符串進行分割則需自己處理。 首先想到的就是使用string::find函數查找到指定的分隔符,然後通過substr截取子串,來實現字符串的分割。 更方便的方式:C++提供了從輸入流中獲取子串的ge

原创 C++11日期時間顯示(精確到毫秒)

C++11中提供了方便時間操作的chrono庫(參見C++11時間日期庫chrono簡介),但是其輸出顯示並不方便;通過put_time可以顯示時間(到秒),要顯示毫秒,就需要自己處理了。 使用duration_cast可以把時間點轉換爲

原创 C++11 Lambda表達式簡介

Lambda簡介 Capture列表 mutable說明   C++11中的Lambda 表達式用於定義並創建匿名的函數對象,以簡化編程工作。 Lambda簡介 Lambda表達式一般都是從方括號[]開始,然後結束於花括號{},主要包括五

原创 Windows下Hadoop安裝部署

安裝 配置文件修改 常用端口說明 出錯處理   Hadoop依賴於Java運行環境,因此需要先安裝Java運行環境,再安裝部署Hadoop。 安裝 以2.9.2爲例進行說明(因winutils最高支持到2.9.2)。 到Hadoop網站h

原创 [Alg]旋轉有序數組的中二分查找

根據中位數與旋轉點相對位置查找 切分數組查找   給定一個沒有重複元素的旋轉數組(它對應的原數組是有序的),求給定元素在旋轉數組內的下標(不存在的返回-1),時間複雜度爲logN。 如[4,5,6,7,0,1,2]就是一個旋轉數組: 查找

原创 [Alg]-字符串的排列

交換法 字典序法   字符串全排列:輸入一個字符串,打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。 交換法 把字符串分成兩部分:第一個

原创 Java輸入輸出流與文件操作簡介

I/O體系 文件操作   Java所有的I/O機制都是基於數據流進行輸入輸出的,這些數據流表示了字符或者字節數據的流動序列: 可以從中讀入一個字節序列的對象稱爲輸入流; 可以向其寫入一個字節序列的對象稱爲輸出流。 I/O體系 輸入