越过山丘

不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。

Flask源码剖析(6): 响应

一. 含义 与Request类相对应,Flask框架使用Response类对HTTP请求的响应。 平时我们不会跟response直接打交道,Flask会自动生成响应返回到客户端,只需要关注view的实现即可。 二. 响应 先来看看一个正常的response是什么格式,用简单应用实现的程序为例。 1 curl -i "http://127.0.0.1:5000/" 返回: 1 2 3 4 ...

Flask源码剖析(5): 请求

一. 含义 先来看一下request的定义: 1 2 3 4 5 6 7 8 def _lookup_req_object(name): top = _request_ctx_stack.top if top is None: raise RuntimeError(_request_ctx_err_msg) return getattr(top, na...

Flask源码剖析(4): 上下文

一. 概念 软件工程中,上下文是一种属性的有序序列,它们给驻留在环境内的对象定义了环境。在对象的激活过程中创建上下文,对象被配置为要求某些自动服务,如同步、事务、实时激活、安全性等等。 在计算机技术中,相对于进程而言,上下文就是进程执行的环境。具体来说就是各个变量和数据,包括所有的寄存器变量,进程打开的文件、内存信息等。–百度百科 每一段程序都有很多外部变量。只有像Add这种...

Flask源码剖析(3): 路由

一. 路由含义 在Flask框架中,路由是指用户请求的URL与视图函数之间的映射,根据HTTP请求的URL在路由表中匹配预定义的URL规则,找到对应的视图函数, 并将视图函数的执行结果返回WSGI服务器。 二. 路由规则 flask.Flask.route()装饰器 1 2 3 @app.route('/') def hello_world(): return 'Hello Wor...

Flask源码剖析(2): 简单应用

一. 最小的应用 1 2 3 4 5 6 7 8 9 10 11 12 # -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): import ipdb ipdb.set_trace() return 'Hello ...

Flask源码剖析(1): 总览

一. 背景 做一件事无非就三个过程,做这件事的目的是什么?有什么宗旨?想达到什么样的结果? 阅读一份源码应当也是同样的。 说到目的,要也得先知道这个目的从何而来。 有人说,人成熟的开始就是在不断认识自己的渺小和平凡,然后不断的妥协。 因此,为什么要剖析Flask源码? 目的大概是以下几点: 如果这份代码在我的项目中使用了,那么它就是我的程序,必须对它负责,搞懂它。 用...

Git使用规范

背景 Ruby on Rails作者汉森说,灵活性被过分高估——约束才是解放。 无规矩不成方圆。世事向来如此,不在一定规则之内,十之八九不能成事。 假使一个团队内部没有约束,形成一套做事的规范,必定走向混乱。 协作流程 目前比较广泛使用的协作流程有三种,Git Flow/Github Flow/Gitlab Flow,所处团队使用的是Git Flow/Github Flow,就聊聊这个。 ...

进程、线程、协程

高并发/高性能 (进程/线程/协程) 进程线程协程之间的区别和联系 先来看一个例子: 一个蓄水池,是1m1m1m=1立方米大小,有一个出水口,出水口每秒钟流出0.1立方米,那么这个蓄水池的并发量是1立方米,出水速度是0.1立方米/秒。 如果增加一个出水口,都是每秒钟流出0.1立方米,那么这个蓄水池的并发量没变,但是出水速度变成了0.2立方米/秒。 同理,增大了出水口,蓄水池的出水速...

tcp三次握手

TCP/UDP 运输层:提供的是进程间的通用数据传输服务。由于应用层协议很多,定义通用的运输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。 tcp/udp 特点...

常用网络协议

常用网络协议 1. OSI模型 2. 协议层次 3. 协议介绍 进程/应用层 Telnet协议 FTP协议 SMTP协议 DNS协议 HTTP协议 RPC协议 主机-主机层 TCP协议 UDP协议 Internet层 IP协议 ICMP协议 ARP协议