自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猛禽的编程艺术

编程是一门艺术

原创 CSDN搞什么

CSDN的做法太恶心

2017-11-30 11:25:01 1244 0

原创 iSCSI的配置笔记

记录一下iSCSI客户端的配置

2017-10-25 20:42:02 1281 0

原创 搭建python数据分析平台

基本结构其实没什么高深的东西,无非是常用的那一套:pandas, numpy, matplotlib…但是为了更方便使用,加持了 jupyter notebook(即以前的ipython notebook)……又为了更方便使用,前端加了nginx或apache反代……双为了更安全,加持了Let’s...

2017-09-19 23:17:57 2850 0

原创 用Docker+ELK集中处理日志

需求手头有几个服务器的日志需要处理,数据量也不是很大,但是又不想在每个服务器上都装一套ELK,毕竟这货还是挺笨重的。另外,ELK这堆东西依赖也挺多,而且还是用JAVA的,我才不想为了装这个把系统搞得乱七八糟,所以必须跑在docker里。当然,也不可能在每台服务器上都装个docker,毕竟这货也不是...

2017-08-27 18:34:41 16662 1

原创 一个Redis消息队列实现

对前文所介绍的Redis Cache作了一点简单的扩展,增加了消息队列功能。

2017-07-14 23:39:10 1622 0

原创 一个Redis Cache实现

这次的目标是需要实现一个比较通用的cache,支持各种数据类型,有超时更新机制,超时更新需要有锁

2017-06-29 22:09:45 4143 0

原创 在容器中运行Jenkins部署主机中的docker应用

如何让一个跑在container里的Jenkins把应用部署到host环境上?

2017-05-14 17:24:36 5411 0

原创 解决多进程中APScheduler重复运行的问题

问题在一个python web应用中需要定时执行一些任务,所以用了APScheduler这个库。又因为是用flask这个web框架,所以用了flask-apscheduler这个插件(本质上与直接用APScheduler一样,这里不作区分)。在开发中直接测试运行是没有问题的,但是用gunicorn...

2017-04-04 22:34:30 11627 6

原创 HTTPS配置全记录

常见的部署环境和条件有以下几种情况组合: Apache+自签名证书 Apache+免费或商业证书 Nginx+自签名证书 Nginx+免费或商业证书 免费证书和商业证书本质上是一样的

2017-03-18 22:06:49 17811 2

原创 FreeBSD升级失败的处理

升级几个FreeBSD系统过程中出现的问题及其处理

2017-02-05 21:47:38 1949 0

原创 Mac OS X中virtualenv里python shell无法使用光标键问题的解决

最近碰到一个奇葩问题,在系统python shell里使用光标是一切正常的,但是到了virtualenv里就不行了,变成各种转义符,不能正常移动光标。搜了半天,都说跟readline有关,建议重新编译python,可是为什么系统的python是正常的呢?而且我是用homebrew安装的,应该也不会...

2017-01-29 23:33:29 2517 0

原创 docker在systemd下的配置问题

问题说明最近在debian8上装了个docker,但是因为存储空间的问题,需要把docker的存放路径改一下。按照官方文档的说法,只要修改/etc/default/docker里的DOCKER_OPTS,加上-g参数即可:DOCKER_OPTS="-g /path/to/dockerda...

2016-12-23 23:49:43 3041 0

原创 Let's HTTPS

有了Let's Encrypt和Nginx的SNI配置,让我们像用HTTP一样去用HTTPS吧

2016-11-28 21:24:38 2425 0

原创 快速文件hash

最近打算把家里服务器上的文件理一下,想把重复的文件找出来,虽然我已经用了ZFS的dedup,实际占用空间并不会重复,但是还是觉得有必要理一下……写个程序扫描一遍并不复杂,但是要判断文件是不是重复就比较麻烦,可靠的方法当然是做全文件HASH,但是对于T级的硬盘来说,这样效率太低了,所以写了一段小代码...

2016-10-31 23:56:21 4165 0

原创 支付宝接口编码不规范问题

支付宝平台接口使用了不规范的方式,导致flask不能正常处理的问题解决。

2016-09-14 00:07:26 3606 0

原创 docker实践入门之六

最后一篇来举个栗子。样本项目一个基于bottle的python web项目依赖mako暂时只考虑部署一个版本的例子项目有以下内容:+-appname.py +-config.json +-requirements.txt +-views +-index.htmlrequirements.txt...

2016-08-13 22:29:26 2334 0

原创 docker实践入门之五

image的派生上面这个例子 有一个问题就是,如果应用程序修改了,就需要重新build一次,问题是重build的时候需要把前面一堆的命令都跑一遍,特别是安装软件那些还是挺慢 的,而且是不必要的重复工作,实际上我们只是修改了应用程序而已,所以更机智的办法是把这个image分成两个image,一个是p...

2016-07-05 00:36:37 4879 0

原创 docker实践入门之四

在前一个实践中,我们演示了如何使用现成的image来运行container供我们使用,这一节我们来试试自己建立image。使用交互方式创建image在第一篇文章里说过,通过对一个container执行commit操作可以创建一个image,这里先用这个方法做一个例子。首先需要一个基本image,目...

2016-06-02 23:44:33 10954 0

原创 docker实践入门之三

文件系统说完了网络,现在来说存储。对于redis这样的应用来说,我们通常并不需要它的持久化存储,只是拿它做缓存而已,所以存储问题并不重要,但是对于mysql这样的数据库来说,存储就非常重要了。前面说到了container和image的区别,但并不完全,它们还有一个重要区别就在于存储。docker使...

2016-05-02 23:00:02 9807 0

原创 docker实践入门之二

开始动手先准备一个空的系统,现在要在上面装一个redis,传统的做法就是用系统的包管理器装一个呗,比如debian下可以用sudo apt-get install -y redis-server sudo service redis-server start然而在docker下是这样:docker...

2016-04-16 17:26:53 7362 0

原创 docker实践入门之一

前戏……呃,前言docker是什么?docker是一种容器技术,它的主要功能就是能够让进程在一个隔离的容器环境里运行——在进程看来,它有一整套“独立”的OS环境,包括文件系统,类似于虚拟机。docker不是什么?docker 不是虚拟机,它只是一套虚拟运行环境,实际上在host机上用ps可以看到容...

2016-04-14 22:39:38 6841 0

原创 阿里大鱼短信接口(Python3版)

最近因为需要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经很多年没有更新了,不支持python3,自己动手改了半天,还是不太正常,索性不用它,自己写一个算了。我才不会跟你们说我嫌弃它的代码,所谓大公司也就这样了。用法用法与TOP提供的SDK差不多,不过实现...

2016-03-16 20:21:52 7634 6

原创 不用密码的用户系统实现

一个可以不用密码的用户系统。默认只需要输入email即可注册或登录,如果需要密码,可以使用Google Authenticator扫描邮件中的二维码,使用GA生成的一次性密码登录。

2016-02-29 14:15:36 2936 1

原创 一个不用密码的用户系统

很多年前云风设想过这样一个用户系统《为什么一定要有密码?》,我是挺赞同的。对我来说,用户系统是一个责任重大的东西,可惜很多国内厂商都不把这当回事。之前做过一些小东西,基本上都是采用第三方登录的方式,比如用google账号登录。这样就把用户管理的麻烦事交给第三方去处理了,相信google这样的大厂能...

2016-01-30 23:48:29 2946 4

原创 基于fabric和hg的自动化部署

自动化部署fabric是个很好用的自动化部署工具,虽然功能比起puppet,saltstack之类要弱一些,但胜在用python,而且免安装服务端。

2015-12-25 00:42:53 3746 0

原创 几个bottle插件

上篇《Bottle的插件与view装饰器冲突问题》里说到的问题就是我在写这几个插件时碰到的问题。为便于使用bottle写了一组插件。最初自己用的时候是把所有功能都写在一个插件里,感觉有点笨重,不适合灵活组合,所以分拆改写成现在的样子。包含beaker.BeakerPluginparams.Para...

2015-11-22 20:59:46 3365 1

原创 Bottle的插件与view装饰器冲突问题

其实这个问题由来已久,早在2012年就有人在bottle那报告过,但是因为python的inspec库本身的问题,它的wraps函数不能保留被包装函数的参数信息,所以一直不能彻底解决。问题大致是这样:@app.get("/") @view("index") ...

2015-10-22 22:32:16 3358 1

原创 sqlalchemy的关联子查询

SQLAlchemy也算是用过好几年了,不过一直都用着其中相对简单的一小部分,最近写个程序碰到个问题,需要作一个关联子查询,试了很久才解决。

2015-09-25 17:13:09 8652 2

原创 VIBE君,放过MOTO吧

(应朋友之邀而作,废话略多,肾入)这两年手机市场就没有太平过,而且是越来越不太平。这两天先是老罗发布了传说中的小锤子——坚果U1手机,紧接着360也发布了和酷派合作推出的奇酷手机,市场一片火爆,尤其是低价机市场。虽然老罗和老周都说他们的手机是为年轻人设计的(实际就是针对屌丝市场),然而有人评论认为...

2015-08-28 19:01:25 3999 1

原创 用Wordpress构建App更新和反馈平台(下)

用户反馈上文说了,APP的用户反馈功能麻烦在于GooglePlay在国内没法用,但这只是一方面,另一方面用户也不一定乐意在发现问题时再去打开GooglePlay去找到你的应用再评论,能在应用里直接反馈当然是最好了。当然这个功能做一个也不是很麻烦的事情,无非是在系统后端加一个表,API上加一个函数的...

2015-06-06 00:28:20 3382 1

原创 在cubieboard2里安装pptpd碰到的依赖问题处理

前一阵家里那个ATOM服务器的电源坏了(7X24跑了4年,已经很不错了),在等配件期间买了一块cubieboard2做备用服务器。这货带一个SATA口,的确是ARM主板中的 大杀器,性能和功能比树莓派强大多了,价格也贵不了多少。目前我的配置是带一块1T的2.5寸硬盘,稳定工作状态下耗电仅2.7W—...

2015-05-25 16:25:19 3157 1

原创 用Wordpress构建App更新和反馈平台(上)

需求在国内这种奇葩生态环境下,对于Android平台的移动应用,必备的功能之一就是要自带版本更新功能——这种事情本来用GooglePlay可以做得很好的……当然这事做起来也不麻烦,开发一个后端接口就是了,或者如我之前用过的方法:通过RSS实现。另外就是要提供一个用户反馈的渠道,以快速发现问题并加以...

2015-05-04 20:28:24 3040 1

原创 支付婊事件

我对这事的评价是“喜大普奔”。

2015-04-14 17:14:52 3264 1

原创 一个简单的Redis应用(修订版)

需求很早就听说过Redis的大名,但是一直也没有去研究。因为前一阵有朋友需要用到,来问过我时大致看了看,正好最近自己也碰到需求,就研究了一下。我这里的情况其实很简单:在一个VPS上跑了一个应用,提供了短链接功能,原来的实现是直接在web server上 做了一个反向代理,通过urlrewrite映...

2015-03-02 15:53:36 2803 1

原创 rsync over ssh over socks

之所以要这么折腾,首先需要强烈谴责那些为某墙作出过贡献的程序员,解放后你们是一定会被清算的。需求这事的需求是这样的,我有几个国外的VPS用来跑自己和朋友的BLOG,为了保险起见,我搞了一套备份系统:在家里的服务器上开了一个ZFS做远程VPS的备份,备份方法是每天晚上通过rsync over ssh...

2015-02-16 17:04:53 3059 1

原创 基于ZFS和GnuPG的安全远程备份方案

用ZFS提供备份存储,然后创建快照后加密传输到远程备份服务器保存。另,用ZFS的快照可以防范CryptoLocker病毒。

2015-01-30 12:34:45 3917 1

原创 用motion实现家庭视频监控

需求?当然不是为了艳照!你们这些猥琐的人类!毕竟家里总会有没人的时候,出门走到半路忘记煤气灶是不是关了,还得回去看看。在这个科技以人为本的时代,当然应该是拿出智能手机联网看看啦。还有万一有人闯空门什么的,也能有个及时报警什么的。motion是什么?motion是一个提供视频监控解决方案的开源软件,...

2014-12-18 20:18:22 12485 3

原创 喜大普奔,微软开源

总之微软宣布.NET开发环境开源是个好消息,但未来还需拭目以待……

2014-11-13 17:56:05 5892 12

原创 迁移Wordpress网站到PostgreSQL/Nginx

作为一名不喜欢MySQL的pg党,最近又迁了一个WordPress到PostgreSQL上,顺便就作个笔记以备不时不之需吧。当然,web server也从Apache换成了Nginx,所以这个配置也要改一下。WordPress的Nginx配置这个比较简单,因为Nginx不支持 .htaccess ...

2014-11-04 14:00:53 4053 1

原创 感受情怀

关于老罗和王自如事情要从long long ago说起。话说十几年前老罗语录走红的时候,我就是他粉丝了。不过后来他开始写BLOG,我就粉转路人了,虽然那时也常去牛博,但对老罗的很多观点都不赞同。等他再去开英语学校的时候,基本已经淡出我的视线。直到锤子ROM出来,我才重新注意到他。虽然锤子ROM的确...

2014-09-15 09:27:52 2536 1

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