• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

竹千代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

随笔分类 -  python

Django的单元测试
摘要:1、单元测试框架 django-unittest https://docs.djangoproject.com/en/1.9/topics/testing/overview/#speeding-up-the-tests 自动生成测试数据库时候,要注意编码问题,特别是数据库中存储了汉字信息。 需要在 阅读全文

posted @ 2016-06-08 17:06 竹千代 阅读(592) 评论(0) 推荐(1)

Python性能分析方法
摘要:https://segmentfault.com/a/1190000002400160 https://segmentfault.com/a/1190000000616798 阅读全文

posted @ 2016-02-23 12:51 竹千代 阅读(164) 评论(0) 推荐(0)

High Performance Django
摘要:构建高性能Django站点性能可用伸缩扩展安全build1、审慎引入第三方库(是否活跃、是否带入query、是否容易缓存)2、db:减少query次数 减少耗时query 减小返回集 缓存查询结果 johnny.cache 读写分离3、模板:俄罗斯套娃式缓存4、耗时操作异步... 阅读全文

posted @ 2015-11-11 10:45 竹千代 阅读(561) 评论(0) 推荐(0)

tornado介绍
摘要:一、定义 tornado是一个异步非阻塞模型的服务器(tcp/http)、web框架。二、特性1、高并发 原因:其一,网络事件循环部分根据操作系统选择最高效的,如Linux会是epoll; 其二,框架本身是异步的,用add_timeout代替sleep,AsyncHttpClient代替... 阅读全文

posted @ 2015-10-20 22:43 竹千代 阅读(346) 评论(0) 推荐(0)

python框架(flask/django/tornado)比较
摘要:一、对外数据接口三者作为web框架,都是通过url映射对外的接口flask:以decorator的形式,映射到函数中django:以字典形式,映射到函数tornado: 以字典形式,映射到类中flask的接口散落在整个app文件中,多了的话,稍微不易于管理;django单独集中在url.py文件中,... 阅读全文

posted @ 2015-10-16 10:27 竹千代 阅读(2996) 评论(0) 推荐(0)

部署应用的几种方式比较
摘要:python作为web服务器上的开发语言,一般都是部署在linux上部署方法,先都会在服务器前面增加一个nginx,用它来控制对静态文件的访问;对于动态内容,反向代理到web server制作web server有两种方法,一种是用Python程序编写的web server,比如gevent、tor... 阅读全文

posted @ 2015-10-15 15:11 竹千代 阅读(745) 评论(0) 推荐(0)

python多线程与多进程
摘要:由于python的内存回收机制不是线程安全的,所以就有了GIL保证每个进程内,同一时刻最多只有一个线程在运行。于是,对于python的多线程来讲,其实同一时刻依然只有一个线程在运行。而且由于线程切换的缘故,多线程的效率还不及单线程。对于不需要进行通信,不需要频繁且高并发量地执行的cpu密集型的任务,... 阅读全文

posted @ 2015-10-15 09:38 竹千代 阅读(153) 评论(0) 推荐(0)

多继承
摘要:python中支持多继承。当用派生类对象调用函数时,如果派生类有定义该函数,那么它就覆盖基类中的函数class X(object): def __init__(self): print('X')class Z(X): def __init__(self): p... 阅读全文

posted @ 2015-09-19 09:31 竹千代 阅读(168) 评论(0) 推荐(0)

生成器
摘要:生成器是generator,就是指带有关键字yield的函数。它与一般函数不同点在于: 1、函数调用返回迭代子iterator,迭代子可以理解为一系列的值>>> def func():... yield 1...>>> a = func()>>> a 2、迭代子每次只能拿到一个值,若想拿... 阅读全文

posted @ 2015-09-08 17:23 竹千代 阅读(217) 评论(0) 推荐(0)

_x、__x、__x__含义与区别
摘要:_x是一种弱表示,它用在类中的属性或方法,表示是private属性,希望外部使用者不要直接调用它。但它只是暗示,没有任何限制性措施。private属性主要推荐的还是这种方式,因为Python的设计理念有一条 “We are all adults here”__x是会被实现时,会被替换_A__x形式。... 阅读全文

posted @ 2015-09-07 12:00 竹千代 阅读(1411) 评论(0) 推荐(0)

线程同步
摘要:区别:Lock/RLock/Semaphore 是强调互斥,要么是绝对互斥,要么是一定程度下互斥Condition/Event是强调通信,就是一方要等待另一方的消息/条件Queue是强调先来后到,需要按序做......参考:http://yoyzhou.github.io/blog/2013/02/... 阅读全文

posted @ 2015-05-27 18:22 竹千代 阅读(122) 评论(0) 推荐(0)

优化程序
摘要:python性能是个瓶颈,没必要在上面花太多精力。如果在意性能,应当直接换编程语言。优化python的思路:1、数据结构set/list/dict等等要区分清楚用途2、算法不在这里细说,通用思路3、多层循环减少不必要的运算 for i in range(10): x = len(aa) .... 阅读全文

posted @ 2015-05-26 10:07 竹千代 阅读(141) 评论(0) 推荐(0)

标准库源码--wsgi服务器
摘要:功能模块化带来可自由组装的便利:使用python的mixin特性装配class ThreadHTTPServer(ThreadingMixin, HTTPServer): pass上面表示1个请求1个线程式的HTTP服务器使用参数式形式进行装配class CGIHTTPServer(HTT... 阅读全文

posted @ 2015-05-06 09:20 竹千代 阅读(206) 评论(0) 推荐(0)

flask剖析
摘要:1、为何只要通过import request,就能拿到对应的request呢?怎么解决区分请求,区分线程的问题?简而言之,就是通过拿栈顶对象就表示是当前活动的对象但对于多线程,由于栈的数据结构是 {ident: {key: [value, ...]}},所以,在__getattr__内部,隐藏实现通... 阅读全文

posted @ 2015-04-29 09:21 竹千代 阅读(116) 评论(0) 推荐(0)

wsgi协议
摘要:用来为server程序和app/framework程序做连接桥梁的,使server和app/framework各自发展,任意组合上图是python3.4标准库里面,关于wsgiserver的实现。从图中可知,所谓wsgi的server的主要工作是运动tcp进程,解析http协议部分参数;然后交给应用... 阅读全文

posted @ 2015-04-28 11:16 竹千代 阅读(472) 评论(0) 推荐(0)

编程细节
摘要:1、函数参数的默认值尽量不要是可变对象python中,一切皆对象。函数也不例外。默认值在函数的func_defaults属性中,如果是默认值可变对象,某次被修改,默认值就会被改变。2、类属性不同于对象属性对象可以访问/修改类属性,而类不可以访问修改对象属性类属性对所有对象而言是唯一共同的,对象属性则... 阅读全文

posted @ 2015-04-27 20:10 竹千代 阅读(168) 评论(0) 推荐(0)

特色模块
摘要:一、JSON & Pickle二者都是用来对python对象进行json格式的编码或者解码json跨语言平台;pickle是Python语言特定,编码后的结果其他语言无法使用pickle效率比Json高二、wsgiref主要用来处理与wsgi协议相关内容,包括处理环境变量、处理回应头信息、启动htt... 阅读全文

posted @ 2015-04-27 19:30 竹千代 阅读(169) 评论(0) 推荐(0)

语言特性
摘要:1、魔方函数http://www.rafekettler.com/magicmethods.html2、with关键句 class Excutor: def __enter__(self): set things up return t... 阅读全文

posted @ 2015-04-27 17:30 竹千代 阅读(233) 评论(0) 推荐(0)

 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3