摘要: amazon s3的用户验证方式是一种对称加密方式,下面介绍此加密方式。请求的构造 请求元素: AWS Access Key Id:其实就是常见的用户名,用来区分用户的。 Signature:签名,使用私钥计算后得出。 Timestamp:时间戳 Date:时间,为每一个请求设置一个过期时间。验证过程 客户端:经过下面3个步骤1 构建http请求。2 使用请求内容(request_str) 和 secret-key计算签名(signature)。3 发送请求到aws服务器。 aws服务器:经过下面三个步骤4 Amazon S3 根据发送的access-key得到对应的secret... 阅读全文
posted @ 2012-04-13 15:49 gtt116 阅读(5274) 评论(0) 推荐(0) 编辑
摘要: ;move line up down(defun move-text-internal (arg) (cond ((and mark-active transient-mark-mode) (if (> (point) (mark)) (exchange-point-and-mark)) (let ((column (current-column)) (text (delete-and-extract-region (point) (mark)))) (forward-line arg) (move-to-column co... 阅读全文
posted @ 2012-04-11 17:57 gtt116 阅读(820) 评论(0) 推荐(0) 编辑
摘要: 什么是Emacs?Emacs是一种强大的文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境。在里面你可以收发电子邮件,FTP,上新闻组,日历,游戏,写代码,调试等等。对于某些人,打开电脑后,只要打开一个Emacs和FireFox,就可以完成所有的事情。甚至还流传着这么一句话:Emacs除了不能修理自行车,其他都可以做。 阅读全文
posted @ 2012-04-11 11:18 gtt116 阅读(479) 评论(0) 推荐(0) 编辑
摘要: python下的调试工具:pdbpython -m pdb your_python_script.py或者图形化的工具winpdb 阅读全文
posted @ 2012-03-04 15:29 gtt116 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 前言在python中的列表操作主要有两种,一种类似于lisp的函数编程方法:filter( function,list) , map( function, list)另一种特别pythonic——列表推导 [ i for i in list ]现在就两种方法进行对比,看看哪种效率高filter 和 列表推导file: filter-1.py 1#coding=utf-8 2 import time 3 4 list = [i for i in range(1,50000)] 5 start = time.time() 6 for i in range(0,1000): 7 l... 阅读全文
posted @ 2012-03-04 14:51 gtt116 阅读(1805) 评论(0) 推荐(0) 编辑
摘要: 前言层次型数据在数据库中的存储已经是老生常谈,常见的:邻接表改进前序遍历树下面我将简要介绍这两种方法的思路并附上代码,然后会探讨两种方法的优劣,以及背后原因,最后提出一种折衷的办法:改进邻接表。方法一:邻接表假设我们需要在数据库中存储如下的结构(图片来自:参考1)那么使用邻接表将会在数据库中这么存放数据:(图片来自:参考1)表结构很简单明了,值得一提的是实际项目中parent一般是写id号的,这里只是为了可读性。那么我们从数据库中恢复树状结构只要使用递归的方法,代码如下 1 #coding=utf-8 2 3 import sqlite3 as lite 4 import time 5 6.. 阅读全文
posted @ 2012-03-04 11:17 gtt116 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 上一期完理解了WSGI处理思路,现在看看django是如何实现这个接口的。django.core.handlers在此模块中着重看两个文件:base.py, wsgi.py首先从宏观上看主要涉及到的类:而当我们运行了manage.py runserver后,将会生成一个进程来运行WSGIHandler实例,来响应用户的请求,其实WSGIHandler就是一个上篇提到的app。好了,现在关键就是WSGIHandler的__call__方法。WSGIHandler.__call__代码如下(可现暂时略过):View Code def __call__(self, environ, start_re 阅读全文
posted @ 2012-02-28 11:39 gtt116 阅读(659) 评论(0) 推荐(1) 编辑
摘要: 前言Django是一个开放源代码的Web应用框架,她像一个工具箱,包括了整个web开发中的各种技术,例如ORM,Template等。这是在阅读django的源码中作的笔记。首先需要简要介绍以下WSGI。WSGI基本概念wsgi是Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。 在此接口中有两个方面,一个web应用程序类比java中的war包,一个是web服务器类比tomcat,apache。在这里我们只关注web应用程序。 参考http://www.python.org/dev/peps/pep-0333/在此接口中定义了一个服务器和应用程序通信的方法:#f 阅读全文
posted @ 2012-02-28 11:08 gtt116 阅读(622) 评论(2) 推荐(1) 编辑