原创 POJO生成器v1

POJO生成器 定義一個接口先 package util.generator; import java.util.Map; public interface Generator<T> { T generate(Map c

原创 Golang:閉包函數中對外部變量引用的是值還是指針?

Golang:閉包函數中對外部變量引用的是值還是指針? Case 1 package main import "fmt" func main() { v := 10 defer func() { fmt.Printf(

原创 Cypher筆記(二)

Cypher筆記(二) 1.模式 索引和約束時圖的模式,Cypher引入了數據定義語言(Data Definition Language,DDL)來操作模式。 a.索引 索引是爲了提高數據檢索效率而引入的冗餘信息,代價是需要維護額

原创 Linux網絡編程-併發HTTP服務器

Linux網絡編程-併發HTTP服務器主要模塊dataType1.StringMap2.BufListthreadPoolhttp1.Request2.Response3.Dispatcher主要代碼性能測試 github 主要模

原创 推薦兩個工具:hyper與micro

直接上圖: hyper是一個基於electron實現的終端,支持一個窗口橫向或縱向開多個終端,官方也有很多主題可以安裝,啓動比原生終端稍微慢一些,但是使用起來沒有任何問題。 micro是go語言實現的命令行編輯器,作爲一個不會用

原创 python優化——善用numpy api

原來的代碼是這樣的: # write shape first s = frame.shape # frame是用cv2從視頻中讀出來的圖片,類型:numpy.ndarray buf = [0 for i in range(s[0]

原创 C-HashMap實現

typedef struct _Entry { String key; void* value; struct _Entry* next; } *Entry; typedef struct _Map {

原创 Windows共享內存編程-性能優化

[2019/11/24] 用share memory和semaphore相關的api寫了個ipc庫,用於進程間單向大數據流傳輸,目標傳輸速度:約120MB/s(算了一下自己內存DDR4 2400的理論極限帶寬= 2400 * 64

原创 NodeJS Addon開發

1.環境搭建 npm init npm i --save --dev node-gyp node-addon-api 在package.json中加入如下配置: 在package.json同級目錄下創建配置文件binding.

原创 HttpMessageNotReadableException——類缺乏默認構造器導致反序列化失敗

問題代碼: @PutMapping("/{courseID}") public ResponseEntity updateCourse(@PathVariable("courseID") long cid,

原创 JS調用攝像頭、實時視頻流上傳(一次不成功的試驗)

JS調用攝像頭、實時視頻流上傳(一次不成功的試驗) 思路 前端調用攝像頭,獲取視頻流,從視頻流中取一幀轉圖片,用websocket上傳圖片。 研究了一下發現了WebRTC這種技術,看到有博客說一些直播應用使用WebRTC將視頻流

原创 設計一個POJO生成器-第1次迭代

設計一個POJO生成器-第1次迭代 實施增量開發過程,開發一個POJO生成器 需求 能夠爲一個只有常用類型成員的類型生成實例,用戶可以提供一個字符串數組告訴生成器忽略指定字段 常用類型包括: java.math.

原创 Golang: switch case 與 fallthrough

Golang: switch case 與 fallthrough Exmaple: package main import "fmt" func main() { handle(0) handle(1) } func

原创 Redis筆記:Redis的字典什麼時候進行Rehash?

Redis筆記:Redis的字典什麼時候進行Rehash? 哈希表的負載因子公式: load_factor = ht[0].used / ht[0].size 負載因子 = 哈希表已保存節點數量 / 哈希表大小 當服務器沒有在執

原创 Golang:閉包函數中對外部變量引用的是值還是指針

Golang:閉包函數中對外部變量引用的是值還是指針 package main import "fmt" func main() { v := 10 defer func() { fmt.Printf("v = %d\