Fork me on GitHub

2012年12月20日

摘要: (1)C++ 不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。例如: C++: struct Point { public: int X, Y; Point(int x, int y); Point(Point pt) : Point(pt.X, pt.Y) { } // 错误,C++ 不允许 }; C#: struct Point { public int X, Y; public Point(int x, int y); public Point(Point pt) : Point(pt.X, pt.Y) { } // 可以,C... 阅读全文
posted @ 2012-12-20 09:50 HackerVirus 阅读(192) 评论(0) 推荐(0)
摘要: A:函数声明:int find(int* a);函数调用:int b = 1; int n = find(&b);这样调用时,实际上是进行了:int* a = &b,创建了一个新的指向b的整型指针a作为find函数范围内的局部变量。B:函数声明:int find(int& a);函数调用:int b = 1; int n = find(b);这样调用时,实际上是进行了:int& a = b,给变量b起了个别名a,也就是说a和b实际上代表的是同一个变量,调用期间没有创建任何新的变量。C:函数声明:int find(int a);函数调用:int b = 1; in 阅读全文
posted @ 2012-12-20 09:38 HackerVirus 阅读(275) 评论(0) 推荐(0)
摘要: 在iPhone中直接调用系统自带的地图程序实现导航在一个国外iPhone外包项目中,需要实现一个GPS功能:将当前所在地和目的地进行导航。GPS定位的话,iPhone中容易实现,通过CLLocationManager对象可以实现当前位置定位,而实现地图导航功能就有点麻烦,在开发初期,我们采用的是UIWebView加载Google地图,然后调用其API来实现,但是导航效果不是很理想,相关的API详见:http://code.google.com/intl/zh-CN/apis/maps/documentation/mapplets/reference.html后来在AppStore下载到一个GP 阅读全文
posted @ 2012-12-20 09:31 HackerVirus 阅读(179) 评论(0) 推荐(0)
摘要: IPhone多视图开发近来公司有个项目,一部分功能需要在IPhone手机上面完成。采用了多视图和WebService客户端技术。项目完成后,把中间开发的一些东西记录下来,一方面为了以后能加以应用,另一方面和大家一起分享,一起提高。以一个简单的例子来说明,文章后面提供了项目下载地址。1.新建IPhone项目打开XCode,新建IPhone项目,选择“window-based Application”模板,项目名称暂定为shouji138,效果如下图:完成之后的界面如下图:2.添加控制视图的ViewController类:SwitchViewController;这里用一个ViewControll 阅读全文
posted @ 2012-12-20 09:30 HackerVirus 阅读(168) 评论(0) 推荐(0)
摘要: 已经很久没更新博客了。最近在一个iOS项目中,利用到了Obj-C语言的运行时反射特性,来减少一些代码编写的工作量,特记录下来。移动互联网下iOS客户端的开发,一般都会与服务端进行通讯,也会使用到Sqlite数据库来保存一些数据,按常规的搞法,一般都需要手动建表结构,写实体类对象,然后写插入、更新、查询等语句来实现功能,因此想到是否有一种通用的办法来进行一些代码方面的减负工作。通过这个项目的实践,已经找到了答案。在使用这些代码前,我们进行了以下的约定:1. sqlite的数据库表名直接使用实体类的类名;2. sqlite的数据字段使用实体类的属性名称;3. sqlite的数据类型统一设为text 阅读全文
posted @ 2012-12-20 09:28 HackerVirus 阅读(125) 评论(0) 推荐(0)
摘要: 1.百度云网盘 360云盘 金山快盘 等 + Git GUI 实现代码版本管理-个人篇网盘现在很流行,比较好且稳定性强的个人感觉有 百度云网盘、360云盘、金山快盘、腾讯微云,我个人常用的是这四家的,大公司安全性好,稳定性强,速度快,其它就不多说了我这里用百度云网盘,并用VS2012新建项目进行演示昨天晚上刚在服务器上面安装了SVN,今天在网上就学到了可以通过网盘来实现版本管理,这样还好,不用再用自已服务器上面的带宽了。下面介绍操作细节1、先下载Git GUI 下载地址:http://code.google.com/p/msysgit/downloads/list再下载百度云网盘 下载地址:h 阅读全文
posted @ 2012-12-20 09:27 HackerVirus 阅读(651) 评论(0) 推荐(0)
摘要: 好几天没有写博客了,突然间有种写博客的冲动,虽然我的技术能力还是在努力的进步,但是和那些大牛比起来,我确实是小菜一枚,不过这并没有打击我的积极性,反而让我有种冲动,去超越他们。哈哈我记得在几天前我说过一个Lucene.net,是从java中借鉴过来的,现在我来说一下Npoi吧,当然这个也是从java借鉴过来的,不过这个语法没有Lucene.net那么恶心,Lucene.net是完全的java版,但是npoi.net最起码有点和.net联系在了一起。好东西都是java的,.net大牛们,你们在干嘛,开发一些优秀的东西吧,别总让java鄙视我们。好了,说说Npoi.net吧,Npoi是对Excel 阅读全文
posted @ 2012-12-20 09:25 HackerVirus 阅读(527) 评论(0) 推荐(3)
摘要: C++ 线程安全的单例模式废话不多说,常用的代码积淀下来。一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety.使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。1、静态成员实例的懒汉模式: 1 class Singleton 2 { 3 private: 4 static Singleton* m_instance; 5 Singleton(){} 6 publ... 阅读全文
posted @ 2012-12-20 09:20 HackerVirus 阅读(351) 评论(0) 推荐(0)

2012年12月19日

摘要: 前段时间介绍了浏览器缓存机制,通过浏览器缓存一方面可以改善用户的体验,而不用漫长地等待从服务器下载资源;另一方面减轻服务器压力、节省流量。CDN是另一种可以大幅度优化用户体验,且减轻服务器压力的技术。下面就自己了解的CDN技术分享下。CDN的实现是一组技术的组合,每个技术都可以单独成文详细讨论,这里就不深入每个技术。内容目录:1.什么是CDN?2.CDN技术原理2.1.分布式存储2.2.内容管理2.3.负载均衡2.4.网络请求的重定向3.CDN资源访问流程4.关于CDN的疑问4.1.使用CDN后,如何获取客户端真实IP?4.2.采用CDN服务以后如何保证内容的更新和同步?1.什么是CDN?CD 阅读全文
posted @ 2012-12-19 10:52 HackerVirus 阅读(159) 评论(0) 推荐(0)
摘要: 【摘录】入门MongoDB,你需要注意的4个技巧本文摘抄自:http://database.51cto.com/art/201012/241103.htm使用64位的版本32位的版本最多只能存储2.5GB的数据。当然,如果随便玩玩的话,这可能已经足够了。但是当你开始配置你的生产性(或用于演示的)系统的时候,记住要选择64位的版本,因为以后你无法通过“修复”来解决这个问题,你只能重新安装。在另外一台机器上创建一个从数据库如果你的MongoDB实例崩溃了(或者由于OOM挂掉了,或者整个系统都崩溃了),那么谁也无法保证你的数据会怎么样。你可以进行修复,但是这有点像运行fsck或买彩票——你永远都无法 阅读全文
posted @ 2012-12-19 10:50 HackerVirus 阅读(271) 评论(0) 推荐(0)