原创 Lua 語言環境安裝

Linux 系統上安裝(本文使用了5.3.0版本進行安裝:) curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz tar zxf lua-5.3.0.tar.gz cd lua-

原创 Lua 語言基本語法

第一個 Lua 程序 1.交互式編程 Lua 提供了交互式編程模式。我們可以在命令行中輸入程序並立即查看效果。 Lua 交互式編程模式可以通過命令 lua -i 或 lua 來啓用 2.腳本式編程

原创 函數裝飾器、類裝飾器

一:函數裝飾函數 def wrapFun(func): def inner(a, b): print('function name:', func.__name__) r = func(a, b)

原创 python functiontools模塊中的 wraps

直接上代碼看效果:   # 定義一個最簡單的裝飾器   def user_login_data(f):     def wrapper(*args, **kwargs):       return f(*args, **kwargs)

原创 redis pipline 和 事務

1. Pipeline:“管道”,和很多設計模式中的“管道”具有同樣的概念,pipleline的操作,將明確client與server端的交互,都是“單向的”:你可以將多個command,依次發給server,但在此期間,你將無法獲得單個

原创 Innodb中的行鎖與表鎖

在Innodb引擎中既支持行鎖也支持表鎖,那麼什麼時候會鎖住整張表,什麼時候或只鎖住一行呢? InnoDB行鎖是通過給索引上的索引項加鎖來實現的,這一點MySQL與Oracle不同,後者是通過在數據塊中對相應數據行加鎖來實現的。InnoDB

原创 mongoengine 分頁 切片與 skip + limit 的區別

首先要了解切片與 skip 的原理   切片原理是將 index(索引) 或 cursor(遊標)移動到 start 位置再 進行切分;   skip原理是跳過start條數據後再獲取 1. 單純的普通分頁用 切片和 skip 方法個人覺得

原创 python-django中間件session源碼

settings.py MIDDLEWARE = [ 'django.contrib.sessions.middleware.SessionMiddleware', ] 1. 看看SessionMiddleware類   fro

原创 Convert PIL Image to byte array?

1.import io img = Image.open(fh, mode='r') roiImg = img.crop(box) imgByteArr = io.BytesIO() roiImg.save(imgByteArr, f

原创 seaweedFS

那首先我們來分析一下seaweedfs是什麼?seaweedfs是一個非常優秀的由 golang 開發的分佈式存儲開源項目。它是用來存儲文件的系統,並且與使用的語言無關,使得文件儲存在雲端變得非常方便。seaweedfs也是一個非常優秀的開

原创 他他他她她她所唱所寫………

你我皆凡人 生在人世間 終日奔波苦 一刻不得閒 既然不是仙 難免有雜念 道義放兩旁 利字擺中間 多少男子漢 一怒爲紅顏 多少同林鳥 已成分飛燕 人生何其短 何必苦苦戀 愛人不見了 向誰去喊冤   問你何時曾看見 這世界爲了人們改變 有了夢

原创 tornado 異步

引言 注:正文中引用的 Tornado 代碼除特別說明外,都默認引用自 Tornado 4.0.1。 tornado.gen 模塊是一個基於 python generator 實現的異步編程接口。通過該模塊提供的 coroutine (注:

原创 進程、線程、協程

進程 進程的出現是爲了更好的利用CPU資源使到併發成爲可能。 假設有兩個任務A和B,當A遇到IO操作,CPU默默的等待任務A讀取完操作再去執行任務B,這樣無疑是對CPU資源的極大的浪費。聰明的老大們就在想若在任務A讀取數據時,讓任務B執

原创 python-Tornado 框架

概述 Tornado 是 FriendFeed 使用的可擴展的非阻塞式 web 服務器及其相關工具的開源版本。這個 Web 框架看起來有些像web.py 或者 Google 的 webapp,不過爲了能有效利用非阻塞式服務器環境,這個 We