原创 堆排序

堆排序是指利用堆這種數據結構所設計的一種排序算法。堆是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。且完全二叉樹可以基於數組存儲(父子節點的關係可以用數組下標表示),加持上堆的特性,故可

原创 golang 之import和package的使用

這篇文章主要介紹了golang 之import和package的使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 golang 使用包 package 來管理定義模塊,可以使用 im

原创 golang 之 import 和 package 的使用

golang 使用包 package 來管理定義模塊,可以使用 import 關鍵字來導入使用。 如果導入的是 go 自帶的包,則會去安裝目錄 $GOROOT/src 按包路徑加載,如 fmt 包 如果是我們 go get 安裝或自定義的

原创 Swoft 系列教程:(1)使用 Docker 安裝部署 Swoft

之前有寫過一篇 Docker 安裝部署 Swoft 的文章,但有些冗餘混亂,故重寫作爲教程的開篇。要不讀讀看? Swoft項目:https://github.com/swoft-clou...Swoft文檔:https://doc.swo

原创 上線 HTTPS 服務 / 反向代理 LB / 隱藏業務IP

ssl 證書免費申請 ssl for free 可以免費爲我們提供三個月的 ssl 證書及續簽服務,填寫業務域名,上傳驗證文件到業務服務器,驗證成功後便會生成相應的證書.crt和私鑰.key,提供一次性下載,重新生成,銷燬及續簽服務。 N

原创 docker 容器不自動退出結束運行的方法

本文主要簡單介紹 docker 容器與前置進程的關係,以及如何編寫 Dockerfile/docker-compose.yml 優雅的讓容器可以常駐運行。 docker 容器的生命週期是同容器中的前置進程相關在一起的,這也是我們平時可能會遇

原创 mysql 之 json 數據類型的使用及高效檢索(配合虛擬列 virtual generated column)

mysql 5.7+ 版本開始支持 json 數據類型,可以方便的存儲JSON格式的數據,同時配合虛擬列 (virtual generated column),可以方便的爲 json 列數據的某屬性映射虛擬列,建立索引,高效檢索。 構造js

原创 Kong Api 網關使用 docker 部署

Kong 鏡像: https://hub.docker.com/_/kong 官網給定的用戶安裝手冊上並沒有設置 PG 的密碼,導致如下問題無法啓動 nginx: [error] init_by_lua error: /usr/local/

原创 獲取到 prepay_id 後將參數再次簽名傳輸給 APP 發起支付

獲取到 prepay_id 後將參數再次簽名傳輸給 APP 發起支付。 相信有不少同學因爲看到統一下單返回的結果中有 sign 字段,會直接將結果返回給 APP 端,結果 APP 端沒辦法調起微支付。其實需要對 APP 端用到的字段數據按

原创 redis 使用 get 命令讀取 bitmap 類型的數據

在簽到統計場景中,可以使用 bitmap 數據類型高效的存儲簽到數據,但 getbit 命令只能獲取某一位值,就無法最優的滿足部分業務場景了。 比如我們按年去存儲一個用戶的簽到情況,365 天,只需要 365 / 8 ≈ 46 Byte,1

原创 使用 Docker / Docker Compose 部署 Swoft 應用

Swoft 首個基於 Swoole 原生協程的新時代 PHP 高性能協程全棧框架,內置協程網絡服務器及常用的協程客戶端,常駐內存,不依賴傳統的 PHP-FPM,全異步非阻塞 IO 實現,以類似於同步客戶端的寫法實現異步客戶端的使用,沒有複雜

原创 mysql 幻讀的詳解及實例

髒讀/不可重複讀的概念都比較容易理解和掌握,這裏不在討論 事務隔離級別(tx_isolation) mysql 有四級事務隔離級別 每個級別都有字符或數字編號 讀未提交 READ-UNCOMMITTED | 0:存在髒讀,不可重複讀,幻讀的