04 2018 档案
摘要:断言 断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真. 在python中使用assert关键字,后面是一个表达式,当表达式值为真时会继续执行,否则抛出AssertionError 异常 异常就是程序运行时(逻辑错误)发生错误的信号,错误范围两种-语法错误和逻辑错误
阅读全文
摘要:介绍 wtforms是一个支持多个web框架的form组件,主要用来做表单的验证以及生成的, 安装 使用 自定义一个类,继承wtforms.Form类,定义字段 渲染 实例自定义的类对象,传入模板中,如果实例对象时传入了数据,该数据会被渲染到input框里 验证 实例自定义类对象是传递数据 实例化时
阅读全文
摘要:介绍 DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。 pg大概是是PostgreSQL(基于PyGreSQL)数据库,DB是其他数据库 安装 PooledDB 创建一批连接到连接池,供所有线程共享使用。PS:由于pymysql、MySQLdb等thr
阅读全文
摘要:补充一下 request是在哪里产生的: 请求流程 session的存取过程 session的取值过程位于上图的此部分 Flask实例的open_session方法首先是取了session_interface的值--一个类(SecureCookieSessionInterface)的对象,调用了他的
阅读全文
摘要:一 代码编排 1 缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。 3 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行
阅读全文
摘要:上下文管理协议 要使用 with 语句,首先要明白上下文管理器这一概念。有了上下文管理器,with 语句才能工作。 下面是一组与上下文管理器和with 语句有关的概念。 上下文管理协议(Context Management Protocol):包含方法 __enter__() 和 __exit__(
阅读全文
摘要:介绍 Nginx HTTP服务器的特色及优点 a. 支持高并发:能支持几万并发连接(特别是静态小文件业务环境) b. 资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB c. 可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专业
阅读全文
摘要:服务管理 查看服务状态 关闭服务 启动服务 关闭开机启动 开机启动 显示所有已启动的服务 查看服务是否正在运行 查看服务是否开机启动 关闭防火墙 SElinux 修改配置文件使SElinux关闭开机启动
阅读全文
摘要:yum安装 yum相当于python的包管理器,从网络上下载并且安装,且他可以安装该包所有的依赖 配置yum源: 进入这里点击对应版本后的帮助 安装常用软件: 配置epel: epel拥有更多的软件,配置同配置yum源,选择epel后的帮助 rpm安装 rpm也是包管理器,不过他不会安装依赖 使用r
阅读全文
摘要:作用 生成项目所使用的第三方模块及版本号的文件 根据文件安装第三方模块 安装 生成依赖文件 在项目目录下 会生成requirements.txt文件,其中包含了项目所导入的包及版本号 通过指定参数 --encoding=utf8可以解决中文问题 安装依赖文件 ps : 项目中不要有中文(包括注释),
阅读全文
摘要:装饰器介绍 装饰器的本质:一个闭包函数 装饰器的功能:在不修改原函数及其调用方式的情况下对原函数功能进行扩展 一个简单的装饰器实例 python为我们提供了简单写法 当我们明白装饰器的本质之后,就可以去搞搞更多的装饰器,比如带参数的装饰器,以及用类写一个装饰器 带参数的函数装饰器:@xxx()就相当
阅读全文
摘要:汉诺塔问题 汉诺塔的解法在于将问题分解 可以说汉诺塔只有三步 代码写过程 代码写次数 算数写次数 小青蛙问题 本质:问题的拆解+累加 青蛙跳台阶算法,每次可以跳1级或两级,请问有n级台阶,有多少种跳法 用Fib(n)表示青蛙跳上n阶台阶的跳法数,青蛙一次性跳上n阶台阶的跳法数1(n阶跳),设定Fib
阅读全文
摘要:在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 Threading.local可以创建一个对象,每个线程都可以对他读写属性,但不会互相影响 通过字典以及面向对象中的魔法方法来自己实现一个
阅读全文
摘要:Flask介绍 Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug(Django使用的是wsgiref) ,模板引擎则使用 Jinja2 。 Flask特点: 短小精悍,可拓展强,第三方组件丰富 与Django的比较: 大而全,内部提供:O
阅读全文
摘要:什么是树 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点
阅读全文
摘要:函数调用 首先需要从函数的调用开始讲起。 JS(ES5)里面有三种函数调用形式: 一般,初学者都知道前两种形式,而且认为前两种形式「优于」第三种形式。 从看到这篇文章起,你一定要记住,第三种调用形式,才是正常调用形式: 其他两种都是语法糖,可以等价地变为 call 形式: 请记下来。(我们称此代码为
阅读全文
摘要:Redis介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的values类型相对更多,包括字符串、列表、哈希散列表、集合,有序集合。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,
阅读全文
摘要:CORS与JSONP的比较 在出现CORS标准之前, 我们还只能通过jsonp的形式去向“跨源”服务器去发送 XMLHttpRequest 请求,这种方式吃力不讨好,在请求方与接收方都需要做处理,而且请求的方式仅仅局限于GET。 CORS概念 支持CORS请求的浏览器一旦发现ajax请求跨域,会对请
阅读全文