原创 unix進程間通信方式(IPC)

管道(Pipe):管道可用於具有親緣關係進程間的通信,允許一個進程和另一個與它有共同祖先的進程之間進行通信。 命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係進程間的通

原创 凱撒密碼和反密碼

在密碼學中,愷撒密碼是一種最簡單且最廣爲人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後(或向前)按照一個固定數目進行偏移後被替換成密文。 加密過程 1.從1到25決定一個數字爲密鑰。保持這個密鑰的祕密! 2.找

原创 部署筆記

網絡應用模式 - C/S、B/S、P2P Web應用 - Selenium / Robot Framework - 自動化測試 |--- Selenium IDE - 瀏覽器插件 - 錄製宏 Selenium |--- S

原创 認證和權限

生成用戶令牌(token) 哈希碼 - MD5/SHA1 UUID - 全局唯一標識符 JWT - Json Web Token - djangorestframework-jwt 防跨站身份僞造 - CSRF / XSRF 防表單重複提

原创 接口

API - Application Programming Interface 語言本身提供的API 網絡API(數據接口)- 免費開放(OpenAPI) / 付費 業務下沉 - 訪問別人的接口 - urllib / requests /

原创 數據庫事務、Redis緩存

項目的架構(業務架構、技術架構、物理架構) 單機架構 ---> 多機架構 ---> 讀寫分離 ---> 集羣架構 垂直擴展和水平擴展 Django工作流 / M(數據持久化)-V(頁面/報表/圖表)-C(接納請求/操作模型/生成視圖)

原创 併發編程

併發編程(concurrent programming) 提升執行性能 - 讓程序中沒有因果關係的部分可以併發的執行 改善用戶體驗 - 讓耗時間的操作不會造成程序的假死 Python中實現併發編程的三種手段: 多線程 - 多個線程可以

原创 單例模式

單例模式 一個類只能創建出唯一的一個對象 無狀態對象或對象狀態是共享的 這樣的對象通常可以設計爲單例對象 實現方式一:使用元類形成約束 class SingletonMeta(type): def __init__(cls,

原创 生成器、迭代器

生成器 生成器表達式:(x ** 2 for x in range(1, 11)) yield關鍵字 迭代器 __iter__:返回迭代器對象 __next__:取下一個迭代值 斐波那契數列和求素數的生成器和迭代器的實現 from

原创 docker

Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。 Docker - Debian

原创 架構體系

原创 哈希

哈希算法 哈希摘要 - 數字簽名/數字指紋 - 防篡改/保護敏感信息 哈希算法是一個單向運算的函數(單向哈希函數) 通過哈希算法可以將對象計算出哈希摘要但是哈希摘要無法還原出原來的對象 Martin Fowler - 代碼有很多種壞味道

原创 魔術方法

在Python中以兩個下劃線開頭的方法,__init__、__str__、__doc__、__new__等,被稱爲"魔術方法"(Magic methods)。魔術方法在類或對象的某些事件出發後會自動執行,如果希望根據自己的程序定製自己特殊功

原创 裝飾器

裝飾器 - 用裝飾函數去執行被裝飾函數並添加額外的功能 - 代理模式 程序中跟正常業務邏輯沒有必然聯繫而且會重複使用的功能稱爲橫切關注功能 橫切關注功能不應該寫在業務邏輯代碼上而應該使用裝飾器或中間件來完成 這種編程理念也被稱爲面向切面編

原创 Scrapy

Scrapy概述 Scrapy 是一個基於 Twisted 的異步處理框架,是純 Python 實現的爬蟲框架,其架構清晰, 模塊之間的耦合程度低,可擴展性極強,可以靈活完成各種需求。 我們只需要定製開發幾個模塊就可以輕鬆實現一個爬蟲。它可