Python Web开发总结
HTTP协议
HTTP简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。
用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP协议工作于客户端-服务端架构为上。
浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器根据接收到的请求后,向客户端发送响应信息。

主要特点
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
Python装饰器详解
读《在细雨中呼喊》感悟

本文为整理以前的读书笔记
简介
《在细雨中呼喊》是一本关于记忆的书,是余华发表于1991年的第一部长篇小说。
作者以第一人称讲述了一个家庭的欢乐和苦痛,孙光林、孙光明、孙光平兄弟三人的际遇,及他们所处的家庭和社会,常常让读者有种无力感,又带有些微的庆幸。
还是最深的体会就是,为人父母者永远不要将自己的懦弱施加到孩子身上。世间苦难重重,孩子本无意来此世上,还遭受无谓之伤害,实在无辜。
笔记
这事给我哥哥留下了深刻的印象,有一次他神情黯然地说:“当我们想成为城里人时,城里人却在想成为歌唱家。
你拼命去追求的目标,到头来不过是别人一直想舍弃的
孙光明在临死的前一天,还坐在门槛上向孙光平打听村里谁快要结婚了,他发誓这次要吃十颗水果糖。他说这话时鼻涕都流进了嘴巴。
无常啊无常,世间事常是如此,不管是如此简单的快乐,还是鲜花着锦的富贵,都不能长久
使用PlantUML做软件设计
Plantuml 是什么?
首先得说一下UML,统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代和规约语言。
UML涵盖了很多类型的图,主要都是应用于软件开发行业。
在UML系统开发中有三个主要的模型:
功能模型:从用户的角度展示系统的功能,包括用例图。
对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
动态模型:展现系统的内部行为。包括序列图,活动图,状态图。
而PlantUML是一个开源项目,除了支持快速绘制上面这些类型的图表之外,还支持很多图表,具体查看官方网站。
PlantUML通过编写文本的方式来定义UML图表,有点类似markdown,然后生成图表
Python不完全指北
缘起
从大学开始接触Python,到现在也差不多四年了,也算小有所成。期间也有很多人问我如何学习Python,也只是零散地回答,刚好最近要做个Python的分享,就将这一块东西整理一下。
本文作为Python学习的指路文章,是个人在Python学习过程中的经验总结。
阅读的时候不需要太细致,略读即可。
读完后,能够对Python学习的各方面有个大致的概念,在学习过程少踩一些坑,收获就很大了。
简介
Python(音:派森),是一种强类型的动态语言,由吉多·范罗苏姆 创造,第一版发布于 1991 年。
名称由来
Python的创始人为吉多·范罗苏姆。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团的爱好者。
从windows资源管理器启动Python脚本
有时想给windows的资源管理器增加一些自定义的功能,比如创建目录联接到某个目录。
思路
给windows的资源管理器添加一个右键菜单,调用你想要运行的程序或脚本,理论上可以实现任意功能。
实现
那么我们就开始py一个脚本吧, 创建目录联接到指定目录
1 | import os, sys, subprocess |
无常迅速
昨夜刚收到外祖父离世的消息, 顿时心里空落落的, 不知何处安放.
随着年岁渐长, 看着亲人离自己远去, 真是很难接受, 恨自己的无力, 不能为他们做些什么.
或许这就是佛家说的求不得吧, 不喜欢的事物它还是会来, 喜欢的事物也还是会走, 来或是不来都难以求得, 父亲那是也是这样.
死生事大, 无常迅速.
无法, 唯有精进.
Python2 与 Python3 区别
速查表
Python2 vs Python3
| Name | Python2 | Python3 | Addtion Info |
|---|---|---|---|
| try | try except ValueError, e | try except ValueError as e | |
| exception | ValueError(‘aa’).message | - | python3中可用ValueError(‘aa’).args[0] 替代 |
__import__ |
__import__ |
__import__ |
推荐importlib.import_module替代,可移植性更好 |
| 关键字 | 函数 | ||
| unicode | unicode | str | python2默认的string是bytes, Python3中是unicode |
| bytes | str | bytes | |
| division | 1 / 2 | 1 // 2 | |
| division | 1 / 2.0 | 1 / 2 | |
| 不等于操作符 | <> | != | 这个操作费在Python3中已废弃,使用!=替代 |
| round | round(0.5) == 1.0 | round(0.5) == 0 | Python3内建的 round 是四舍六入五成双的机制 |
| xrange | xrange | range | |
| range | range(1,2) | list(range(1,2)) | |
| reduce | reduce | - | Python使用functools.reduce替代 |
| dict.keys | dict.keys() | list(dict.keys()) | python的dict遍历不保证顺序, 同一个字典py2和py3的遍历顺序可能不一样 |
| dict.iterkeys | dict.iterkeys() | dict.keys() | |
| dict.items | dict.items() | list(dict.items()) | |
| dict.iteritems | dict.iteritems() | dict.items() | |
| 内置库 | commands | - | 用subprocess替代 |
| 内置库 | sys.setdefaultencoding | - | |
| 内置库 | Queue | queue | |
| 内置库 | ConfigParser | configparser |
详细对比
unicode
Python2
- 字符串分
str('')和unicode(u'') - str,就是以
'xxx'形式输入的字符,实际储存的值是xxx经过系统默认字符集encode过的字节串(bytes),如’\xe8\x86\x9c’ - unicode,就是以
u'xxx'形式输入的字符,实际储存的值是xxx对应的unicode码, 如u'\u819c' - str,其实等于python3中的字节串(bytes)
- unicode,其实等于python3中的字符串(str)
- 在python2中unicode才是真正的字符串
电影《活着》随感
几年前看过小说,情节都早已淡忘,回想起来只留着忧伤的感觉。偶然看到这电影,虽然情节与原著有些不同,但都让人百感交集。因为其实活着的故事就是父辈人的故事,里面的很多类似的事都听老一辈讲过。
鲁迅曾说过,悲剧是把美好的东西撕碎给人看。人生,又何尝不是呢。活着的故事虽然与时代背景有些关系,小人物在其中很是无力,被历史的洪流裹挟着近乎无路可走。但是,看当今的世上,在我们的视野之外,也还有无数的悲剧在发生。当悲剧发生在别人身上时,那是新闻,那是故事;当发生在你身上时,你却无处述说。所以,我很少看新闻,特别是报道苦难的新闻,看多了会觉得悲伤而又无力。
其实某个角度来说,社会一直都没有变过,也就是阶级。每个小镇上都龙二,也有富贵;只是后来他们的地位转换了。阶级就如同金字塔一般,每个人就其占有资源的多少处在不同的层级上,下层的人想往上爬,一切都是赤裸裸的丛林法则。每个人都在往上面看,羡慕上方的美好生活,有谁会往下看一眼,下面是一群穷困潦倒的富贵,如同蝼蚁,在苦苦挣扎。
只要有社会存在,阶级是必然存在的。假使都不算父辈积累的资源,从零开始,大家都处于通过生产物品进行交换的阶段。由于每个人天生是不同的,体力、智商、寿命等属性的总值是不同的,这样大家的生产率就会不同,几代几十代之后差距越来越大(和复利类似),阶级就不可避免地产生了。改朝换代也好,革命也好,都只是重新洗牌而已。
唉,越想越是悲哀。
Windows Subsystem for Linux(WSL) 简单指引
简介
Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 “Trusty Tahr”映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
WSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),来自Ubuntu的用户模式二进制文件在其上运行。
此功能组件从Win10 Insider Preview build 14316开始可用,正式版是Win10 RedStone1才可用,并且只有64位系统才有此功能。我目前的系统是预览版Insider Preview build 14986,相比正式版Win10 RedStone1版本WSL功能会完善些,但系统就不稳定些了。建议大家还是用Win10 RedStone1吧
WSL 的出现解决了很大程度上解决了Windows用户使用linux工具链的需求,同时也解决部分用户(比如我)在Linux与Windows之间切换的麻烦。
WSL的优点
- 提高了接近原生Linux的使用体验,Python,Shell等开发环境与linux下基本相同
- 使用Bash进行一些日常操作比CMD高校和方便多了
- 资源利用效率,以及启动速度比虚拟机快多了,而且不用担心文件共享的问题
一些句子
如果你不抱怨呢,你会感受到巨大的心理压力。压力有时并不是个坏东西,是的,它也许会让你感觉不舒服,但同时也是促使你进行改变的力量。
一旦压力减轻,人就容易维持现状。然而,如果压力没有在抱怨中流失,它就会推积起来,到达一个极限,迫使你采取行动变现状。
其实,压力产生的后果取决与你的器量,如果你能承受那便是动力,否则只会使你崩坏。
当遇到事情时,理智的孩子让血液进入大脑,能聪明地思考问题;野蛮的孩子让血液进入四肢,大脑空虚,疯狂冲动。
理智虽好,但若时时都是,未免略为无趣。
毁灭一个生命,和毁灭全世界同等罪恶;拯救一个生命,和拯救全世界同等荣耀。
就逃跑来说,五十步和百步其实没有区别。
当人们开始对某人进行人身攻击的时候,他才能知道自己赢得了争论。
俗话说,君子动口不动手。
git-svn:通过git来管理svn代码
《随风而行》读书笔记
最近的这些读书笔记基本上都是补的以前的,其实已经近一年没怎么读文学类的书籍了,真是惭愧,自觉面目可憎。
工作了毕竟与大学时不同,时间也不那么充裕。而且做的是非本专业的工作,为了三餐,为了果腹,只能多看技术类的书了。
文学的先放一放,等稳定了再慢慢补上吧
简介
随风而行 是伊朗作家阿巴斯·基阿鲁斯达米的一本诗集。阿巴斯·基阿鲁斯达米不仅仅是为诗人,同时他也是一位电影导演。
因此他的短诗有着极强的画面感,诗句隽永富含哲思,使人如临其境。
下面是本人从中摘录的一些喜欢的。
摘录
春风不识字
却翻作业本
孩子趴在小手上
睡得正香
飞起再落下
落下又飞走
蚂蚱的方向
只有它知道
羽绒枕
屠害千只小鸟梦
怎么能
老龟活了三百年
不知有天
