Fork me on GitHub
摘要: WSGI:Web Server Gateway Interface 只要求Web开发者实现一个函数,就可以响应HTTP请求。# hello.pydef application(environ, start_response): start_response('200 OK', [('Cont... 阅读全文
posted @ 2015-10-26 16:52 Roronoa__Zoro 阅读(129) 评论(0) 推荐(0) 编辑
摘要: BS架构:Browser/ServerWeb开发阶段: 静态Web CGI: Common Gateway Interface ASP/JSP/PHP MVC: Model-View-ControlHTTP协议格式 GET /path HTTP/1.1Header1: Value1Head... 阅读全文
posted @ 2015-10-26 16:08 Roronoa__Zoro 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Picklepickle.dumps()方法把任意对象序列化成一个bytes,然后,就可以把这个bytes写入文件。>>> import pickle>>> d = dict(name='Bob', age=20, score=88)>>> pickle.dumps(d)b'\x80\x03}q\x... 阅读全文
posted @ 2015-10-24 00:27 Roronoa__Zoro 阅读(307) 评论(0) 推荐(0) 编辑
摘要: Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试。例子:# mydict2.pyclass Dict(dict): ''' Simple dict but also support access as x.y style. >>> d1 = D... 阅读全文
posted @ 2015-10-23 18:55 Roronoa__Zoro 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 例子我们来编写一个Dict类,这个类的行为和dict一致,但是可以通过属性来访问,用起来就像下面这样:>>> d = Dict(a=1, b=2)>>> d['a']1>>> d.a1待测试程序#mydict.pyclass Dict(dict): def __init__(self, **k... 阅读全文
posted @ 2015-10-23 14:07 Roronoa__Zoro 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 调试1 print()def foo(s): n = int(s) print('>>> n = %d' % n) return 10 / n2 assertdef foo(s): n = int(s) assert n != 0, 'n is zero!' re... 阅读全文
posted @ 2015-10-23 13:52 Roronoa__Zoro 阅读(128) 评论(0) 推荐(0) 编辑
摘要: ls没有直接显示目录的选项,不过根据目录和文件显示的差异,可以搭配grep来实现方法1:ll | grep "^d" 方法2:ls -F | grep$ "/$" # √good同理,要只显示文件可以:ll | grep "^-"ls -F | grep "[^/]$" ... 阅读全文
posted @ 2015-10-23 12:13 Roronoa__Zoro 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 统计单个文件有多少行方法1: awk '{print NR}' test1.sh|tail -n1方法2: awk 'END{print NR}' test1.sh方法3: grep -n "" test1.sh|awk -F: '{print '}|tail -n1方法4: sed -n ... 阅读全文
posted @ 2015-10-23 11:57 Roronoa__Zoro 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 搭建环境 服务器端:CentOS 6.5 IP:192.168.101.129 客户端:CentOS 6.5 、 Windows服务器端: 创建repository版本库,例如/srv/test.git git init --bare 创建一个裸仓库,没有工作区,目的是不让用户... 阅读全文
posted @ 2015-10-23 00:48 Roronoa__Zoro 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 忽略特殊文件在工作区创建.gitignore文件,编写内容# Windows:Thumbs.dbehthumbs.dbDesktop.ini# Python: 忽略Python编译产生的.pyc、.pyo、dist等文件或目录*.py[cod]*.so*.egg*.egg-infodistbu... 阅读全文
posted @ 2015-10-22 22:41 Roronoa__Zoro 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 新建标签 git tag 默认为HEAD,也可以指定一个commit id eg. git tag v0.9 git tag v1.031aa59c git tag -m "xxx" 可以指定标签信息 git tag -s 可以用PGP签名标签查看标签 ... 阅读全文
posted @ 2015-10-22 18:52 Roronoa__Zoro 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 当连个分支对统一文件提交了不同修改时,可能会出现冲突,例如:$ git merge feature1Auto-merging readme.txtCONFLICT (content): Merge conflict in readme.txtAutomatic merge failed; fix c... 阅读全文
posted @ 2015-10-22 16:42 Roronoa__Zoro 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 创建新分支,并切换到该分支 git checkout -b dev 这一句相当于以下两句: git branch dev 创建 git checkout dev 切换 查看当前分支 git branch 查看 在dev分支上修改一些内容,add并commit合并分... 阅读全文
posted @ 2015-10-22 16:18 Roronoa__Zoro 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 第1步:创建SSH Key在用户目录下的.ssh目录中,查看是否有id_rsa和id_rsa.pub两个文件,若没有则通过以下命令生成秘钥对: $ ssh-keygen -t rsa第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面: 添加id_rsa.... 阅读全文
posted @ 2015-10-22 15:54 Roronoa__Zoro 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1 从版本库删除文件git rm git commit -m "xxx"2 工作区中文件被误删,但版本库中没有删除,可以恢复到工作区git checkout -- 阅读全文
posted @ 2015-10-22 15:15 Roronoa__Zoro 阅读(143) 评论(0) 推荐(0) 编辑
摘要: git关注的是修改,而不是文件commit只会提交add到暂存区的修改撤销修改已修改但没有add到暂存区 git checkout -- #撤销工作区中的修改已add到暂存区,但还没有commit到分支 git reset HEAD #从暂存区退回到工作区 git checkout ... 阅读全文
posted @ 2015-10-22 14:57 Roronoa__Zoro 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 工作区(working directory):就是能看到的目录,如我的git文件夹版本库(repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库里面最重要的就是暂存区(stage或者叫index),还有Git为我们自动创建的第一个分支master,以及指向maste... 阅读全文
posted @ 2015-10-22 14:46 Roronoa__Zoro 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1 创建目录mkdir gitcd git2 初始化git init #会在目录下自动创建一个.git目录,用于跟踪管理版本库,不要修改3 向版本库中添加文件git add readme.txt #版本库目录(或子目录)下新建一个readme.txt文件, 不能添加空目录4 提交到... 阅读全文
posted @ 2015-10-22 14:32 Roronoa__Zoro 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 网站:https://github.com注册 -- New repository -- 按提示填写 -- 完成仓库设置网页和本地连接CentOS安装git yum -y install gitmkdir github && cd github克隆仓库 git clone git@github.c... 阅读全文
posted @ 2015-10-22 13:04 Roronoa__Zoro 阅读(116) 评论(0) 推荐(0) 编辑
摘要: type()函数既可以返回一个对象的类型,又可以创建出新的类型def fn(self, name="world"): print("Hello, %s!" % name) Hello = type("Hello", (object,), dict(hello=fn))h = Hello(... 阅读全文
posted @ 2015-10-22 11:58 Roronoa__Zoro 阅读(155) 评论(0) 推荐(0) 编辑