源码: # -*- coding: utf-8 -*-""" flask.__main__ ~~~~~~~~~~~~~~ Alias for flask.run for the command line. :copyright: © 2010 by the Pallets team. :license: BSD, see LICENSE for more details.""" if __name__ == '__main__': from .c…
源码: # -*- coding: utf-8 -*-""" flask ~~~~~ A microframework based on Werkzeug. It's extensively documented and follows best practice patterns. :copyright: © 2010 by the Pallets team. :license: BSD, see LICENSE for more details.""&…
一 题外话 之前写过一篇最新版SDWebImage的使用,也简单的介绍了一下原理.这两天正梳理自己的知识网络,觉得有必要再阅读一下源码,一是看具体实现,二是学习一下优秀开源代码的代码风格,比如接口设计,设计模式,变量命名等等. 既然是第一篇,就要制定一个阅读源码的计划,以什么顺序阅读完全部代码.我们从最常见的入口切入sd_setImageWithURL,一路下去,最后再阅读没有设计到的部分. 二 入口 我们为什么使用SDWebImage,是因为他帮我们实现了图片的二级缓存,使我们加载图片更流畅.…
转自:http://www.cnblogs.com/v-July-v/archive/2011/01/06/1983695.html linux0.11内核源码剖析第一篇:memory.c July  二零一一年一月六日 ----------------------------------------- 博主声明:1.本系列非linux系统教程,仅仅是针对linux0.11内核源码,所做的剖析,注释.2.本系列参考:深入理解linux内核.linux内核完全注释,linux内核源代码情景分析3.…
flask.app该模块2000多行代码,主要完成应用的配置.初始化.蓝图注册.请求装饰器定义.应用的启动和监听,其中以下方法可以重点品读和关注 def setupmethod(f): @setupmethoddef register_blueprint(self, blueprint, **options): @setupmethoddef add_url_rule(self, rule, endpoint=None, view_func=None, provide_automatic_opt…
源码 # -*- coding: utf-8 -*-""" flask._compat ~~~~~~~~~~~~~ Some py2/py3 compatibility support based on a stripped down version of six so we don't have to depend on a specific version of it. :copyright: © 2010 by the Pallets team. :license: B…
作者:acezio链接:https://zhuanlan.zhihu.com/p/21358368来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. flask的url route管理 定义flask实例的route时,使用一个装饰器来装饰函数,例如: app = Flask(__name__) @app.route('/') def index(): return "<h1>hello world!</h1>" 通过阅读这段代码,发…
前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这样方便我们在本地环境添加注释.断点追踪.查看类或接口的继承关系等等,更加高效的学习Spring源码.个人觉得深读Spring源码对我们的编码水平会有很大很大的提升,因为其牵涉的广度.深读.以及优秀编码规范都值得我们去品.细品.慢慢品.废话不多说,本篇就如何在我们的intelliJ IDEA编译Spring源码的步骤以及在编译的过程中遇到的问题做一个详细说明. 环境 开发工具: IntelliJ ID…
gocron源码中使用的是下面这个第三方包来实现的,下面就单独的拿出来测试以下效果,和官方flag包差不多 go get github.com/urfave/cli package main import ( "fmt" "log" "os" "github.com/urfave/cli" ) func main() { app := cli.NewApp() var flags []cli.Flag flags = appe…
根据书本理论介绍以及实际看内核源代码得出: 1. 操作系统默认定义了64个TCB块(为全局变量,编译时候以及分配了,创建一个任务就使用一个,删除一个任务就归还一个)(为什么最大只支持64个任务呢,我们可能想到去更改OS_MAX_TASKS宏的值,但是任务就绪表OSRdyTbl[8]既然已经这样定义了,说明此系统初衷只能最大管理64个任务,而且为了加快查找最高优先级任务定义的OSUnMapTbl[ ]数组(这个数组比较难理解)也是专门为64个任务二设定的,所以要想修改系统支持的最大任务数,就得修改…