原创 Python的賦值引用, 淺拷貝和深拷貝

前言 有個朋友昨天問了我這個問題, 剛好挺長時間沒寫博客了, 就順便劃劃水 賦值引用 賦值引用其實就是最基本也是最常用的引用, 即: a = [1, 2, 3] b = a a[0] = 2 print(b) # [2, 2,

原创 Go 和Python中的閉包實現及使用

閉包 網上閉包的概念已經很多了, 在這就簡單說一下 體現: 在一個函數內部(外函數)返回另外一個函數(內函數) 內函數使用外函數的局部變量 外函數的返回值是內函數的引用 只要閉包還被使用,那麼被閉包引用的

原创 MysqlsMom: 同步mysql數據到elasticsearch的利器

原文鏈接 https://www.jianshu.com/p/fb96ab7fbde9 把Mysql的數據同步到Elasticsearch是個很常見的需求,但在Github裏找到的同步工具用起來或多或少都有些彆扭。 例如:某記錄

原创 go 切片排序以及轉爲帶間隔符的字符串

前言 Go 切片排序通過匿名函數來快速實現 代碼示例 package main import ( "sort" "fmt" "strings" ) func main() { // 切片排序 intSlice :=

原创 ADSL撥號代理的搭建

前言 動態撥號vps獲取代理, 這裏主要是把代理服務器搭建那一步寫成shell腳本封邊後面搭建, 參考了崔慶才老師的文章, 寫的非常詳細 https://cloud.tencent.com/developer/article/

原创 Python重試之美, 優雅的Tenacity

前言 有朋友安利了一下Tenacity, 特別好用, 提供了簡單易使用的通用裝飾器API 官方文檔: https://tenacity.readthedocs.io/en/latest/ 測試代碼 import random fr

原创 pyppeteer 抓取網頁

前言 Pyppeteer 是谷歌chrome官方無頭框架puppeteer的python版本, 基於Chrome/Chromium瀏覽器自動化庫,可以用於對渲染網頁的抓取, 效果跟selenium+chromedrive一樣 熟

原创 通過Dockerfile製作docker鏡像

前言 因爲需要在k8s裏用docker跑一些定時任務, 所以順便寫一下製作docker鏡像的基本流程 準備工作 首先肯定是要先設置docker加速了, 畢竟使用官方的太慢了(瘋狂吐槽), 阿里雲地址可以在 https://cr.

原创 go併發訪問map的坑 fatal error: concurrent map read and map write

前言 go 併發訪問map是不安全的, 會出現未定義的錯誤導致程序退出…坑總得踩一踩纔會知道 例子 先寫一個錯誤的 package main import "fmt" func test() map[string]interf

原创 go程阻塞

前言 記錄一下我自己常用的go程阻塞方法, 確認go程完成 sync.WaitGroup 主要是用來監聽go程執行完成 package main import ( "fmt" "time" "sync" ) func a

原创 docker 時區差8小時的問題

前言 因爲我們的接口項目是部署在k8s上的, 然後可能是當初做鏡像的時候沒有設置時區, 導致docker裏面時區不對, 接口返回的時間差8小時 解決方法 先確認宿主機的時間是對的, 然後我們用的阿里雲的鏡像服務, 所以直接在配置裏

原创 runtime: goroutine stack exceeds 1000000000-byte limit fatal error: stack overflow

前言 巨難受, 今天開發的時候遇到的一個錯, 百度了一下基本上都說是遞歸導致的內存超出限制的問題, 前前後後捋了三遍代碼, 沒發現邏輯問題, (手動愁人) 再此記錄一下錯誤, 避免有人也遇到同樣的問題 問題原因 最後還是根據錯誤

原创 You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.conca

前言 是在用pandas合併Dataframe的時候遇到的這個問題, pd.merge(df_borough, df_price , how=‘left’, on=‘other_id’).fillna(value=0) 問題原因

原创 Python和Go 同時發送文件和formdata請求

前言 用到這個主要是做圖片上傳, python的好寫, go的找各種文檔真的挺費勁的… Python # 獲取字節流 with open("/Users/xiaofei/Downloads/ywdhzxf.jpg", "rb")

原创 git多次提交合併爲一次提交(git rebase)

前言 在平時生產環境中測試和線上一般都是兩個分支, 然後線上分支每一次提交都會加上鎖, 需要運維部署jenkins去解鎖部署代碼重啓服務, 但是平時在測試分支上完成功能可能需要多次commit提交測試環境測試功能, 提交正式分支的