自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (12)
  • 收藏
  • 关注

原创 shell 2>&1

cmd >file 2>&1将命令cmd的stdout重定向到文件file当中,同时把stderr重定向到stdoutBashFAQ/055

2017-06-22 17:07:59 357

原创 Postgresql 递归查询

每个comment记录它的父级的commentclass Comment(db.Model): id = db.Column(db.Integer, primary_key=True) content = db.Column(db.String) parent_id = db.Column(db.Integer)included_parts = db.session.

2017-06-14 22:36:03 541

原创 fluent python读书笔记

第一章    1. the python data model - 介绍了三个magic method __getitem__, __len__(内置的会比自己实现的快,因为CPython有优化,因此len不是一个method),还有collections.namedtuple,跟struct类似,挺好用的,用来保存数据增加可读性,类似一个没有操作的class     2.data str

2017-06-07 21:36:37 590

原创 WebServer和python app之间的联系

WebServer和App的那些事webserver服务器与python app的联系是比较简单的。根据WSGI接口协议,App端只要定义def simple_app(environ, start_response)一个接口两个参数的callable obj就可以了。 在WebServer端则需要:import os, sysdef run_with_cgi(application): en

2017-03-20 21:17:11 816

原创 gunicorn分析 基于 tag0.2

gunicorn 工作原理1.工作模型    gunicorn采用的是master-worker模型,一个master进程,多个worker进程。master进程负责管理worker进程 def spawn_workers(self): workers = set(w.id for w in self.WORKERS.values()) for i i

2017-03-08 22:00:21 582

转载 flask一次request请求过程 基于tag0.7

tag 0.4 没有什么重大改变tag 0.5 最大的变化就是将原本一个flask.py文件按照功能分模块了,不再是揉杂在一个文件里面tag 0.6 新增了signal功能tag 0.7 功能改动大

2017-03-02 21:26:54 419

原创 flask的request_context原理 基于flask v0.1

一来就上代码,问你怕没有_request_ctx_stack = LocalStack()current_app = LocalProxy(lambda: _request_ctx_stack.top.app)request = LocalProxy(lambda: _request_ctx_stack.top.request)session = LocalProxy(lambda: _

2017-02-27 22:32:32 1164

原创 flask一次request请求过程 基于tag0.2和0.3

前言:    在tag为0.2和0.3的版本中,flask的一次request请求过程没有发生太大的改变。增加的内容:    1·tag为0.2版本中 增加模块化的支持,应该就是blueprint的前身。目的也是为了更好的管理大型项目。例如:app = Flask(__name__)app.register_module(admin, url_prefix='/admin

2017-02-26 16:41:43 506

原创 flask一次request请求过程 基于tag0.1

以下是基于[email protected](从最简单的开始)前提:    flask是一个web app,它是跟wsgi_server交互的。他们之间的关系就不在这里叙述了详情请看 WSGI接口从这里开始: def wsgi_app(self, environ, start_response): """The actual WSG

2017-02-25 19:05:50 797

原创 Connection:Keep-Alive 和 Transfer-Encoding: chunk

问题:    在HTTP早期每个HTTP请求都会打开一个TCP socket连接,传输完数据之后服务端主动断开这个TCP链接。如果HTTP头部有 Connection:Keep-Alive 这个字段,那么客户端和服务器之间用于传输数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接,省去了重新建立TCP连接的消耗。那么问题来了,如果是Keep-Aliv

2016-12-17 21:08:23 1111

转载 nginx root alias

一直没有搞清楚nginx的root路径:location /img/ { alias /var/www/image/;}#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件location /img/ { root /var/www/image;}#若按照这种配置的话,则访问/img/目录下的文件

2016-12-11 18:41:42 254

原创 python if 判断

1·要判断一个变量是否为某种类型的时候,最好用"if a is type",例如:if a is None 或者 if a is list

2016-11-19 15:44:08 632

原创 python实现短网址系统

前言:        在看了这篇文章短 URL 系统是怎么设计的?之后打算自己实现一个出来。这个系统真的很简单,但是里面包含的内容却不少,体现出基本功。嗯,我的第一想法也是文章所说的最烂的方案短URL系统主要解决下面几个问题:     1·长URL怎么对应短URL(基本)    2·短URL怎么还原成长URL(基本)    3·如何提高并发能力(进阶长URL

2016-11-09 22:47:04 3564

原创 flask-tips(01)去掉url末尾的/

后端实现: @mod.before_request def clear_trailing(): from flask import redirect, request rp = request.path print request.query_string if rp != '/' and rp.endswith('/'): rp

2016-11-05 16:39:38 1522

原创 python __getattr__和__getattribute__

在python中实例的属性访问都会经过__getattribute__,如果属性找不到则就会调用__getattr__class A(object): def __init__(self, name): self.name = name def __getattribute__(self, item): try: ret

2016-11-03 23:11:59 511

原创 python项目打包成pip安装&pip install 介绍

先看一个简单的python项目文件目录.├── pip_setup│   ├── __init__.py│   └── ext│       └── __init__.py└── setup.pypip_setup就是所需要打包的python文件。我们关注的是setup.py这个文件,这个是打包的关键from setuptools import setu

2016-10-15 15:07:54 8968

原创 记一次Nginx+uWsgi+flask部署配置

flask;nginx;uWsgi

2016-09-10 16:16:19 3561

原创 python源码阅读-闭包实现

一、缘由      听了朋友吹Lua的闭包实现,感觉Lua的闭包实现很优雅,之前也在网上看到一些关于python闭包的源码分析,但是好像很复杂的样子没有细细深究。所以现在好好分析一下。二、开始    以这段代码开始(基于Python 3.4.4,CPython):def f(x): def add(value): return x+value r

2016-03-28 00:22:13 861

转载 关于gameloop

gameloop顾名思义就是游戏的主循环了。不过因为机器的不同,为了带来更好的gameplay,需要对GameLoop进行一个深入的探究。第一:最简单的while( true ) { update(); render(); }什么都不需要管,简单了事。但是问题多多。如果还恒定的机器上还好,恒定以一个速率来刷新。但是如果在卡的机器下面,你就gg了。

2016-01-31 16:26:46 2513

转载 关于闭包

我在这里只是稍稍总结闭包(closure)的一下特点,详细的解释还是参考下面的两个链接吧。1·闭包是词法闭包(Lexical Closure)的简称,是由函数和与其相关的引用环境组合而成的实体。ta是一种特殊的数据结构,ta的scope(作用域)也是一种叫做lexical scope,还有一个概念就是free variable2·python中可以这么实现一个闭包:de

2016-01-12 00:10:25 355

原创 python 实现逆波兰式

复习实习数据结构:      实现逆波兰式其实搞懂里面的规则就很简单的了。树的遍历:前序:根左右。中序:左根右。后序:左右根直接上代码import operatoropMap = {'+':operator.add,'-':operator.sub,"/":operator.truediv,"*":operator.mul}proMap = {'(':100,'+':

2015-12-14 22:01:31 3028

转载 python是一门动态语言

Python 3.4.3 通过下面的例子,来说说。import sysdef modu(x,y): return x%yprint(modu(7,4))print(modu("hello %s","world"))第一个输出是3,第二个输出呢?you try try。那么原因到底为何?原因在此

2015-08-15 16:26:04 601

转载 简单实现flask route

import reclass NotFlask():def __init__(self):self.routers = [];@staticmethoddef build_router_re(route):route_regex = re.sub('()',r'(?P\1.+)',route)route_reg_str = "^{}$".format(route

2015-07-19 12:05:36 1624

原创 python描述符Descriptor

Descriptor(描述符)这个概念比较难解释。参考一下的顺序进行阅读和理解定义了__get__,__set__或__delete__方法的类 称为描述符对象1·官方文档 看完并没有个卵用 2·Python描述符(descriptor)解密 结合例子理解3·Python之美[从菜鸟到高手]--玩转描述符和属性 玩转描述符和属性4·python cookbook pytho

2015-06-03 00:30:54 453

原创 python小技巧

1·list表头插入元素   a. list.insert(0,obj)   b. list[0:0] = [obj]

2015-05-24 14:53:37 354

原创 python 内存管理简单总结

1·python的垃圾回收机制主要是使用引用计数法,即为,每个生成的对象增加一个计数器,当这个计数器为0的时候进行垃圾回收。2·但是引用计数法不能解决循环引用问题,即为A引用了B,B引用了A,A,B的引用数都为1,但是明显A,B也垃圾,应该回收了*-那么python因为GC模块来解决循环引用问题。方案是:标记-清除法。原理,将所有的对象拷贝一份出来,寸成一个双向链表,然后对每个

2015-05-22 20:07:37 531

原创 python yield send

def cd(n):    while n>=0:        print("first n:"+str(n))        newn = yield n        print("second n:"+str(n))        print("fist newn:"+str(newn))        if newn is not None:         

2015-05-18 23:36:39 572

原创 python赋值总结和分片操作

在python中,对于值只有两种,要么可变(list,dict,tuple),要么不可变(int,long,str)。很多时候要理解赋值过程,可以将其看作成一个指针操作。例如:a = 4;#一个名叫a的指针指向一个值为4的地址空间b = [2,3,4,5]#一个名为b的指针指向一个list。那么对于分片操作就很好理解了。 a = [2,3,4];b = a[:]

2015-05-17 21:15:46 1859

原创 Python3.4的Pillow库实现验证码图片

简单来说实现验证码就是一下几个步骤随机几个验证码字符将字符draw到image上添加一下干扰旋转,模糊,锐化imagefrom PIL import Image,ImageDraw, ImageFont, ImageFilterimport random_letter_cases = 'abcdefghjkmnpqrstuvwxy'_upper_cases = _letter_cases

2014-12-16 22:37:25 7752 1

转载 python正则表达式学习笔记01

re模块

2014-10-12 16:11:57 499

原创 Python deque学习笔记01

from collections import deque

2014-10-12 15:31:24 4980

原创 新浪微博开发之php开发

PS:这个是菜鸟教程因为功能需求的原因,需要使用新浪微博的一些接口,于是看了一下如何开发新浪微博开发。马上进去正题。第一步:http://open.weibo.com/           在新浪微博·开发平台创建一个应用,因为我的是php应用,所以是网站接入。然后开始接入,之后要填写开发者信息。然后就要验证网站所有权输入网站名称(自己喜欢),网站域名(重点)不能乱填,填你网站

2013-03-31 01:43:44 1415

原创 关于struts2传参的一些看法

以下是我刚接触struts不久(一天不到)之后,对struts2传参数的一些看法,求拍砖,求指导。请先移步到OGNL官方文档解释再看看以下的例子:/show.do?id=1&name=bin" >我是连接struts.xml /next.jsp /index.jsp ShowAction类的show方法:public String s

2012-11-01 17:10:26 3340

转载 java.util.ConcurrentModificationException

工作中碰到个ConcurrentModificationException。代码如下:List list = ...;for(Iterator iter = list.iterator(); iter.hasNext();) {    Object obj = iter.next();    ...    if(***) {        list.remove(obj);

2012-10-28 14:56:31 441

原创 java小基础(1)关于参数传递

题目:               Integer integer=new Integer(1);               A(integer);               System.out.println(integer);                              String string="nu";               B(stri

2012-10-11 21:44:19 291

原创 拓扑排序

实现的基本方法  拓扑排序方法如下:  (1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它.  (2)从网中删去该顶点,并且删去从该顶点发出的全部有向边.  (3)重复上述两步,直到剩余的网中不再存在没有前趋的顶点为止.(如果还有,证明是一个环) 作用: ③一个DAG的拓扑序列通常表示某种方案切实可行。  注意:可以存

2012-09-26 23:32:42 281

转载 逆波兰式

定义: 一个表达式E的后缀形式可以如下定义:  (1)如果E是一个变量或常量,则E的后缀式是E本身。  (2)如果E是E1 op E2形式的表达式,这里op是如何二元操作符,则E的后缀式为E1'E2' op,这里E1'和E2'分别为E1和E2的后缀式。  (3)如果E是(E1)形式的表达式,则E1的后缀式就是E的后缀式。 以上那个是来至百度的解释

2012-09-26 19:48:33 468

转载 Struts2中的特殊符号

#:从actioncontext中取值,前面加上#%:%{#username}百分号的作用就是将大括号中的值当成ognl表达式$:用于在struts配置文件中#、%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分。在这里笔者简单介绍它们的相应用途。1.#符号的用途一般有三种。   1)访问非根对象属性,例如示例中的#session.msg表达

2012-08-26 14:39:19 933

原创 mapabc 定位

先说说我的测试机器:nexus s,操作系统:android 4.1。以下的结果都是通过nexus s上测试通过。还是直接上代码package com.myMap;import java.util.ArrayList;import java.util.List;import android.R.drawable;import android.R.integer;

2012-08-11 23:17:55 2234

原创 android ListView添加button(2)

先说说我的测试机器:android 虚拟机,sdk 2.3.3。直接上代码:package com.listViewTest2;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;i

2012-07-30 22:22:37 2586 1

my Map.rar

myMap.rar地图

2012-08-11

TestMapABCDemo.zip

一个很不错的mapabc地图使用学习资料

2012-08-11

listViewTest2.rar

android listview(2).rar

2012-07-30

ListViewTest.rar

android listview 添加button

2012-07-26

android camera(4)

android camera zxing

2012-07-23

android camera(3)

android camera(3)自动对焦功能

2012-07-21

android camera(2)

android camera含有照相功能版本

2012-07-21

android camera1

android camera1的demo只有预览功能

2012-07-19

vim+破解方法

将viPlugin2.lic文件拷贝到eclipse根目录下就可以

2012-07-11

OpenGL nehe 教程

OpenGL nehe 教程所有课程的源代码

2011-10-12

Effective_C++中文版

Effective_C++中文版Effective_C++中文版

2011-06-05

即时通讯服务器设计思路

即时通讯服务器设计思路

2010-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除