原创 fasthttp 是如何啓動 goroutine 來處理請求的

首先,在 fasthttp 中大量的使用了 sync.Pool 來緩存某些對象,已達到對象複用、減小 GC 壓力的目的。 fasthttp 並不像官方 net/http 一樣,創建一個 gorountine 來處理一個 http

原创 樹莓派 3B+ 安裝 OpenWrt 作爲中繼路由器.md

家裏有一個閒置的樹莓派,已經喫灰很久了,家裏的電信路由器wifi時而連不上… 所以打算使用樹莓派作爲中繼路由器來使用. 1. 下載 OpenWrt 鏡像,並製作鏡像盤 鏡像下載地址: https://downloads.openw

原创 go 錯誤與異常及處理

https://www.jianshu.com/p/f30da01eea97 文章目錄錯誤與異常錯誤處理正確姿勢1 失敗的原因只有一個時,不使用error2 沒有失敗時,不使用error3 error應放在返回值類型列表的最後

原创 context: goroutine 上下文

文章目錄Context 接口context 包中包含如下幾種衍生的子 Context使用 context.WithCancel 控制子 groutine 結束通過 context.WithValue 來傳值超時取消 context

原创 go test 單元測試

文章目錄go test [flag] flag 有:打印/報告T 類型 普通測試用例除了打印報告的方法外還有:方法:Name 返回當前測試用例名稱Parallel 標記當前測試用例可以並行測試Helper 將函數標記爲測試助手函

原创 非對稱加密算法 RSA

非對稱加密算法 RSA如何計算得到 N E D1 求 N2 求 L (在生成密鑰對過程中使用)3 求 E4 求 D實例生成密鑰對加密解密 74mod127^4 mod 1274mod12 很好算 但 7xmod12=87^x

原创 線程模型 與 gorountine 的關係

文章目錄用戶級線程模型內核級線程模型兩級線程模型Goroutinegoroutine 的調度 線程的實現模型主要有3種:內核級線程模型、用戶級線程模型 和 兩級線程模型(也稱混合型線程模型),它們之間最大的差異就在於用戶線程與內核

原创 aiomysql + sqlalchemy(ORM) 配合使用

官方文檔:https://aiomysql.readthedocs.io/en/latest/sa.html (過時) 其他教程:https://gzm1997.github.io/2018/05/26/%E4%BD%BF%E7%

原创 happyhbase: python 調用 hbase 接口包.md

happyhbase 文檔地址 注意: 創建 連接時注意兼容,通過參數 compat 設置兼容級別(默認 0.98, thrift 的版本),具體看這裏https://happybase.readthedocs.io/en/lat

原创 go 正則表達式

文章目錄將 正則表達式字符串 轉義爲普通字符串:檢測字符串中是否含有匹配在 pattern 的子序列正則表達式對象 Regexp函數 Complie函數 CompliePOSIX函數 MustCompile函數 MustCompl

原创 go文件操作

https://studygolang.com/static/pkgdoc/pkg/os.htm#File 文章目錄文件對象 os.File函數 Create函數 Open函數 OpenFile函數 NewFile函數Pipe

原创 Local、LocalStack、LocalManager和LocalProxy 實現協程/線程間數據隔離

文章目錄LocalLocalStackLocalManagerLocalProxy Local Local 對 dict 做了一層封裝:{id:{...}, id:{...}, ...},每次存儲或取出數據時,根據當前id來進行操

原创 asyncio 是如何處理io事件的.md

asyncio 是如何利用事件循環來監控和處理io事件的,看源代碼: # asyncio.streams.py async def open_connection(host=None, port=None, *,

原创 go base64 編碼.md

文章目錄兩個默認的編/解碼器:異常類 CorruptInputError編解碼類 Encoding函數 NewEncoding方法 DecodedLen 返回n字節解碼後字符串最大長度方法 Decode 解碼到一個 []byte