摘要:
ffrpc-c++进程间(服务器端、客户端)通信框架FFRPCgithub 地址https://github.com/fanchy/FFRPCFFRPC 已经陆陆续续开发了1年,6月6日这天终于完成了我比较满意的版本,暂称之为 V0.2,FFRPC实现了一个C++版本 的异步进程间通讯库。我本身是做游戏服务器程序的,在服务器程序领域,系统是分布式的,各个节点需要异步的进行通信, 我的初衷是开发一个易用、易测试的进程间socket通信组件。实际上FFRPC 已经是一个框架。FFRPC 主要特性FFRPC 采用Epoll Edge Trigger模式,这里特别提一下ET是因为在异步工作模式,ET方
阅读全文
posted @ 2013-06-06 11:09
HackerVirus
阅读(354)
推荐(0)
摘要:
.NET程序员应该理解的几种软件保护方法 辛苦开发的程序需要建立有效的保护机制使用.NET开发程序,因为元数据存在于程序集中,可以轻易的被反编译成源代码。在分发给客户之间,会应用加密软件混淆程序集,这样让程序集被反编译时,理解起来困难一些,增加一点破解难度。以下列举我常见到的几种保护方法,可应用于实际的产品保护。方法一 以Red Gate的SQL Toolbet为代表的 需要连接到服务器端进行验证Red Gate开发的SQL系列工具非常有名气,比如著名的SQL Prompt,可以在SQL Server Management Studio实现智能提示功能。每当有新的可用的版本出现(希望你可以理解
阅读全文
posted @ 2013-06-06 11:05
HackerVirus
阅读(187)
推荐(0)
摘要:
泛型KMP算法当我们需要从一个字符串(主串)中寻找一个模式串(子串)时,使用KMP算法可以极大地提升效率。KMP是一个高效的字符串匹配算法,它巧妙的消除了在匹配的过程中指针回溯的问题,关于KMP算法的更多介绍,可以参考这里。原始的KMP算法适用的对象是字符串的匹配搜索,其实针对任意类型的串(实际上就是一个数组)的子串搜索,都可以使用KMP算法。比如,我们可能需要在byte[]中查找一个特定的字节数组,这同样可以使用KMP算法来提升匹配性能。为此,我实现了泛型的KMP算法,使之可以应用于任意类型的串匹配。下面是该算法的完整实现。 /// <summary> /// 泛型KMP算法。
阅读全文
posted @ 2013-06-06 11:04
HackerVirus
阅读(187)
推荐(0)
摘要:
项目代码风格要求项目代码风格要求PDF版下载:项目代码风格要求V1.0.pdf代码风格没有正确与否,重要的是整齐划一,这是我拟的一份《项目代码风格要求》,供大家参考。1. C# 代码风格要求1.1注释类型、属性、事件、方法、方法参数,根据需要添加注释。如果类型、属性、事件、方法、方法参数的名称已经是自解释了,则不需要加注释;否则必须添加注释。当添加注释时,添加方式如下图所示:1.2 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,不得出现中文。唯一可以使用中文的地方是枚举的枚举项,枚举项实际已经不属于本节标题的范畴了。这里只是放
阅读全文
posted @ 2013-06-06 10:50
HackerVirus
阅读(244)
推荐(0)
摘要:
C++的性能优化实践优化准则:1. 二八法则:在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%的尽管是多数,却是次要的;在优化实践中,我们将精力集中在优化那20%最耗时的代码上,整体性能将有显著的提升;这个很好理解。函数A虽然代码量大,但在一次正常执行流程中,只调用了一次。而另一个函数B代码量比A小很多,但被调用了1000次。显然,我们更应关注B的优化。2. 编完代码,再优化;编码的时候总是考虑最佳性能未必总是好的;在强调最佳性能的编码方式的同时,可能就损失了代码的可读性和开发效率;工具:1 Gprof工欲善其事,必先利其器。对于Linux平台下C++的优化,我们使用gprof
阅读全文
posted @ 2013-06-05 18:19
HackerVirus
阅读(219)
推荐(0)
摘要:
WCF学习 第三天 事务的使用今天是速成的第三天,再分享一下WCF中比较常用的一种技术,也就是”事务“。在B2B的项目中,一般用户注册后,就有一个属于自己的店铺,此时,我们就要插入两张表, User和Shop表。当然,要么插入成功,要么全失败。第一步: 首先看一下项目的结构图:第二步: 准备工作,我们新建Commerce数据库,用EF去映射,然后新建ServiceWCF类库,具体步骤就省略, 这一块不懂可以留言。第三步:新建一个Model类库。建立两个实体类Shop和User,当然自定义类型在WCF中传输, 必须在类上加上【DataContract】,属性上加【DataMem...
阅读全文
posted @ 2013-06-05 15:54
HackerVirus
阅读(192)
推荐(0)
摘要:
离线悲观锁 之 过期策略支持背景之前写了一篇文章防止并发修改 之 离线悲观锁代码示例(离线悲观锁),这篇文章回避了一个问题,就是如何处理用户直接关闭浏览器后导致的锁占用问题。本文就介绍一个思路。思路思路1这是之前已经提供过的思路,只是没有贴出来,就是:当会话结束的时候清除所有用户持有的锁,这会导致个别锁在会话期间被长时间占用(可能超过几个小时)。思路2引入一个后台线程,每隔指定的分钟就清理一下被长时间占用的锁,如:清理那些占用超过10分钟的锁,这回导致一定的线程成本,因为这个线程需要频繁的运行。思路3引入过期策略,是否被锁完全取决于两个条件:是否拥有锁以及是否过期,这个思路下过期的锁会成为一种
阅读全文
posted @ 2013-06-05 15:52
HackerVirus
阅读(219)
推荐(0)
摘要:
在某年的一个暑假,很想把已经写好的“锄大地”游戏跟冯Boy分享一下,可是那时候不会做一个自动安装.NET Framework4.0的安装包,很遗憾无法跟她分享我的成果。 最近上头有任务,让我去为团队的成果打一个包,而且项目运行时必备的SQL Server、.NET Framework都要一键安装,项目用到的数据库和端口都要在安装的时候一同搞好,这回总算是会了。安装项目介绍新建一个安装包的项目建好了项目之后就有这个界面:文件系统编辑器还有其他类型的编辑器。由左往右分别是:文件系统编辑器,注册表编辑器,文件类型编辑器,用户界面编辑器,自定义操作编辑器,启动条件编辑器。到现时为止,只用到三个编辑器.
阅读全文
posted @ 2013-06-05 15:49
HackerVirus
阅读(164)
推荐(0)
摘要:
TOGAF总论及架构开发方法(ADM)概述TOGAF(The Open Group Architecture Framework)可以说是当前最为流行的企业架构框架理论了,截止到作者写本书之时,福布斯排行榜上排名前50的企业中已经有很大一部分在使用这一企业架构框架了,并且中国企业对它的认可度也超过了50%。TOGAF可以说是企业架构理论从政府进入到社会各研究机构的一个典型案例,它起源于美国国防部的信息管理技术架构框架(TAFIM,Technical Architecture Framework for Information Management),并在获得美国国防部的允许和鼓励之后,借助于美
阅读全文
posted @ 2013-06-05 15:47
HackerVirus
阅读(591)
推荐(0)
摘要:
微软的TFS如何在客户端设置独占签出最近发现微软给我们提供了免费的TFS,地址:http://tfs.visualstudio.com/, 就注册了一个,但是我发现没办法独占签出。在公司里,TFS有服务端,所以很好设置,但是注册微软的tfs我们就没有服务端了,所以这里我们并不好设置了,不多说了,下面就来直接讲解如何设置独占签出。步骤:1、打开源代码管理资源管理器,点击“工作区”的下拉框,选择,“工作区”2、选择编辑3、选择“高级”4、进入编辑工作区,tfs中“位置”选项中,默认的时本地,如果想独占签出,这里我们就必须设置成“服务器”5、点击确定,这样我们的第一步就完成了,按照下图操作6.在签出
阅读全文
posted @ 2013-06-05 15:44
HackerVirus
阅读(240)
推荐(0)