最后更新于 .

yunbk 是我前段时间用python写的一个备份插件,取中文谐音云备份的意思,你可以很方便的用这个插件来备份mysql、redis、mongodb、乃至各种media目录,等等。 安装可以直接用pip执行:

pip install yunbk

github地址如下:

https://github.com/dantezhu/yunbk

而用法也非常简单,比如要备份mysql,则代码如下:

from yunbk import YunBK
from yunbk.backend.local import LocalBackend

import sh

backend = LocalBackend('/data/backup')

with YunBK('mysql', [backend]) as ybk:
    sh.mysqldump(u='root',
                 all_databases=True,
                 _out="dump.sql")
    ybk.backup ...

最后更新于 .

之前的博客主题应该是自打博客成立就一直没换了,最近不知道怎么突然有心情,就把博客重新调整了一下。 主要有以下几个方面:

一. 将主题换成了zanblog,基于bootstrap3。

换之前特意让媳妇看了一下,在肯定了自己的审美观没有问题之后,就给换啦 之后可以在代码中使用bootstrap的标签实现一些特殊的效果,如:

这是成功背景框

引用的写法:

这是我引用的

当然,带来的影响就是不兼容ie8一下的浏览器了。不过想了下,搞技术还能忍受ie6、7那拖慢的速度的话,那也算太有耐心了。。

二. 将代码配色插件从WP-Syntax换成了 Crayon Syntax Highlighter

WP-Syntax虽然功能上没什么问题,但是展示的效果实在是太差了。所以这次果断换成了 Crayon Syntax Highlighter,效果如下

def show_name():
    print 'vimer.cn'

三. 重新启用了多说评论插件

关于这一点其实挺纠结的,因为之前用过一次,之后因为有些朋友不太喜欢社交登录而放弃了,所以这次特意把匿名留言也同样保留着。 而至于想要换成多说的最大原因,在于zanblog默认的配色是和多说非常搭配的。。而wordpress默认的评论展示奇丑无比。。

四. 修正了某些文章的图片404

之前某年做数据迁移的时候,被人搞丢了好多中文名字的图片,当时没有太在意,后来一直不停的有博友反馈,因为时间有限也就没有顾得上。 这次把很多图片找了回来 ...

最后更新于 .

2020-4-25更新

google提供了更方便的服务账号(Service Account)的方案,具体方式如下:

1. 去google developer api后台(https://console.developers.google.com/)
    1. 创建 project
    2. 进入创建好的project,找到 Google Play Android Developer API,并启用
    3. 在project中,创建服务账号(service account)
    4. 在service account中创建密钥,并下载json格式的密钥文件


2. 去google play console(https://play.google.com/apps/publish/)
    1. 点击左下角的设置=>API权限,选择关联的项目
    2. 给服务账号授予财务角色的权限
    3. 等待24小时生效


注意 ...

最后更新于 .

这几个月实在被android的圆角制作折腾坏了,国内的几个站要不就是添加的圆角全是锯齿,要不就是体验烂到极差;国外的 www.roundpic.com 其实不错,只是在制作大图标的时候,圆角的半径会出现问题。

所以干脆今晚花了3个小时自己写了一个工具:http://uapp.me ,以后app开发相关的工具也都会陆续放到这里来,希望能给大家提供点帮助。

附一张截图:

QQ20140112 1

最近实在是被各种事情搞得焦头烂额,看我这篇文章的发表时间就知道了,等稍微闲一点,再多和大家交流心得吧。(汗,刚才发现这文章只显示日期,不显示时间。。)

最后更新于 .

因为需要把pc端的一部分特性迁移到手机上,所以就直接用了air来打包。但是发现ane对air sdk的版本要求很高,所以要手动升级一下。

而之所以把flash builder的4.6和4.7版本都升级,是因为4.6是最后一个支持设计界面的版本。。

好吧,废话不多说,直接开始吧。网上很多教程有点问题,我尽量描述的细一些。

4.6和4.7版本的升级方法是不一样的,所以分开来说。

注:现在的air sdk版本是3.8,对应的数字是21。

一. flash builder 4.6版

1. 到 http://www.adobe.com/devnet/air/air-sdk-download.html 下载air sdk,这里是一个很大的坑,对于flash builder 4.6,我们要下载底下那个链接,如图。下载下来的名字应该是 AdobeAIRSDK.tbz2 

QQ20130730 1

2. 执行:  

cd ...

最后更新于 .

做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下。

结合之前在腾讯工作的经验,也会讲讲腾讯的服务器监控是怎么做的。同时也会讲下小团队又该怎么敏捷的解决。

下面按照监控的方法依次介绍。

一。按照进程名监控

在腾讯内部所有server都是要打包发布的,而在打包过程中是需要填写要监控的进程名,然后在crontab中定时通过ps查询进程是否存在。

这种方法是比较简单的方法,但是考虑到很多进程会在启动之后改名,以及进程名存在各种特殊字符,多个进程同时存在的问题,实际操作起来并不是很舒服。

举个简单的例子,gunicorn启动之后的进程名类似这样 master: [wsgi:app],其中的方括号在grep时要记得转义,否则就会出问题。

不过不管怎么说,这种方法在很多其他方式用不了的时候反而是最简单的方法。

下面是用python的实现:

def monitor_process(key_word, cmd):
    p1 = subprocess.Popen(['ps', '-ef'], stdout=subprocess.PIPE)
    p2 = subprocess.Popen(['grep', key_word], stdin=p1.stdout, stdout=subprocess.PIPE)
    p3 ...

最后更新于 .

因为各种各样的原因,vimer.cn停止更新了很长一段时间,先对关注本博的朋友说声对不起了。

时隔这么久,连google reader都被关了,话说我博客2/3的订阅可是来自google reader啊,也不知道这些用户现在去哪里了,希望不要把这里忘了才好啊 :)

废话不多说,说说这次对博客做了哪些调整吧。

先给大家上一个完整的插件截图:

QQ20130703 2

主要的变更如下:

1. 把原来的评论插件替换成了《多说》

其实我记得当时最早做社交评论的是《友言》,只是自己常逛的几个站(像《雷锋网》)都在用《多说》,所以就换上了。用了之后总体感觉还是挺好的,而且评论也会同步回本地数据库,哪天不想用也不会有影响。不过可惜这样 wp-syntax 的着色就没法在评论里生效了,等以后看看有什么解决方案吧。

再就是顺便在多说里把匿名评论给关了,太多垃圾评论了。

和依云通了一下邮件,可能社交评论并不适合这种技术博客,等我在另一个站用一段时间再看了,现在还是回滚到老的评论了。

QQ20130704 4

2. 数据备份插件换成了  BackWPup。

原来的插件只能备份数据库,而且只能发到邮箱,导致我很久之前的一次数据迁移丢了很多图片。现在用 BackWPup就不用担心啦,只要你愿意甚至可以把整个目录备份。

BackWPup支持很多种备份方式,不过可惜大部分在中国访问都有问题(囧)。唯一一个勉强可用的是dropbox,据说是跟换机房+https幸免遇难 ...

最后更新于 .

此文之前首发于雷锋网,所以自己的博客上就晚了几天才放上来。跟大家分享一下自己开发手游的过程,希望对大家能有所帮助~


谨以此文献给与我同样有创业梦想的程序员们.

我相信像我一样的程序员一定大有人在,一个人、一身技术、一腔热血,想要涉足手游领域,却不清楚会投入多少。

所以,我把自己的这次游戏开发过程,完整记下来,给与我同样的程序员以参考。

4月1日

《保卫妞妞》正式立项,当然说是立项,其实就是我一个人而已 。

既然决定要做,就要调查一下可能用到的技术点,说下我的背景,有5年左右的c、c++开发经验,3年左右的python开发经验,多年web开发经验,但就是没有游戏开发经验.

之前也只是简单了解过一点objc,根本没有实战过。而更要命的时候我都不知道开发游戏需要什么库和工具. 所以大体搜了一下,貌似cocos2d很多人推荐,那就先看本介绍的书吧

4月1日~4月3日

将《learn cocos2d on iphone》这本书看完,不过这本书用的cocos2d版本是0.99,而我后来游戏中使用的是cocos2d 2.x,所以后来发现很多代码不能用还是很痛苦的.

之前说过objc也没怎么用过,所以看这本书的时候,就基本把主要例子都敲了一遍。因为之前也有c基础,所以倒也不是很困难。

看完这本书 ...

最后更新于 .

写在前面: 博客很久没有更新了,主要是事情实在太多,不过最近也确实做了些比较有价值的事情,后面和大家慢慢分享

笔者在腾讯主要负责开放平台openapi的工作,由于工作关系,这几天遍历了 百度、人人、新浪、淘宝 4个平台,研究了一下他们对于站内应用、网站登录、移动应用的整合方式,并开发了一个百度站内应用的demo。

百度站内应用demo: 体验地址(要体验的话,请先联系我开通白名单): http://app.baidu.com/app/enter?appid=385894&debug=1&is_from_dev=1&canvas_pos=platform

代码已经开源在github上: https://github.com/dantezhu/baidu_app_demo,里面封装了一个baidu的sdk,有需要的朋友可以直接拿去用。

开发语言用的是 python+flask 移动应用 和 网站接入,这两种接入都是走的oauth的方式,这个基本所有平台都是一样的。

而对于站内应用则和腾讯目前不太一样,所以着重说明一下在这里的处理,仅以百度举例:

百度的教程在这里: 百度站内应用开发文档

1. 当用户点击应用列表进入时 ...

最后更新于 .

离上一次写博有点久了,留言也回复的比较慢,主要事情确实有点多,今天想想还是把这篇给写了吧,可能有点乱。

先说说最近折腾了些啥 部分开源项目的代码从googlecode迁移到github,其实还是主要是svn和git的原因,因为公司一直是用svn,所以对svn会熟一些。

不过最近发现越来越多的项目都在使用github,所以免不了好奇起来,本着越是抵触越是要搞的心理,硬着头皮总算懂了些皮毛。

之前还对git的分布式代码管理没什么感觉,这几天恰巧去上海参加chinajoy,网络时好时坏,svn一直不能ci,这才怀念起git的好来。

所以目前的结论就是,两者都用着,新项目就统一往github上迁移了。

研究了一下bootstrap from twitter,这个号称能让开发人员写出漂亮页面的前端库真心不错,把页面用12个栅格来表示,之前从没想过页面可以这样规划(好吧,也可能是我孤陋寡闻。。),而且支持交互式布局,做出来的界面都iphone、ipad等移动设备都会自动适应,的确是后台开发写前端的一大利器,超赞!

OK,碎碎念结束,接下来还是分享一段代码吧。

关注本博的朋友应该会了解之前我在python的微框架使用flask还是bottle之间选择了很久,现在无论如何,事实就是我多的在用flask,原因就不扯了,反正也扯不清楚。

这里主要是分享一点,无论是django,flask,bottle 都有一个通过 endpoint 生成 url的函数,在django中是reverse(模板中是url),flask是url_for,bottle中是url ...