原创 pytest教程(一)----------簡單入門

1.安裝 pip install pytest   查看版本信息 pytest --version This is pytest version 5.4.3, imported from /usr/local/lib/python3.

原创 劍指offer(7)----------重建二叉樹

已知二叉樹的先序和中序遍歷結果,重建這棵二叉樹 class Node: def __init__(self, val, left=None, right=None): self.val = val

原创 深入學習Python中的併發(二)------高級篇

考慮下面的需求: 我們有一個日誌目錄,裏面全是gzip壓縮的日誌文件。 每個日誌文件的格式是固定的,我們要從中提取出所有訪問過robots.txt文件的主機 1.1.1.1 ------------ [10/june/2012:00:18

原创 一行shell實現統計單詞詞頻

寫一個 bash 腳本以統計一個文本文件 words.txt 中每個單詞出現的頻率。 爲了簡單起見,你可以假設: words.txt只包括小寫字母和 ' ' 。 每個單詞只由小寫字母組成。 單詞間由一個或多個空格字符分隔。 示例: 假設

原创 如何直觀地打印一棵二叉樹

按層次結構打印二叉樹,如下面這棵   class Node: def __init__(self, val, left=None, right=None): self.val = val sel

原创 zip暴力破解工具Python實現

原理: 1.指定密碼包括的字符種類,如:數字,小寫字母,大寫字母,特殊字符 2.指定密碼的長度 3.遍歷所有可能的組合暴力破解   在密碼比較簡單的時候比較有用。   使用指導: optional arguments:   -h, --h

原创 leetcode多線程題(1114)-------------按序打印

我們提供了一個類: public class Foo {   public void one() { print("one"); }   public void two() { print("two"); }   public void

原创 讓你的項目支持autotools

通常我們在linux下用源碼安裝庫或程序,都是使用的autoools工具(雖然可能有些過時,bazel,CMake等等)。但是目前來看,還是一種不錯的選擇。 典型安裝過程: ./configure make sudo make insta

原创 劍指offer(12)------矩陣中的路徑

''' 0:left 1:right 2:up 3:down ''' paths = [] def path_in_matrix(matrix, s): row, col = len(matrix), len(matrix[0]

原创 深入學習python中的併發(一)---線程

python也提供了線程相關的併發原語,如鎖threading.Lock,事件threading.Event,條件變量threading.Condition,信號量 threading.Semaphore. 其實這些Python對象本質上

原创 gRPC C++源碼剖析(二)---- 數據結構篇之閉包

上篇文章中提到了閱讀gRPC源碼的幾大困難,其中數據結構是基礎中的基礎。 如果連這些數據結構的原理和作用都不瞭解的話,閱讀起代碼來肯定事倍功半。因此這篇文章對gRPC提供的數據結構進行講解。   grpc_closure閉包 閉包是一些編

原创 gRPC C++源碼剖析(二) ---------數據結構篇之閉包調度器

grpc_closure_scheduler 顧名思義,閉包調度器的作用就是對閉包進行調度。 下面是它的定義: struct grpc_closure_scheduler {   const grpc_closure_scheduler_

原创 gRPC C++ 源碼剖析(一)----------入門

通過一段時間閱讀gRPC c++的源碼,對其實現原理算是初窺門境了。 在這裏通過一系列循序漸進的文章把其中的經驗和學習到東西分享出來,希望志同道合之人能夠共同交流進步。   gRPC c++源碼難嗎? 個人認爲gRPC c++源碼算是質量

原创 golang實現的壓力測試工具

代碼地址: https://github.com/happyAnger6/loadstress.git   輕鬆實現單機10K qps.

原创 list

從本篇文章開始,將介紹python提供的常用數據結構。   這些數據結構從不同的維度可以進行不同的劃分。   按可變性劃分: 可變數據結構:list,dict,set,bytearray 不可變數據結構:tuple,string,b