- 博客(76)
- 收藏
- 关注
原创 SmartFoxServer 2x的python客户端
最近在研究SmartFoxServer 2x,这是一个针对联网游戏的网络开发框架,服务端是基于java netty框架开发的,客户端支持flash,unity, ios, android(java), c++. 等等就是不支持python怎么可以少了python呢?于是我把Java的客户端反编译出来,参考着写了一个python 的实现https://github.com/hel
2015-03-19 17:55:13
1571
原创 [mac]WireShark检测不到网卡怎么办?
wireshark是一个非常好用的抓包工具,有windows版本和mac版本,在mac下安装wireshark,启动后发现提示“There are no interfaces on which a capture can be done“, 这是找不到网卡的意思,google了一番,找到了一个办法可以解决,记录一下:cd /devsudo chown heliclei:admin bp*
2015-03-18 15:51:36
1780
原创 DNS不稳定怎么办?
最近,我们又碰到一个很崩溃的问题,游戏在某些时候会在wifi下不能登录,切换到4G就可以了。错误码是 CURLE_COULDNT_RESOLVE_HOST,查了一下代码,是在连接资源更新服务器时发生的。在电脑上用nslookup检查资源服务器的域名,果然也出现了错误,通知运维的同学,他们查了半天,确认cdn的配置没有问题,是福建电信的dns服务器出错了。赶紧联系电信的同学,他们又查了半天,回复说
2015-03-09 11:22:14
5270
原创 [cocos2d-x]CCHttpClient的一个bug
公司的新游戏《我是大官人》马上就要大规模PR了,一切都已经准备就绪,这时测试部门却反馈了一个小问题,打开游戏的时候,偶尔会卡在启动界面,提示:正在连接服务器...然后就没反应了,这个问题发生的概率很低,大概3%左右,而且退出重新打开游戏就好了,“应该是网络不好造成的”,大家并没有太重视这个bug,但是老板不放心,“就算是网络问题,也不应该卡住,如果是新玩家碰到这种情况就直接流失了,这个问题得查一下
2015-03-03 22:53:25
2090
2
原创 [python]如何使用virtualenvwrapper切换 不同版本的python?
早就听说virtualenv是python必备神器之一,但一直觉得mac自带的python2.7就很好用了,好像没有必要用virtualenv,不过今天在github上看到一个新的python开源项目,需要用python3,于是必须上virtualenv了。1. 安装virtualenv, virtualenvwrappersudo pip install virtualenv
2014-12-29 14:15:27
2457
原创 [mac]brew install nginx,出现编译错误怎么办?
错误如下:==> Downloading http://nginx.org/download/nginx-1.6.2.tar.gzAlready downloaded: /Library/Caches/Homebrew/nginx-1.6.2.tar.gz==> ./configure --prefix=/usr/local/Cellar/nginx/1.6.2 --with-http
2014-12-27 12:56:57
1931
原创 2014年终总结
时间过得很快,再过几天就是新的一年了,在此总结一下过去的一年:1. 苦练驾驶技术,一年没有出险:)2. 自驾车去了一趟庐山,来回近2000KM3. 坚持游泳,个人蛙泳纪录突破2500米4. 看了几本好书《新机器的灵魂》,《再定位》,《闪电战》,《我的互联网方法论》,《Programming Erlang》5. 学了几个新的技术:Python,Erlang,Django, nod
2014-12-22 16:21:23
695
原创 [cocos2d-x]如何自动发送菜单点击回调事件?
我们在工作中经常会碰到一些随机的bug,如果bug发生的概率很低,用手工重现就很麻烦。这时就必须考虑自动化执行有问题的代码段。如果是顺序执行的代码,加上一个循环就可以了。但如果是异步执行的回调事件,就不能简单的加上循环。
2014-11-27 16:22:56
1204
转载 美国大学计算机工程专业TOP10
计算机科学领域的突飞猛进离不开计算机工程领域的不断进步。艺术家对仿真软件的要求越来越高,游戏玩家则希望计算机能更快更智能更加安全。但如果硬件不过关,又何谈开发好的软件?计算机工程在未来社会将大有可为。在未来,处理器会更加强大,硬盘空间更大,屏幕分辨率也更高,但同时体积会越变越小。今天的计算机远比几十年前的庞然大物更加强大。在不久的将来,指甲般大小的微型计算机则会成为主流。计算机工程将在
2014-11-13 14:16:12
1205
转载 如何在centos6.5上运行aapt
复制了Linux x86_64的aapt到服务器上,却死活跑不起来。#aapt-bash: /usr/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory#aaptaapt: error while loading shared libraries: libstdc++.so
2014-11-12 18:52:56
703
原创 [windows]如何在batch脚本中检测系统是否安装了python和pip
手头的一个项目需要为用户的windows机器配置python环境,需要安装python和pip(python的包管理工具),当然,已经安装过的用户就不需要重装了,那么问题来了,如何检测用户的windows系统已经安装了python和pip呢?调试了一个上午,终于找到一个可用的办法
2014-11-04 15:36:29
3213
原创 [Erlang]如何遍历当前目录?
{ok, Cwd} = file:get_cwd()Filelist = filelib:fold_files( Cwd, ".*", true, fun(File, Acc) -> [File|Acc] end, []).io:format("~p", [Filelist]).
2014-10-30 17:00:17
1619
原创 [PYTHON]一个简单的单元测试框架
最近尝试了一下TDD(测试驱动)的模式,感觉效果不错,在此总结一下,同学们如果有更好的办法,一定要告诉我:)
2014-10-23 15:24:50
996
原创 session & cookie
手头的项目需要用到session, 所以又重新整理了一下session 和 cookie的概念1. session是存储于服务端的2. cookie是存储于客户端的3. cookie是一种网络协议,会通过http链接在客户端和服务器之间传递的,而session不会4. 服务端的session机制需要通过cookie来实现:要通过cookie来传递session id,各个web框架
2014-10-14 15:16:15
726
原创 [python]pip坏了怎么办?
今天,给一位新同事配置pip,用get-pip.py安装之后,出现错误:raise DistributionNotFound(req) # XXX put more info herepkg_resources.DistributionNotFound: pip==1.5.5PIP就完全不能用了,后来请教了我们公司的python大牛,解决的办法很简单:sudo eas
2014-10-14 14:54:33
9816
2
原创 从《绝命毒师》看研发人员的自我管理
从《绝命毒师》看研发人员的自我管理国庆期间抽空把《绝命毒师》第一季看完了,主角老白真是一个让人印象深刻的角色,他是一个顶尖的化学家,曾经参与过诺贝尔奖实验,曾经是一家大型化学品公司的联合创始人,同学聚会上,同学们都记得他在读研时曾经看一眼就搞定其他人几个星期都查不出的问题;这样的一个牛人,在50岁时,却只是一个中学化学老师,每天下班还要到洗车店当擦车小弟补贴家用,被查出得了肺癌却没有医保,最后
2014-10-08 23:47:48
1314
1
原创 在mac OS X中配置python mysql开发环境
1. 首先要下载安装mysql,下载地址:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19.tar.gz
2014-07-16 18:21:59
1770
1
原创 如何在centos安装python-mysql?
在python中使用mysql,需要安装mysql-python依赖包,可以通过pip来安装:pip install MySQL-python如果发生错误,需要先安装一个开发包:yum install python-devel如果还是报错,运行:yum install mysql-devel.x86_64然后再运行pip命令安装mysql-python阿里云CentOS6.
2014-07-15 15:15:51
965
原创 如何迎接大学生活?给厦大信息学院学弟学妹们的一封信
cocos2d-x是目前被广泛采用的一个手机游戏编程框架,在学校里可以接触到一个当前流行的实用技术,是很难得的机会,但是很多同学却放弃了,我觉得很可惜。想想自己18年前刚踏进大学校门的时候,也是懵懵懂懂,对未来充满疑惑和焦虑,不知道自己该做什么。所以,我想借这个机会思考一下自己的大学和职业生涯,也希望这些想法对学弟学妹们能有所帮助。
2014-07-12 07:45:05
1865
原创 如何选项目?
如何选项目?这个行业永远不缺钱,也永远不缺骗子。通常骗子都是搞销售的,声称自己有关系,能搞定大领导,已经拿到一大项目,但不好自己出面做,需要借你的公司运作一下,然后神秘兮兮的给你看个领导秘书给他发的短信,又拿出个政府机密文件的复印件给你看一眼,还要千叮万嘱你必须保密,这种骗子比较容易识破,只要你智商正常,通常都不会上钩。还有一种骗子是技术向的,声称自己搞定了一项核心技术,商业化以后能怎样怎
2014-07-10 06:11:10
907
原创 [CentOS]如何解决gcc版本冲突?
今天碰到一个比较坑爹的问题,在centos上用yum安装编译环境,运行:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel结果导致编译cocos2d-x出现错误:cc1plus: error: unrecognized command line option "-std=c++11"
2014-07-01 18:40:01
10746
2
原创 How to use CCache to speed up cocos2d-x android compilation
CCache is a compiler cache for C/C++. It speeds up recompilation by caching the result of previous compilations and detecting when the same compilation is being done again. We can use this tool to s
2014-06-18 15:07:16
856
原创 如何用ccache加速cocos2d-x android版本的编译
以下步骤在MAC下测试通过:首先是安装CCache, 可以用homebrewbrew install --HEAD ccache也可以用源码安装git clone https://github.com/jrosdahl/ccache.gitcd ccache./autogen.sh./configuremakemake install如果提示autohe
2014-06-13 17:33:57
2385
1
原创 苹果的回信
年初给苹果提交了一个导致xcode stack overflow的bug,http://blog.csdn.net/u012973744/article/details/18890955今天居然收到了Apple的回复:Hello helic,This is a follow-up regarding regarding Bug ID# 15956640. Engineering has provi
2014-06-11 06:06:18
1030
原创 [Erlang]如何在Erlang中将对list进行json编码?
Json编码,在python里就是一句话:json.dumps(user_data)但是Erlang没有自带的Json模块,只能自己造轮子:先下载mochijson2:https://github.com/mochi/mochiweb/blob/master/src/mochijson2.erl用erlc编译然后,上代码:get_json_data() ->
2014-06-09 18:27:26
1994
原创 如何在Erlang中操作Redis?
用ERedis:下载和编译:git clone git://github.com/wooga/eredis.gitcd eredis./rebar compile在console中使用:erl -pa ebin/{ok, C} = eredis:start_link().{ok, >} = eredis:q(C, ["SET", "foo", "bar"])
2014-06-09 11:58:16
3550
原创 如何在tsung中使用动态参数(二)
上一篇博客说过,在配置getOrderId请求时,可以用动态变量(order_id)解析和捕获服务端返回的json对象。这个变量可以作为接下来的订单确认请求(Confirm)的输入参数。看一下Confirm请求的配置: 注意,“_order_id"不是笔误,前面的下划线是必须的。通过%%_order_id%%,我们可以在url中直接使用动态变量。另外,我们还需要把or
2014-06-08 06:35:05
2220
原创 如何在tsung中使用动态参数(一)
这两天给公司一个新项目做上线前的压力测试,这个项目主要的接口有两个,获取订单号(getOrderId)和确认订单(confirm),需要重点压测。开始,我们选择用python写测试例,python的好处是开发迅速,但是并发能力不够;我就想试试用tsung,tsung是用erlang写的,并发肯定没问题,但我以前只用来测试过静态网站,没有测试过动态API,查了查文档,发现tsung是支持用erlang脚本生成动态参数的,于是我决定用tsung。
2014-06-05 23:43:21
2759
原创 [python]如何在requests post时不做urlencode?
这两天要为公司一个项目的服务端写性能测试脚本,其中有一个请求订单号的接口,需要客户端用post请求向服务端发送加密过的token 和订单数据。代码如下:payload = {'token':token,'order_data':order_data}r = requests.post(url, data=payload}但是,服务端返回错误,花了很长时间检查了token和order_d
2014-05-27 14:25:04
20511
1
原创 [cocos2dx]如何将Android手机游戏移植到电视?
最近智能电视非常火,我也买了一个小米电视,看片效果不错,网络也还算给力。但是,玩游戏比较蛋疼,要用遥控器,下了一个捕鱼达人试玩了一把,要用方向键控制大炮的方向和远近,再用确定键发射炮弹,根本没法玩。。。这个问题的原因在于,手机游戏都是为触摸屏设计的,移植到电视的大屏幕上,没有触摸屏了,要改用遥控器或者手柄操作,就要改变游戏的玩法,不但移植复杂,而且最致命的是,会大大降低游戏的乐趣。那有没有办法在电
2014-05-08 15:04:28
2229
原创 [cocos2d-x]如何减少cocos2d-x游戏的耗电量?
Cocos2d-x游戏的耗电量一直是个让人头疼的问题,一个简单的三消游戏,玩一会手机就热得发烫,更郁闷的是电池消耗很快,基本上两个小时就可以把电池耗光。最近又看到一个帖子,有个老外用cocos2d-x在安卓上移植了2048这个小游戏,一切都顺利,除了手机会发烫。看来这确实是一个让人很不爽的问题。
2014-04-10 15:30:19
6492
7
原创 为git设置http代理[GAE]
最近github老是连不上,天知道为啥天朝要把github墙掉...只能用代理了,GAE,你懂的git config --global http.proxy http://127.0.0.1:8087
2014-03-25 17:10:01
916
原创 [Jenkins]如何自动停止超时任务?
公司的Jenkins服务器运行一段时间了,每天编译github cocos2d-x仓库的所有pull request,还算稳定。但有个问题比较郁闷,由于实际执行编译的slave就放在办公室里,网络不太稳定,特别是访问github时,有时会导致整个编译任务挂起。由于我们在每个slave上只放了一个执行单元(Excutor),只要一个编译任务挂起,就会导致整个jenkins挂起,所有后续的编译任务都在
2014-03-18 11:59:06
13250
4
原创 cocos2d-x:如何通过命令行上传文件
这段时间在折腾cocos2d-x引擎的telnet console,前几天往里面加了一个upload命令,在testcpp的console test添加了相应的测试例,但一直没有找到一个方便在命令行下面使用的方法,今天又研究了一番,算是有了一个比较满意的方案(mac下测试通过):1. xcode编译testcpp mac工程,,最好是cocos2d-x仓库develop分支最新代码(https
2014-03-13 17:44:22
1644
原创 C++ std::thread的坑
今天写一个unit test, 需要在子线程跑一个tcp客户端,来验证服务端功能:ConsoleUploadFile::ConsoleUploadFile(){ ... ... std::thread( &ConsoleUploadFile::uploadFile, this);}很奇怪的是,代码运行到std::thread(...)
2014-02-26 23:14:57
9062
原创 cocos2dx:模拟touch事件
最近终于开始学习cocos2d-x引擎了,Cocos2d-x作为一个手机游戏引擎,屏幕触摸事件(touch)的处理一定时非常重要的。上个礼拜,我就开始琢磨,如何在telnet终端通过CCConsole命令模拟touch事件? 要在引擎里模拟touch事件,就先要弄清楚引擎是如何处理touch事件的。就以往的经验,touch事件的处理是比较复杂的,所以千万不能先看代码或者查资料,要先想清楚。
2014-02-25 23:44:18
3095
原创 C++ Socket如何支持跨平台?
上周,在调试cocos2d-x内置的telnet服务器CCConsole时发现,CCConsole在windows上运行时可以正常启动,但只要一连接telnet客户端就会crash,出错的位置在write()函数,是一个Assert错误,提示file handler 不能大于32;但是,在mac,ios,android(linux还没有测试)都是OK的。 在vs上单步跟了几遍,没看出什么
2014-02-24 16:32:17
3476
原创 如何在cocos2d-x 项目中增加全局变量
最近在研究如何自动运行cocos2d-x的测试工程,需要在testCpp工程中加入一个自定义的全局指针,指向现在正在运行的测试例。这个全局指针应该放哪里好呢? 研究了一下,发现放在AppDelegate里最好。其实这个设计是从iOS 上移植过来的,做过iOS开发的童鞋会很熟悉。代码如下:class AppDelegate : private cocos2d::Application{
2014-02-21 11:59:11
3252
转载 Linux 技巧:让进程在后台可靠运行的几种方法
https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
2014-02-17 18:41:52
584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人