自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Everything should be made as simple as possible, but no simpler

  • 博客(42)
  • 资源 (6)
  • 收藏
  • 关注

转载 Django Ajax with CSRF

http://stackoverflow.com/questions/5100539/django-csrf-check-failing-with-an-ajax-post-request

2011-09-29 23:36:11 2024

翻译 WSGI.解析POST请求

当请求方法是POST的时候,查询字符串将从HTTP请求体中传递而不是通过URL。请求体是WSGI服务器提供的类似于环境变量的wsgi.input文件。有必要知道应答体的大小,以便从wsgi.input中读出它。WSGI明细规定,CONTENT_LENGTH变量来存储大

2011-09-23 15:30:46 12631

翻译 WSGI.解析GET请求

再次运行environment.py,这次这样调用它:http://localhost:8051/?age=10&hobbies=software&hobbies=tunning注意环境字典中的QUERY_STRING和REQUEST_METHOD变量。当请求方法是G

2011-09-22 15:49:46 3531

翻译 WSGI.应答可迭代对象

如果上一个脚本工作正常,将返回语句从return [response_body]改成return response_body然后再次运行它。注意到它变慢了吗?这样的话,服务器会迭代这个字符串,每次向客户端发送一个字节。所以不要忘记将应答封装在一个有更好性能的可迭代

2011-09-22 15:23:18 1010

翻译 WSGI.环境字典

环境字典包含类似于CGI的变量,对于每个从客户端来得请求,服务器来植入它。下面这个脚本将输出整个字典:#! /usr/bin/env python>>> from wsgiref.simple_server import make_server>>> def appl

2011-09-22 14:40:45 932

翻译 WSGI.应用接口

WSGI应用接口被实现为可调用的对象:一个函数,方法,类或者一个带有__call__方法的实例。这个可调用对象1. 必须接受两个位置参数:一个包含类似于CGI变量的字典;一个回调函数,这个回调函数将被应用用来发送HTTP状态码/消息和HTTP头给服务器。2

2011-09-22 14:09:10 904

翻译 WSGI.入门

WSGI不是什么:服务器,一个Python模块,一个框架,API或者任何种类的软件。它是什么:接口规范,通过它服务器和应用通信。服务器和应用程序两端的接口都有指定。PEP3333是唯一指定这个标准的地方。如果一个应用(或者是框架、工具箱)按照WSGI规范写出来,然后它就能够运行在任何按照WSGI规范实现的服务器上。WSGI应用(意思是兼容WSGI标准)可以被堆叠。在堆得中间的那些东西叫做...

2011-09-22 11:51:43 1753

翻译 Lisp.作为属性的函数

函数是Lisp对象的事实允许我们写出在运行时被扩展的程序。假设我们想要写一个函数,这个函数接受动物的类型作为参数并做一些对应的操作。在大多数语言中,要做到这点就是用case语句,我们在Lisp中也可以这样做:(defun behave (animal)(case anim

2011-09-20 17:09:07 1326

翻译 Lisp.函数参数

将函数看做数据意味着,我们可以将它们作为参数传递给其它函数。这种能力是Lisp自下而上编程非常重要的一部分。一个允许函数作为数据对象的语言必须提供一些调用它们的方式。在Lisp中,这个函数就是apply。通常,我们向apply传递两个参数来调用它:一个函数,和这个函数

2011-09-16 17:05:01 2832

原创 Python的不定参数

以一个*开始的参数,代表一个任意长的元组:>>> def mul(*arg):...     print arg... >>> mul(1,2,3,4,5,6,7,'hello','panfei')(1, 2, 3, 4, 5, 6, 7, 'hello',

2011-09-15 18:57:57 941

原创 Python元类

记住:元类就是类的模板。我要一大群的类都具有一中特点,我怎么给他们加上呢?模板模板吗,我从这个模板创建一群类不就OK了?那就需要元类了。定义一个元类(就所一个类的模板!莫多想,还要记住这是类级别的,不是对象级别的!):class MyMeta(type):...     def __init__(cls,name,bases,dic):...         print cls.__na...

2011-09-15 18:57:09 852 1

原创 复合设计模式—MVC

很强大,但让我很头疼的东西,弄懂它!这个东西无非就是模型-视图-控制器。还有什么——关系,更确切一点就是这三者之间的关系。首先明确谁能和谁通信:现在你是一个播放器:我的视图上有按钮,当别人按了播放按钮的时候,这个信号应该传递到控制器,所以视图能向控制器传递信息;这个时候,控制器就应该调用模式里的代码,去播放音乐,所以控制器能向模型传递信息;与此同时,控制器可能将播放按钮

2011-09-15 18:56:39 906

原创 装饰器模式

很多东西在装饰 着你:比如你的衣服...所谓装饰吗,仅仅是装饰而已。假如你有一只狗,给它系了跟红领巾,变漂亮了,这就是装饰了。可是狗该跑还是跑,该叫还是叫,总之你装饰不能(至少大多数情况下不能)把原来的东西给装饰没了吧。还有,你小时候看过那些小人在机器人里的动画片吧,看看,人家叫来了机器人,钻到里面,手上就能开火了,两只脚也变成了火箭推进器,功能是大大地增加了呀 !看到了吧,装饰不仅仅是花架子。...

2011-09-15 18:56:13 1052 1

原创 依赖抽象,不要依赖具体

这是OO设计中的一个原则。到底是什么意思呢?理解一下:抽——————抽出来的东西;这个东西,总之你不能把它想的很神秘,它就是一种经验的总结 。下面有一个例子啊:时下喜欢小狗,小猫的人多了,开个宠物店肯定有的赚!在这里我就有个疑问了,为什么人们要开宠物店而不开个什么小狗店,小猫店什么的?你要开个小狗店,那意思就说你只能卖小狗了,小猫店类似;呵呵,现在我们站在顾客的角度去想想这个问题,顾客...

2011-09-15 18:55:35 2077

原创 策略模式

策略模式!对于办一件事情,你可以有不同的“策略”,而做事情的主体(比如你)可以随时调用不同的策略来做事情!这里有个关键点,就是做事情的主体在这个过程中是不变的。你还是你,比如让你做一件事情:制造点声音。这个任务可以有很多策略!你可以大喊一声;你可以摔个碗什么的;你可以弹钢琴....,反正又没有规定你“怎么”制造声音,其中的“怎么”就是策略。很简单吧。就拿让你“制造点声音”这个例子写点代码吧:...

2011-09-15 18:55:02 592

原创 观察者模式

我认为这个模式名称有先天的残疾!如果你确实理解了观察者模式你就能体会到了!福尔摩斯不止一次对华生说:“我是在观察,而你是在看”。福尔摩斯那可真叫观察呀,对周围的事物简直观察到了极致了...可观察者模式里的这群观察者可是不折不扣的懒汉!他们从不主动观察!他们只是等待被通知呢!所以我一直认为“订报模式”更能说明这个模式的意思,因为订报的人都很懒,他们就在家等着报纸送来。所以我们就订报吧!一般订报...

2011-09-15 18:54:32 923

翻译 Hbase数据模型

介绍:                   BigTable数据模型和后来的HBase数据模型相似,因为后者是克隆的前者,这种数据模型适用于数据密集型的系统。从关系型数据库获得可伸缩性并不能通过简单地添加机器来完成,因为它的数据模型是基于单机架构的。比如,在两个表上的JOIN

2011-09-15 18:52:59 1290 1

原创 C语言常见排序算法

#include void swap (int *x, int *y){    int temp;    temp = *x; *x = *y; *y = temp;}// 插入排序 升序void insertsort(int arr[], i

2011-09-15 18:51:36 594

翻译 Lisp.定义函数

多数人通过defun来学习怎样定义函数。下面的表达式定义了一个叫做double的函数,这个函数返回它参数的两倍。[1]> (defun double (x) (* x 2))DOUBLE将这些传递给Lisp之后,我们可以在其它函数中调用double,或者直接在最高

2011-09-15 18:50:45 1059

翻译 Lisp.函数作为数据

两样东西使得Lisp函数不同。第一,上面提到的,Lisp自身就是一个函数的集合。这意味着我们可以向Lisp中加入我们自己的操作符。另外一个我们需要知道的关于函数的东西是它们是Lisp对象。Lisp提供了其它语言中能找到的多数的数据类型。我们知道整形和浮点型数字,字符串

2011-09-15 18:50:14 957

翻译 Lisp.函数

函数是Lisp程序的构建块。它们也是Lisp的构建块。在多数的语言中+操作符和用户自定义函数是非常不同的。但是在Lisp中有一个单一模型,函数应用,来描述一个程序所要做的全部计算。Lisp的+操作符是一个函数,和你自己定义的函数一样。事实上,除了一小部分叫做特殊形式的

2011-09-15 18:49:49 912

翻译 Lisp.为什么使用Lisp

这些新的可能性并不是来自于一个新的神奇元素。在这个方面,Lisp就像是一个架构。到底是哪块楔形的石头(拱石)来管控这个架构呢?这个问题本身就是错误的;它们都在做。像一个架构,Lisp是一个连锁特征的集合。我们可以列出其中的一些特征——动态存储分配和垃圾回收,运行时类型,作为对象的

2011-09-15 18:49:28 945

翻译 Lisp.扩展Lisp

有两种方式来给Lisp添加新的操作符:函数和宏。在Lisp中,你定义的函数和内置的那些有一样的状态。如果你想要一个mapcar的变体,你可以自己定义一个,并像使用mapcar一样使用它。比如,如果你想要一个函数应用于1到10的变量后返回的一列值,你可以创建一个新的列表并将它传递给

2011-09-15 18:49:05 1078

翻译 Lisp.可扩展的软件

Lisp风格的编程是随着软件复杂度的增长而增长的。高端用户现在要求程序做那么多的事情,以至于我们不能满足他们所有的需求。他们自己也不能完全满足他们自己的需求。但是如果我们不能给他们满足他们完全需求的软件,我们可以给他们可扩展的软件。我们将我们的软件从一个单一的程序编程一个编程语言

2011-09-15 18:48:38 688

翻译 Lisp.自下而上的编程

一个程序的函数元素不能太大是一个长期存在的编程风格原则。如果程序的某些组件增长到读难以理解的成都,它就变成一大堆的复杂东西,它们隐藏错误就像一个大城市隐藏逃亡者一样简单。这样的软件将很难读、很难测试、很难杀臭虫。遵循这个原则,一个大的程序必须被分成很多片,一个程序越大

2011-09-15 18:48:07 1337

翻译 Lisp.演进设计

因为Lisp给你自己定义你自己操作符的自由,你可以把它铸造成适合你需求的语言。如果你正在写一个文本编辑器,你可以将Lisp转化成一个写编辑器的语言。如果你正在写一个CAD程序,你可以将Lisp转化成写CAD程序的语言。如果你不知道你在写什么类型的程序,使用Lisp也是安全的尝试。

2011-09-15 18:47:38 716

翻译 Lisp.可扩展的语言

不久前,如果你问LISP是用来做什么的,许多人将回答:“做人工智能的”。事实上,Lisp和AI的关系仅仅是一个历史的巧合。John Mcarthy发明了LISP,他也提出了了“人工智能”的概念。他的学生和同事都用LISP来写程序,然后LISP就被称为一门AI语言。这条线在20世纪

2011-09-15 18:47:08 933

原创 R语言,一些数据操作

我们首先创建一些向量> manager > date > contry > gender > age > q1 > q2 > q3 > q4 > q5 然后我们把这些向量组成一个数据帧> leadership > leade

2011-09-15 18:46:40 4298

翻译 R语言,图形

本章包含:创建和保存图个性化符号、线、颜色和坐标轴用文本和标题注释控制一个图的维度合并多个图到一个很多时候,我想客户通过数字和文字展示精心准备好的统计结果,得到的只是他们发呆的样子。同样的客户,当我以图形的形式展示给他们同样的信息的时候,通常得到的

2011-09-15 18:46:06 1429

原创 Canopy聚类算法说明

Canopy聚类算法是一个将对象分组到类的简单、快速、精确地方法。每个对象用多维特征空间里的一个点来表示。这个算法使用一个快速近似距离度量和两个距离阈值 T1>T2来处理。基本的算法是,从一个点集合开始并且随机删除一个,创建一个包含这个店的Canopy,并在剩余的点集合上迭代。对

2011-09-15 18:45:22 1089

原创 C语言实现二分查找算法

#include int binsearch(int x, int v[], int n){  int low, high, mid;  low = 0;  high = n - 1;  while (low     mid = (low + hi

2011-09-15 18:44:39 1120

翻译 Hadoop 任务分解

从高层看,有四个独立的实体: - 客户端,提交MapReduce任务- jobtracker,协调任务的运行。jobtracker是一个Java应用,它的主类是JobTracker- tasktrackers,运行被分割的任务。tasktrackers是一个Jav

2011-09-15 18:44:08 1048

翻译 MapReduce工作流

当处理变得非常复杂的时候,复杂性通过更多MapReduce任务,而不是更多的map和reduce函数来适应。换句话说,作为一个经验规则,考虑添加更多的jobs,而不是添加更多的复杂性给jobs。 对于更复杂的问题,值得考虑高层语言来代替MapReduce,像是Pig,Hi

2011-09-15 18:42:48 2421

原创 JavaScript计算日期的函数

注意:Date对象获得的月份是从0开始记的: function addDays(nd){    var day = new Date();     var newtimems = day.getTime() + (nd * 24 * 60 * 60 * 1000);     day.setTime(newtimems);     var xyear = day.getFullYea...

2011-09-15 18:40:17 595

原创 C语言统计每行的字符数

#include#include#define MAXLINE 1000int getxline(char s[], int lim){    int c, i;    for(i = 0; i         s[i] = c;

2011-09-15 18:38:55 1166

原创 C语言外部变量

下面的例子将两个通用的函数给特化了,这种情况下不应该使用外部变量,仅仅作为说明: #include#define MAXLINE 1000int max;char line[MAXLINE];char longest[MAXLINE];in

2011-09-15 18:38:25 552

原创 C语言实现指数计算

这个问题的关键点在确定初始值 #includeint power(int m, int n);int main(){    int i;    for(i = 0; i         printf("%d %d %d/n", i, pow

2011-09-15 18:37:46 3751

原创 C语言统计输入行数、单词数、字符数

这个问题的关键在于统计单词的个数:状态的转变定义了一个单词 #include#define IN 1#define OUT 0main(){    int c, nl, nw, nc, state;    state = OUT;

2011-09-15 18:37:16 4059

原创 C语言替换特定字符

这个问题的思路应该从字符从字符的角度展开,不能一蹴而就。 int execise3(){    int c; // the character currently input    while((c = getchar()) != '0')    {

2011-09-15 18:36:46 2028

原创 C语言去除特定字符

这个是C编程语言中的一个题目,一开始看上去这个很无从下手,其实最重要的是把握问题的本质:状态。根据不同的状态做出不同的操作。以下是第一遍思路实现的结果,显然有很多应该去掉的代码。 int execise2(){    int c;    int b = 1;

2011-09-15 18:36:01 2002

ASGI 3.0规范中文版.pdf

ASGI规范 3.0;主要用于ASGI服务器的设计和开发提供基础协议规范,具体服务器实现有Django Daphne/Uvcorn这两个代表;现在Django 3 也直接集成了异步功能。

2019-12-20

Serious Python中文版.docx

Serious Python中文版(无关系数据库一章),希望对需要的同学有帮助。

2019-07-09

设计模式 书籍 程序设计

设计模式的经典巨著 参与写作的都是些牛人 哈

2009-03-13

Erlang programing

Erlang Programing Joe Armstrong

2008-11-05

空空如也

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

TA关注的人

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