原创 Go語言全棧開發:指針

文章目錄Go語言中的指針 Go語言中的指針 區別於C/C++中的指針,Go語言中的指針不能進行偏移和運算,是安全指針。 要搞明白Go語言中的指針需要先知道3個概念:指針地址、指針類型和指針取值。 任何程序數據載入內存後,在內存都有

原创 Go語言全棧開發:模板語言

html/template包實現了數據驅動的模板,用於生成可防止代碼注入的安全的HTML內容。它提供了和text/template包相同的接口,Go語言中輸出HTML的場景都應使用html/template這個包。 模板與渲染 在

原创 Django開發:wsgi源碼分析

入口 看源碼,找到程序的入口是第一步,很簡單,我們怎麼啓動django來着 python manage.py runserver 8000 好了,就它manage.py,我們來看看它裏面都幹了些啥(讀源碼不必面面俱到,找到關鍵代

原创 Go語言全棧開發:併發(下)

併發安全和鎖 有時候在Go代碼中可能會存在多個goroutine同時操作一個資源(臨界區),這種情況會發生競態問題(數據競態)。類比現實生活中的例子有十字路口被各個方向的的汽車競爭;還有火車上的衛生間被車廂裏的人競爭。 舉個例子:

原创 Django-rest framework開發:Restful 接口規範

REST簡介 REST這個詞,是Roy Thomas Fielding在他2000年的博士論文(Architectural Styles and the Design of Network-based Software Archi

原创 Django開發:概述

儲備知識: socket網絡編程 web框架本質 Django起源 Django是一個由Python編寫的具有完整架站能力的開源Web框架。使用Django,只要很少的代碼,Python的程序開發人員就可以輕鬆地完成一個正式網站

原创 Django-rest framework開發:Web API接口

web API 通過網絡,規定了前後臺信息交互規則的url鏈接,也就是前後臺信息交互的媒介.Web API接口和一般的url鏈接還是有區別的,Web API接口簡單概括有下面四大特點: url:長得像返回數據的url鏈接

原创 Go語言全棧開發:併發(上)

文章目錄Go語言中的併發編程 併發是編程裏面一個非常重要的概念,Go語言在語言層面天生支持併發,這也是Go語言流行的一個很重要的原因。 Go語言中的併發編程 併發與並行 併發:同一時間段,利用單個CPU快速來回切換執行多個任務。

原创 Flask開發高級:上下文管理前戲

文章目錄面向對象偏函數線程安全數據結構彩蛋 在對Flask的上下文管理源碼進行剖析之前,我們得回顧下python相關的基礎知識。 面向對象 __ call__ 只要定義類型的時候,實現__call__函數,這個類型就成爲可調用的

原创 Flask開發高級:【上】下文管理源碼解析

入口 if __name__ == "__main__": app.run() 進入run中: def run(self, host=None, port=None, debug=None, load_dotenv=Tr

原创 Flask開發高級:上【下】文管理源碼解析

回顧 在前一篇中,我們已經知道Flask是通過把用戶的請求信息放入到線程棧中進行存儲。例如你的線程id是9528,你進來後,生成一個stack,stack存放的就是9528的請求信息。你是9529、9531等依次對應,所有用戶的請

原创 Flask開發:藍圖

文章目錄引言藍圖(Blueprint)輔助文件說明 引言 Flask中的藍圖(Blueprint)的作用就是將功能與主服務分開,比如說,你有一個圖書管理系統。最開始的時候,只有一個查看圖書列表的功能(show_book)模塊,後來

原创 Flask開發:特殊裝飾器

文章目錄before_requestafter_request錯誤狀態碼處理 在介紹藍圖的時候,我們做了一個圖書管理的頁面,可以將json格式的圖書數據進行展示、增加、修改、刪除: 下面我們給圖書管理頁面進一步增加一個用戶校驗的

原创 Flask開發:實例化Flask參數與app配置

文章目錄1. 初始配置參數2. app配置參數 1. 初始配置參數 對Flask實例進行初始配置的參數,在pycharm中按住Ctrl鍵的同時點擊下面的Flask,可查看默認參數: app = Flask(__name__) 常

原创 Go語言全棧開發:反射

文章目錄變量的內在機制反射介紹reflect包結構體反射反射是把雙刃劍練習題 本文介紹了Go語言反射的意義和基本使用。 變量的內在機制 Go語言中的變量是分爲兩部分的: 類型信息:預先定義好的元信息。 值信息:程序運行過程中可動