原创 Python - Pathlib - 面向對象的文件系統路徑

文章目錄一、Pathlib 替代 os.path 和 glob 模塊1-1 pathlib vs os.path 應用對比1-2 pathlib vs glob (Unix風格的路徑名模式擴展) 應用類比1-3 不同系統的文件路

原创 Flask - BUG - flask-sqlalchemy - sqlalchemy.orm.exc.DetachedInstanceError

目錄 錯誤展示 代碼展示 產生原因 解決方式 錯誤展示 flask - sqlalchemy - 官方解釋文檔 代碼展示   產生原因 每次僅使用一個session,commit會將session內所有對象進行提交併刪除,則後

原创 Go - Goroutine

一、Goroutine 多個線程可以屬於同一個進程並共享內存空間。因爲多線程不需要創建新的虛擬內存空間,所以它們也不需要內存管理單元處理上下文的切換,線程之間的通信也正是基於共享的內存進行的,與重量級的進程相比,線程顯得比較輕量。

原创 設計模式 - 創造模式(Creational Patterns)

文章目錄零、 設計模式 - 創造模式(Creational Patterns)一、Borg Pattern - 共享單例模式1-1 簡單認識1-1-1 Borg 特點1-1-2 Borg vs Singleton1-2 Pytho

原创 Go - 數據結構

一、Array 數組和切片是 Go 語言中最常見的數據結構。 數組是由相同類型的元素的集合的數據結構,被分配一塊的連續的內存用來保存數據,且可以通過其中存儲的索引進行快速訪問其存儲地址。 1-1 Array 的初始化 Array

原创 消息隊列的高併發優化

消息隊列的高併發優化 一、消息隊列的基礎總結 1-1 使用場景 - 解耦、異步、削峯 1-1-1 解耦 初級使用階段,通常使用調用接口的方式,連接多個系統。 例如,A系統內調用了B/C/D的接口,若添加新系統E的接口調用,刪除系統

原创 Go-Func,Struct,Interface

一、Function Go 語言中,函數的參數,無論是基本類型、結構體、指針,都會對傳遞的參數進行拷貝。 但呈現方式並不都是值傳遞,原因是指針類型作爲參數傳遞時,函數內部會對指針進行復制,會同事出現倆個指針指向原有的內存地址,所以

原创 Mongodb - 數據自然排序問題

目錄 數據自然排序問題總結 影響自然排序的情況 固定集合的自然順序(Capped Collections‘ natural order)注意點 _id 和 $natural 數據自然排序問題總結 mongoDB 官方文檔 -Documen

原创 Locust - 壓測 WebSocket 連接數超 1024 報錯

文章目錄一、錯誤信息二、錯誤可能性分析及處理2-1 使用 select() 支持併發連接數有限2-1-1 基於當前腳本的錯誤分析2-1-2 JMeter 下 WsbSocket 長連接數測試 - 排除系統原因2-1-3 Locus

原创 Go - 編譯過程總結

一、 語言類型:編譯型語言 代碼在運行前,通過編譯器生成二進制機器碼,即,包含二進制機器碼的文件才能再目標機器上運行。 Go 語言編譯器的源代碼在 src/cmd/compile 目錄中 編譯器分爲前端和後端 編譯器的前端一般承

原创 Go - Time

一、Time 1-1 time.Format() - 時間格式化 package main import ( "fmt" "time" ) func main() { now_time := time.Now() fm

原创 PostgreSQL 基本安裝總結

一、Mac 環境下的安裝 $ brew install postgresql 1-1 查看當前環境版本 $ pg_ctl -V 1-2 初始化數據庫 ​ 在開始使用數據庫前,需要在磁盤上初始化一個數據庫存儲區域,通常稱之

原创 PostgreSQL 擴展安裝

一、安裝擴展 無需本地操作,內置含有包可直接命令行安裝 CREATE EXTENSION "uuid-ossp"; 二、使用擴展 CREATE TABLE user( id uuid DEFAULT uuid_gener

原创 RabbitMQ - 延遲隊列

一、延遲隊列 1-1 簡單介紹 ​ 延遲隊列:存儲延遲消息的隊列 ​ 延遲消息:消息存入隊列,等待一定時間後才交於消費者進行消費 1-2 應用場景 場景一 :訂單系統 ​ 用戶下單的30分鐘確認支付,若超過30分鐘,則該訂單被列爲