摘要: android平台下重用c++库的原理比较古老,就是java与c++的jni。它的难度比ios下要大不少。Obj-c与c++可以混合编码,无缝集成,而java与c++不能混合,对象间不能直接互相引用。此难点一。 另一个难点与ios下相似,就是对第三方库的编译。虽然有ios的经验,但似乎并没有可供android借鉴之处。这里需要说明的是,我准备作的是在代码中以c++的方式调用这些第三方库,因此它们不需要提供java的接口,也就是说不需要这些库的java binding。 阅读全文
posted @ 2013-07-23 22:10 深圳市路云信息科技有限公司 阅读(3212) 评论(0) 推荐(1) 编辑
 
摘要: 最近我们在开发一款游戏,包含四块:c++服务器,ios客户端,android客户端以及c++的客户端。C++客户端用于集成测试以及压力测试。我们希望达到最大限度的重用。C++是自然的选择。我们需要把c++的源代码以库的形式重用在ios和andriod上。这样网络通信和model部分只要维护一套c++代码,ios和android只要写UI和线程。后续将分篇讲述开发中碰到的问题和解决方案。 阅读全文
posted @ 2013-07-11 22:21 深圳市路云信息科技有限公司 阅读(1577) 评论(0) 推荐(0) 编辑
 
摘要: build mongo-cxx-driver-v2.2从mongodb官方网站下载mongo c++ driver程序包:mongodb-linux-x86_64-2.2.0.tar。解压后运行scons。$ cd mongo-cxx-driver-v2.2$ sconsscons: Reading SConscript files ...Checking for C++ library boost_thread-mt... noChecking for C++ library boost_thread... no出现问题。可见它依赖于boost库。用apt-get安装boost开发和文档库$ 阅读全文
posted @ 2012-08-31 11:58 深圳市路云信息科技有限公司 阅读(4013) 评论(0) 推荐(0) 编辑
 
摘要: 照这个官方说明是万万编译不过的:http://www.zeromq.org/build:android苦逼的是,如果你想通过google搜索jzmq ...之类的帮助,google会提示你,可能会断网,你懂的。好了,让我们天朝有为青年不至于无法编译安装jzmq而耽误大好年华,我把本人在编译过程中所有碰到的问题和解决方案一一列出,仅供大家参考:操作系统:lion(10.7.3),mac book pro1. 简单起见,我们以官方说明为主,所有需要执行什么wget, autoconf, automake等等命令,照其执行就是,如果有命令没有,第一反映是执行:sudo port install xx 阅读全文
posted @ 2012-07-12 23:20 深圳市路云信息科技有限公司 阅读(926) 评论(0) 推荐(0) 编辑
  2013年4月23日
摘要: 问题:在ios6之下,只要在Target的summary中设置成如下即可。这个对ios6管用,但对ios5不管用。网上有人说在Info.plist中设置Initial interface orientation = Landscape (left home button)试验了一下,ios5下仍然不管用。解决方案。在每个屏幕方向需要变换成landscape的viewController中添加如下代码即可。-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { r 阅读全文
posted @ 2013-04-23 17:15 深圳市路云信息科技有限公司 阅读(391) 评论(0) 推荐(0) 编辑
  2012年12月25日
摘要: 我们需要经常查看服务器的状态,例如Server进程,日志内容等,通常做法是远程登录SSH,用PS,Tail等命令来查看。但我们可以利用Jenkins的定时功能和发Email的功能,将查看的结果定时发到我们的EMail里,进而可以通过手机查看。1. 写一个脚本,比如叫check-status.sh,包括如下内容:echo "Checking Server Status"ssh roadclouding@roadclouding "exec uptime"echo "Step 1: Check Instances"ssh roadclou 阅读全文
posted @ 2012-12-25 16:50 深圳市路云信息科技有限公司 阅读(886) 评论(0) 推荐(0) 编辑
  2012年11月20日
摘要: 敏捷之一:以终为始首先定义一个目标。对于创业小公司来说,我们追求的肯定不是那些花架子,要的全是干货:1、 CI-持续集成要求客户端代码和服务器代码能够自动构造,并且自动运行测试案例。为此我们搭建了一个Build Server(基于Jenkins),专门每天晚上自动下载源代码,构建,安装和测试,如果构建有问题会给公司所有人发邮件通知。2、 BDD/TDD-测试驱动测试驱动开发和持续集成的关系,我的理解是测试驱动开发需要开发人员从开发方法和开发习惯的高度真正转变,而持续集成是一个使能工具。二者虽可独立实践,但更多的是紧密结合。在我们的实践中,之前也曾走了一段弯路,光有CI,公司几个人又都是技术大佬 阅读全文
posted @ 2012-11-20 15:28 深圳市路云信息科技有限公司 阅读(400) 评论(0) 推荐(0) 编辑
  2012年11月19日
摘要: 介绍Android程序开发的很多,但鲜有介绍如何在Android开发上实践敏捷,我结合路易95在开发过程中的实践对此作一个简要介绍,主要包括敏捷工具的选择,希望能够对广大的Android开发程序员或者创业同仁带来一些帮助。开篇:关于路易95和路云信息科技路易95是路云信息科技(www.roadclouding.com)推出的实时路况应用,公司由几个前华为人成立,大家本着一个共同的理念走到一起:知行合一。因为我们深深的认识到,这个世界上不缺少Idea,也不缺少资金,更不缺少实践的人才和团队,但是在Idea to Cash之间由于环节众多,大公司的通常做法是每个环节都有专业化的分工,小公司一般负担 阅读全文
posted @ 2012-11-19 17:56 深圳市路云信息科技有限公司 阅读(474) 评论(0) 推荐(0) 编辑
  2012年7月20日
摘要: 花了1+小时,在mongdb和rails官网上来回找,stackoverflow也没有现成的答案,最后自己摸索出来:假设有一个model:Snap,有一个字段recorded,想根据这个字段进行排序:Snap.all.desc(:recorded).limit(3)即可。 阅读全文
posted @ 2012-07-20 10:47 深圳市路云信息科技有限公司 阅读(207) 评论(0) 推荐(0) 编辑
  2012年7月2日
摘要: 上次谈了如何开发rails的non browser app,本文将谈谈如何部署这类APP的问题用于生产环境时,必须要考虑到如何将其部署和运行,最好的办法是让这个app作为daemon运行,并且可以通过capistrano自动运行。1、Capistrano的基本用法-这里就不介绍了2、让一个app能够daemon运行,首先在script下创建一个文件daemon,内容如下:#!/usr/bin/env rubyrequire File.expand_path("http://www.cnblogs.com/config/environment", __FILE__)requi 阅读全文
posted @ 2012-07-02 16:12 深圳市路云信息科技有限公司 阅读(333) 评论(0) 推荐(0) 编辑