首先,今天的這張圖,要感謝黑修斯在艾X科技醫電班的同組同學,也是PM的allen,這圖片是由他製作的。
另外我們整組的簡報在此---slideshare
day14
教大家如何透過python 的 pymongo來驅動mongoDB。
今天會帶大家理解一下,整個python在後台間所用到的套件以及部分技術細節。
開源網路服務器框架Tornado,最早由facebook發布,是一款輕量級的Web服務器,同時為一個開發框架。使用非阻塞I/O模型(epoll),主要是為了對付多並行數據請求,而被開發出來。
前面我們學習了python套件pymongo對mongoDB的基本寫讀功能,而tornado用於對應前端的服務器,這邊會使用到兩個server,一個為websocket,一個為webserver。
WebSocket是一種在單個TCP連接上進行全雙工通訊的協定。WebSocket通訊協定於2011年被IETF定為標準RFC 6455,並由RFC7936補充規範。WebSocket API也被W3C定為標準。
WebSocket使得用戶端和伺服器之間的資料交換變得更加簡單,允許伺服器端主動向用戶端推播資料。在WebSocket API中,瀏覽器和伺服器只需要完成一次交握,兩者之間就直接可以建立永續性的連接,並進行雙向資料傳輸。
來源:維基百科
websocket在我們的三十天中,會扮演主要的指令分析器與通訊的部分。
而webserver在我們的三十天中,主要用於圖片的請求。
$ pip install tornado
安裝完畢,執行下列程式碼:
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
在瀏覽器輸入http://localhost:8888/ ,應該可以看到Hello, world,如下圖:
更多細節可以到官方文件查看,明天會開始說明tornado的基本操作。