Nginx

使用 Nginx Upload Module 上传文件

从开始会写程序开始,一直都很讨厌处理上传文件,因为总觉得在自己写的 controller 里面从 HTTP Body 里读文件,然后再写到本地磁盘的过程是一件非常不(易)靠(出)谱(错)的事,总怕文件没有正确写入,而且常用的框架对于上传文件,都是直接将整个文件加载到内存中,当处理大文件上传时,内存岂不是要爆炸了。 后来知道了七牛和又拍云之类的云服务,顿时感觉对于文件上传的过程的瞬间简化了。类似与七牛之类的文件储存云服务一般都会提供文件直传的接口,直接在前端就把文件上传到了七牛的服务器,而不经过业务服务器,然后当文件上传成功后,可以选择让七牛通知(回调)到业务服务器。 但是一般只有『互联网』企业才会选择七牛之类的云服务,可惜我就没怎么待过『

Docker

用 Docker 部署 Python Web Application

Tips: 下面的部分链接中带有小尾巴,谨点 去年的时候从阿里云捻过一次羊毛(云翼计划,如果愿意,可以是用我的阿里云推荐码,z9xy74),如今一年已过,这个服务器也过期了,但是上面跑了一个微信企业号的应用在,由于有一直在使用的需求,不能停止,但是阿里云的羊毛是青岛节点,延迟高,而且现在到期了,默认变成了按流量付费,顿时觉得随时会少一套房子了。于是重新买了一个阿里云的华东节点,准备迁移过来,并且也准备把 DigitalOcean 上的部分应用迁移回国。 Docker 环境的准备 镜像的初始化 MySQL Redis Web Application Nginx 和之前的比较 一些问题

Tornado

为 Tornado 增加 Session

Tornado 是我非常喜欢的一个框架,但是它缺失了很多功能模块,比如说 Session,正因为它啥都没有,所以我就爱上它了,这样可以方便自己撸轮子。:D Session 原理 为 Tornado 添加 Session SessionMixin 结合 Tornado Session Storage 感谢 # Session 原理 Session 是由于 HTTP 协议是无状态的,所以需要一种机制来保持客户端和服务器之间的会话。 HTTP 协议的流程是 Client ->

Python

一次面试题

投了张江某家公司的简历,然后通知去面试,结果连面试题都做不出来,真是悲剧啊。 面试题大意是 把手机号码里重复数字出现的次数按从多到少排列打印出来 因为我面试的是 Python 开发实习生,所以用 Python 实现,结果我没有在规定的时间里做出来,其实还是因为自己太差了,就不给自己找借口了。 然后回到寝室后,还是要自己再来做一下的。 phone_num = "13871387183" nums = dict() for i in xrange(10): nums[i] = phone_num.