原创 werkzeug實現簡單Python web框架(3):添加動態路由

完整代碼: https://github.com/yangzhezjgs/Light/tree/master/webapp 藉助werkzeug原生的Map,Rule來添加動態路由支持 修改了 __init__函數和add_u

原创 flask+mongodb實現簡單todolist應用

學習mongodb的小練習 效果 點擊submit,顯示如下列表 點擊done,unifinished 變爲 finished 點擊delete刪除 結構 todolist/ ├── app.py └─

原创 python實現簡單redis客戶端(1)

目的: (1)學習各種數據庫客戶端的原理: 連接數據庫服務器的端口,發送協議,受到應答 (2)redis協議 Redis 的通信協議是基於文本的,且以行爲劃分,每行以 \r\n 結束。每一行都有一個消息頭,消息頭共分爲5種

原创 werkzeug實現簡單Python web框架(2):添加jinjia2模板支持

完整代碼: https://github.com/yangzhezjgs/Light/tree/master/webapp jinjia2是什麼? Jinja2是Python下一個被廣泛應用的模版引擎,他的設計思想來源於Dja

原创 《200行Python代碼實現2048》分析

實驗地址:https://www.shiyanlou.com/courses/368 實驗文檔 https://www.shiyanlou.com/courses/368/labs/1172/document 1.有限狀態機

原创 werkzeug實現簡單Python web框架(5):擴展思路

完整代碼: https://github.com/yangzhezjgs/Light/tree/master/webapp 通過前面三篇我們已經實現了一個簡單的MVC結構的Python web框架,但是這個web框架還有很多不完

原创 python實現簡單redis客戶端(3)使用asyncio添加異步支持

使用Python3標準庫的asyncio來進行異步連接 import asyncio @asyncio.coroutine def create_connection(host,port, loop=None): rea

原创 werkzeug實現簡單Python web框架(4):添加orm支持

完整代碼: https://github.com/yangzhezjgs/Light/tree/master/webapp orm代碼: 參考前文 Python實現簡單orm 將代碼複製粘貼到orm.py文件即可。 下面我們

原创 [隨筆]一種方法論

計算機學科有一句名言:計算機科學領域的任何問題都可以通過增加一個間接的中間層來解決。 這就有兩點啓發,一是計算機體系結構發展至今,就是一個又一個間接層累加的結果,二是學習新的開源軟件或者框架,就要學會去思考它是爲了解決什麼問題而

原创 [隨筆]深度

昨天看到一本書的序言,提到人工智能和機器學習的一個問題,“爲什麼我們小時候有人牽一匹馬告訴我們那是馬,於是之後我們看到其他馬就知道那是馬 。”一種解釋是:我們在頭腦裏形成了一個生物關係的拓撲,我們認知的各種生物都會放在這個拓撲的

原创 對服務器端編程的理解

服務器端編程的本質用一句話來概括就是解決客戶端進程和服務端進程之間的通信和數據交換問題。 下面我們就要思考兩個問題: 第一個是兩個進程如何通信? 通常通過操作系統提供的socket系統調用來進行TCP連接。(IPC方法很多,

原创 一個web框架的誕生——寫程序最重要的是開心

最近寫完了自己的個人項目—— 一個輕量級的 python web框架Light,簡單寫寫總結和心得體會。 完成這個項目的過程中學到的東西大體可以分爲兩個部分,一個是具有通用性的知識,一個是編寫過程中的具體的細節和理解。 通

原创 python 進階指南

https://github.com/yangzhezjgs/advanced-python 一份個人筆記和備忘錄,包含很多摘抄和示例代碼,基本覆蓋Python的高級特性和語法。 文檔用mkdown語法來寫,代碼多數只能用Pyth

原创 Xshell : Python實現的簡單shell

原項目爲:https://github.com/supasate/yosh Xshell對原項目進行了重構(面向對象)和擴展(支持重定向,管道,&) github地址:https://github.com/yangzhezjgs

原创 werkzeug實現簡單Python web框架(1):MVC模式

Werkzeug是Python的WSGI規範的實用函數庫。使用廣泛,基於BSD協議。 Flask底層就是使用了Werkzeug。 完整代碼: https://github.com/yangzhezjgs/Light/tree