原创 Linux 多線程編程(實現生產者消費者模型)

Linux 多線程編程 線程分類 線程按照其調度者可以分爲用戶級線程和內核級線程兩種。 內核級線程 在一個系統上實現線程模型的方式有好幾種,因內核和用戶空間提供的支持而有一定程度的級別差異。最簡單的模型是在內核爲線程提供了本地支持的情況,

原创 Golang template簡單實現分頁

Golang Web前端數據分頁展示 一:背景 最近要在前端界面上展示很多組數據,都放在一頁不好看,所以想分頁展示。但是不太想引入框架(出於簡單考慮),就想實現一個簡單的分頁機制。只用html/template原生的東西實現。 二:參

原创 C++11 筆記 std::function,bind綁定器和lambda

C++11 筆記 std::function,bind綁定器和lambda 背景 c++將boost庫中的function和bind在c++11中終於納入了標準庫的體系。 在傳統的c++程序中,事件回調是通過虛函數進行的。在現代c++程

原创 2017暑期實習生面試--百度,freewheel

2017暑期實習生前期的面試經歷分享,前期比較曲折,騰訊一面跪了,網易一面過了再也沒有聯繫我去二面,真是憂傷。不過好在後來還算順利,最終拿到了百度和freewheel的暑期實習offer。 百度—後臺研發 一面 講項目,講講CPU模擬器

原创 算法:求二叉樹中兩個節點的最大距離

問題定義: 如果我們把二叉樹看成一個圖,父子節點之間的連線看成是雙向的,定義”距離”爲這條路徑上所有節點的value和。寫一個程序求一棵二叉樹中最大的路徑距離。 思路: 對於這個圖,最大的路徑是從5—-3—-7,距離爲15的路徑。

原创 Linux POSIX線程實現wait_group功能

Linux POSIX線程實現wait_group功能 wait_group: 用一個數據結構實現讓主線程等待一組線程執行結束之後在退出的功能。 方法: 方法一: 主線程調用pthread_exit((void *)2); 原因: p

原创 glide install golang.org 失敗

glide install golang.org 失敗 背景 因爲golang.org被牆的原因,所以國內安裝其中的庫會失敗(Cannot detect VCS)。 解決方案一 按照如下方式配置鏡像: $ rm -rf ~/.glid

原创 Golang HTTP Get Request帶參數

Golang HTTP Get Request帶參數 You can use url.Values’s Encode method. You could also use URL.String to build up the whole

原创 Golang 刪除文件並遞歸刪除空目錄

Golang 刪除文件並遞歸刪除空目錄 目的:刪除文件之後,如果目錄爲空,遞歸刪除爲空的目錄。 svr.dataDir指目錄的最外層,遞歸刪除目錄的時候判斷到這一層即可。 eg:/Users/danny/data func delet

原创 GRPC 初體驗

gRPC是由Google主導開發的RPC框架,使用HTTP/2協議並用ProtoBuf作爲序列化工具。其客戶端提供Objective-C、Java接口,服務器側則有Java、Golang、C++等接口,從而爲移動端(iOS/Androi)

原创 MapReduce: Simplified Data Processing on Large Clusters 論文筆記

Why do it The issues of how to parallelize the computation, distribute the data, and handle failures conspire to obscur