我没有消失

潜水了快一个月了,再一次证明了一个道理『不怕神一样的对手,就怕x一样的队友』。当然上周我也做了一次『猪』,给一个小伙伴拖了一下后腿,被小伙伴私底下狂骂。不过我这个『猪一样』的队友不知道会不会给小伙伴带来很严重的后果还不得而知,一切待周一揭晓。忙碌了一个月,身心俱疲。整天提心吊胆的就害怕一些数据出问题,结果事实证明数据必须一定必然果然出了问题,为别人擦屁股擦的真心累。BT搜索站因为精力问题,暂停了一个月了。最近捡起来发现居然生疏了很多,为了暖手写了一个Python下生成自增ID的一段脚本。frompymongoimportConnectiondb=Connection(host='127.0.0.1',port=27017).api_column='au92_comment'printdb.sites.find_and_modify(update={'$inc':{_column:1}},f...

精彩继续

使用Python给IE设置代理

厂里上个网需要设置代理服务器,切换各种环境『包括但不仅限于开发环境、QA、预上线、验收、生产环境、压力测试、Demo……』都需要给浏览器设置不同的代理服务器。虽然俺有神器Firefox+ChangeHost+HostAdmin+ProxySelector的组合来轻松切换Host,切换浏览器代理,但是…凡是就怕『但是』。但是碰到一些IE才有的bug时候不得不换浏览器啊!!还要开虚拟机进去搞IE6、IE8、360、搜狗这些奇葩浏览器啊!!!有同事建议搞个bat脚本来做这些,但没人肯动手……而且bat能不能实现先不说,重点是咱不熟啊。搞个C#写个winform或者console控制台还需要.NETframework不是,虚拟机装个.NETframework4.0又要很多时间『而且不同的snapshot都要装一遍…』最最重要的,好久不写文章了不是,咱不想在博客里写C#相关的东西不是。所以,操刀Py...

精彩继续

Python将BT种子文件转换为磁力链的两种方法

BT种子文件相对磁力链来说存储不方便,而且在网站上存放BT文件容易引起版权纠纷,而磁力链相对来说则风险小一些。而且很多论坛或者网站限制了文件上传的类型,分享一个BT种子还需要改文件后缀或者压缩一次,其他人需要下载时候还要额外多一步下载种子的操作。所以将BT种子转换为占用空间更小,分享更方便的磁力链还是有挺大好处的。首先一个方案是使用bencode这个插件,通过pip方式安装或者自行下载源文件https://pypi.python.org/pypi/bencode/1.0通过pythonsetup.pyinstall方式安装均可。相应的将BT种子转换为磁力链代码为:importbencode,hashlib,base64,urllibtorrent=open('ubuntu-12.04.2-server-amd64.iso.torrent','rb').read()metadata=benc...

精彩继续

仿Excel冻结窗格效果jQuery插件

半路接手的公司的项目改造有一个表格因为列数太多,超出页面宽度太多,之前的同学搞了一个只兼容IE的冻结N列的脚本。这次改造除了需要冻结前N列,需求中增加了需要冻结首行。类似Excel冻结窗格效果。首先找到了一个jquery.chromatable.jsjQuery插件,但实际使用中表格宽度会莫名其妙的不正常。而且这个插件本身仅仅只有固定表格首行的效果,和需求也不完全一致。因为公司恶劣的网络情况(用代理上网,无法翻墙),仅靠百度搜了一圈,找到一篇jQuery插件:冻结表头(类似Excel的冻结窗格功能)的年代久远的帖子,但是连做demo都不需要就看到仅有的3条评论就有人反馈和jquery.chromatable.js一样,列对不齐。回家后放Google转了一圈,先是找到了jquery.easyui.js这个庞然大物,本来项目中就已经用到了jquery-ui,而我并不想继续用jquery-ui这...

精彩继续

10行代码实现网页缩略图功能

现在博客的主题需要给文章增加一个缩略图,当然图片可以从Google、百度之类的搜索到,但有的时候还是人懒,有的时候也想不到给文章加什么图片。就想直接给博客截张图就凑合一下…找了几个提供生成缩略图的网站,API要么不稳定,要么有广告。自己完全写一个需要依赖的条件也比较多。最后找到Google提供的某一个功能,可以利用那个功能抓到一张320x240的缩略图,相比其他网站来说速度快,而且相对稳定『当然,Google最近流行砍项目,哪天被砍了就再想辙』。简单用10行代码就可以给任意网页生成缩略图了:#-*-coding:utf-8-*-defimg(url,file_path):fromurllibimportquoteimportrequests,json,base64_json=json.loads(requests.get('https://developers.google.com/_ap...

精彩继续

Mysql Cluster杂七杂八

为了申请一些国内的服务,不得不将域名做了备案。博客迁移到阿里云后读取速度确实有改善,但因为数据库主库是放在OVH的法国服务器上,写入数据『比如评论』的时候速度却很慢。因为前一阵将博客从Typecho平台迁移了,而且将管理后台和前台页面都用Python重新修改了一下,将一些旧Wordpress架构的小站点均放在同一个后台管理了。为了能集中管理且照顾一些没有备案『也无法备案,因为北京备案域名后缀非常少』的站点,且为了稳定『VPS在线率和独服是没办法比啊』,没有将主库迁移到阿里云或者其他VPS上的计划。所以就花了几个晚上Google了大量的Mysql集群、负载均衡等的资料,记录一下MysqlCluster集群相关的知识点做一下备忘。先说一下几天测试的结果MysqlCluster现有最新版本为7.2.12,其中包含了Mysql5.5.30MysqlCluster非常占内存,在一台服务器部署了1仲裁...

精彩继续

使用gunicorn替代uWSGI

使用过我提供的debian环境python一键包的朋友知道我是用uWSGI解析Python的,但最近有一个Python的站被一些无良蜘蛛爬的厉害,对uWSGI配置文件虽然做了一些内存泄露等方面优化:reload-on-rss、async,但是一旦这个站点指向OVH服务器的时候服务器监控马上超时…正好10号的时候入手一台阿里云,众所周知的阿里云的破IO,第一次用一键包安装Python时候慢的让人想死。重装了一个干净的Debian,换用apt-get方式安装,安装脚本基本是从折腾Tornado时候收集的挨个搞兄弟的脚本修改而来。因为公司的网络不能连SSH,正好赶上uWSGI不给力,就起了试试gunicorn的打算。而且阿里云的机器一直在备案中,域名也访问不了,就干脆慢慢折腾环境。具体折腾记录:安装必备软件easy_install-Usupervisor#终于用了一次supervisor神器ea...

精彩继续

逃离Typecho,拥抱Wordpress

虽然Wordpress很吃内存,但是我依然决定投入Wordpress怀抱,当然我是开玩笑的……不过逃离Typecho是真的,这货实在是各种资源都少,社区也不活跃。花了几天时间断断续续写了一段Python的脚本,用来解析Wordpress的数据库结构,比如新站点:rzi.me。起初只是想在前台展示用Python重写一下,后台还用Wordpress管理,这样既可以保证用户访问速度又能很方便的管理站点内容。结果前台基本写完后发现在CPU差的机器上运行Wordpress(部署在OVH上)实在就是噩梦。凑合这么跑了一段时间,实在受不了了,然后发现前台的代码如果放在一个后台系统中,要求不那么高的话基本都能复用,干脆开一个分支写一套后台算了,然后一个后台还能管理若干个Wordpress站点。拖拖拉拉得有一个月,终于在少了很多功能的情况下上线了(增删改查中的删除都没做,反正都是自用未打算开源)。这样原有的...

精彩继续

6.23$转移.me域名并续费一年

这一阵在将Wordpress的数据用Python读出来,因为现在用的OVH的低端服务器,跑个Wordpress实在吃力。正好手里有一个之前gandi.net做活动送的免费使用一年的.me域名rzi.me。今天因为DNSPOD各种新闻,就登录了下DNSPOD账户,发现rzi.me这个米还有半年到期,就想着干脆转出gandi然后找个便宜点地方续费吧。找了个Godaddy的代理商FXDomains.com,然后点击『DomainNameTransfer』,输入要转移的域名『rzi.me』。接下来找到一款onlinecalendar,选择Personal款一年型。这时候在购物车里看到的价钱就会变成6.98$,这个价钱中已经包含一年的Personalonlinecalendar&&.me域名转移费用。最后输入优惠码:FX15OFF,就可以在6.98$的基础上再节省0.75$,最后只需...

精彩继续

Debian服务器开小鸡(VPS)教程

在hostloc混的日子看到了若干onemanIDC的诞生和死亡,但每次有人试图进入onemanIDC这个行业,但不知道怎么在独服上开VPS,然后发贴求教各个IDC的的时候,各个oneman就不做声了。前一阵入手一个廉价的OVH独服,每月只有区区十几刀,比最便宜的Linode还便宜。虽然线路不咋地,但贵在便宜而且不用担心各种PT党邻居。Google一下openvz的资料然后简单在Debian系统上开始弄,相对来说openvz还是比较简单。最便宜的OVH只有2G内存,而且并非为了当真做IDC,所以就直接命令行操作,没有搭配额外的面板了。首先,安装一个新的Debian操作系统分区方案:/tmp2G(仅用作临时文件)ext3/ext4/varMax(虚拟机)ext3/ext4/home20G(大型网站,试图增大这个log)ext3/ext4/usr5G(软件)ext3/ext4/swap5G(s...

精彩继续