跳至主要内容

博文

目前显示的是 七月, 2018的博文

从一条简单的 URL 开始

从代码开始 先来看一段代码 from flask import Flask, g, request from functools import wraps app = Flask(__name__) def set_g(f): @wraps(f) def decorator(*args, **kwargs): g.auth = 'zadmin' g.scope = 5 g.num = 0 return f(*args, **kwargs) return decorator def check_auth(f): @wraps(f) def decorator(*args, **kwargs): auth = g.auth if auth != "admin": print "Failed in auth" g.num = 20 return f(*args, **kwargs) return decorator def check_scope(f): #@wraps(f) def decorator(*args, **kwargs): ''' This check scope docker string ''' scope = g.scope if scope not in [1, 2, 3]: print "Failed in scope" g.num = 10 return f(*args, **kwargs) return decorator @app.route('/test') @set_g @check_auth @check_scope def test(): ''' This is function test''' …

Python 中的 UUID

python 中的 uuid
代码参考 cpython/Lib/uuid.py
版本 3.7 什么是 UUID UUID 的全称是 Universal Unique Identifier,中文名是 通用唯一标识符;
wikipedia 上 UUID 的定义是 a 128-bit number used to identify information in computer systems UUID 需要满足两个条件: 128 bit具有标识别计算机系统的能力 UUID 的规则 格式将 16 个 8 位字节表示成 32 个十六进制数按照 8-4-4-4-12 的格式加上 4 个连字符 “-‘ 版本 UUID 应该是下面的这种格式 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 其中 M 开始的 4 位表示版本,N 开始的 4 位表示变种

Name                        Length(bytes)    Length(hex digits)                       Contents

time_low                         4                             8                  integer giving the low 32 bits of the time
time_mid                         2                             4                  integer giving the middle 16 bits of the time|
time_hi_and_version      2                              4                  4-bit “version” in the most significant bits,                                                                                               followed by the high 12 bits of the time
clock_…