原创 學習單元測試,告別祈禱式編程

祈禱式編程 祈禱式編程 如果代碼中包含以下代碼 或者上線後進行這種活動 那麼這種編程方式就是祈禱式編程。 用流程圖表示基本就是這個樣子。 祈禱式編程有什麼危害呢? 累,每次寫完代碼還需要再祈禱 不受控,代碼運行結果主要看運氣,大仙忙

原创 如何通過MD5反查身份證號?

題目:設計一個身份證查詢系統,將身份證號md5 之後存儲,輸入md5值查詢對應的身份證號。 要求:成本低,查詢速度快 設計思路: 將所有可能的身份證號做一個簡單的統計計算數據量 根據數據量選擇存儲方式 查詢 身份證生成規則: 身份號

原创 Redis 選擇hash還是string 存儲數據?

在stackoverflow 看到一個問題,Redis strings vs Redis hashes to represent JSON: efficiency?內容如下: I want to store a JSON payload

原创 PostgreSQL JSONB 使用入門

json 類型 說明 根據RFC 7159中的說明,JSON 數據類型是用來存儲 JSON(JavaScript Object Notation)數據的。這種數據也可以被存儲爲text,但是 JSON 數據類型的優勢在於能強制要求每個被存儲

原创 併發模型:線程與鎖

併發&並行 併發程序含有多個邏輯上的獨立執行塊,他們可以獨立的並行執行,也可以串行執行。並行程序解決問題的速度比串行程序快的多,因爲其可以同時執行整個任務的多個部分。並行程序可能有多個獨立執行塊,也可能只有一個。 引用Rob Pike的經典

原创 JWT refreshtoken 實踐

Json web token (JWT), 根據官網的定義,是爲了在網絡應用環境間傳遞聲明而執行的一種基於JSON的開放標準((RFC 7519).該token被設計爲緊湊且安全的,特別適用於分佈式站點的單點登錄(SSO)場景。JWT的聲明

原创 Go mod 使用

go modules 是 golang 1.11 新加的特性。現在1.12 已經發布了,是時候用起來了。Modules官方定義爲: 模塊是相關Go包的集合。modules是源代碼交換和版本控制的單元。 go命令直接支持使用modules,包

原创 python設計模式-狀態模式

問題:有一個糖果公司需要設計一個糖果售賣機,控制流程如下圖,需要怎麼實現? 這是一個狀態圖,每個圓圈都是一種狀態。很明顯,有有25分錢、 沒有25分錢、 售出糖果、 糖果售罄四個狀態,同時也對應四個動作:投入25分錢,退回25分錢,轉動

原创 python設計模式-模板方法模式

date: 2018-12-02T17:23:56+08:00description: python 設計模式 模板方法模式draft: falseslug: "python-design-pattern-template-pattern

原创 python設計模式-外觀模式

上一篇《python設計模式-適配器模式》介紹瞭如何將一個類的接口轉換成另一個符合期望的接口。這一篇將要介紹需要一個爲了簡化接口而改變接口的新模式-外觀模式(Facade-Pattern)。 問題 問題:如果你組裝了一套家庭影院,內含播放

原创 python 設計模式-適配器模式

問題:假設有一個軟件系統,你希望它能在不改變現有代碼的前提下和一個新的廠商類庫搭配使用,但是這個新廠商所設計出來的接口不同於舊廠商的接口 這個問題和下圖的問題類似 美國標準的插頭🔌無法在歐洲標準的插座上使用,通常的做法是什麼呢? 添加

原创 Solidity 簡易教程0x001

Solidity是以太坊的主要編程語言,它是一種靜態類型的 JavaScript-esque 語言,是面向合約的、爲實現智能合約而創建的高級編程語言,設計的目的是能在以太坊虛擬機(EVM)上運行。本文基於CryptoZombies,教程地址

原创 SQLAlchemy in 查詢空列表問題分析

問題場景 有model Account,SQLAlchemy 查詢語句如下: query = Account.query.filter(Account.id.in_(account_ids)).order_by(Account.date_c

原创 Solidity 簡易教程

Solidity是以太坊的主要編程語言,它是一種靜態類型的 JavaScript-esque 語言,是面向合約的、爲實現智能合約而創建的高級編程語言,設計的目的是能在以太坊虛擬機(EVM)上運行。本文基於CryptoZombies,教程地址

原创 AWS-Lambda 使用入門

場景:現在需要開發一個前後端分離的應用,後端採用 RESTful API 最爲方便,但是如果這個後端服務會在一天中的某些時候有高併發的情況,使用什麼樣的架構最爲簡單呢? 剛思考這個問題的時候我想到的解決方案可能有以下幾種: 使用CDN內