原创 golang redigo 訂閱發佈的使用

redis 訂閱發佈功能可以做到類似生產者消費者的功能,是進程間通訊的一種手段 以下記錄一下使用golang redis 的包 redigo 實現redis 訂閱發佈功能 代碼如下: package main import (

原创 golang 操作 Elasticsearch

這裏Elasticsearch的數據直接使用了一個開源庫 amazonriver (https://github.com/hellobike/amazonriver)將postgresql 數據庫中的數據同步了過來 使用了gola

原创 golang 常用數據類型以及佔用內存大小

要搞清楚這個問題先要了解幾個常用的存儲單位的轉換 1.bit(位): 二進制數中的一個數位,可以是0或者1,是計算機中數據的最小單位。二進制的一個“0”或一個“1”叫一位 2.Byte(字節): 計算機中數據的基本單位,每8位組成

原创 nginx + uwsgi部署django 應用

python web app 部署比如 flask 一般都會和 Gunicorn 一起配合,和django 一般都會和 uwsgi 一起,有人可能要問了,直接使用nginx 反向代理到django 或者flask 不就行了嗎,爲什

原创 golang gin + websocket 實現商城客服聊天功能

最近使用 gin 在重構一個商城項目,需要加客服聊天的功能,因此我使用了websocket來實現了,websocket 框架的選擇當然是 github.com/gorilla/websocket 1.實現的思路 由於之前寫pyth

原创 python 快排

def quick(lst, start, end): """ 快速排序 複雜度 N * (logN) 原理爲有兩個指針:low, high 分別指向列表的第一個元素,和列表最後一個元素,和一箇中間值

原创 golang 快排

package main import "fmt" /* 快速排序 快速排序 複雜度 N * (logN) 原理爲有兩個指針:low, high 分別指向列表的第一個元素,和列表最後一個元素,和一箇中間值 mid

原创 golang 實現二叉樹遍歷

前序遍歷 前序遍歷的順序是 根 -----> 左子樹 -----> 右子樹 中序遍歷 中序遍歷的順序是 左子樹 -----> 根 ------> 右子樹 後序遍歷 後序遍歷的順序是 左子樹 -----> 右子樹 -----

原创 python 實現二叉樹(有序)的遍歷

前序遍歷 前序遍歷主要是順序是 根 -----> 左子樹 -----> 右子樹 中序遍歷 中序遍歷的主要順序是 左子樹 -----> 根 -----> 右子樹 後序遍歷 後序遍歷的主要順序是 左子樹 ----->

原创 golang 實現單鏈表

package main import "fmt" /* 使用golang實現單鏈表 add 操作:在鏈表首部添加 append 操作:在鏈表尾部添加,從頭部找到最後一個元素,把最後一個元素指針指向需要添加的元素 i

原创 python實現雙向鏈表

雙向鏈表的定義 數據節點包含兩個指針,一個指向前一個元素,一個指向後一個元素,因此需要定義一個雙鏈表的數據結構 完整代碼如下: # 數據結構定義 class Node: """ 雙向鏈表,每個節點除了指向下一個元

原创 golang實現棧,隊列

棧(LIFO) package main import ( "fmt" "sync" ) /* 使用 golang 實現棧 棧是一種LIFO(Last In First Out) 的數據結構,可以封裝一個slice實現

原创 golang實現雙鏈表

雙鏈表的定義 一個節點包含數據區,還有一個指針指向前一個節點,一個指針指向後一個節點 因此實現雙鏈表需要定義這樣的一個數據結構 數據結構的定義 import "fmt" type Node struct { Data int

原创 python實現棧,隊列

棧(LIFO) class Stack(object): """ 使用 python 實現棧 棧是一種LIFO(Last In First Out) 的數據結構,可以封裝一個list實現 """

原创 go 使用sort對數組排序

抓住4月的尾巴更新一篇博客關於golang對slice的排序,golang對數組的排序沒有像python那麼方便,python直接使用listObj.sort()就可以完成對數組元素的排序,golang裏面需要使用sort包,並且實現