自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

早晨的阳光 的技术博客

不是一番寒彻骨,怎得梅花扑鼻香

  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

原创 传输层的各种模式——ZeroMQ 库的使用

最近在研究 ZeroMQ 库的使用,所以在这里总结一下各种模式,以便日后拿来使用。关于 ZeroMQ 库,我就不多介绍了,大家可以参考下面一些文章,以及他的官网、使用指南、API 参考、项目仓库等内容。开源点评:ZeroMQ简介ZeroMQ的学习和研究ZeroMQ 的模式ZeroMQ 的目标是成为 OSI 模型的传输层(Transport Layer)的标准协议,所

2013-03-22 13:46:59 7950

转载 Entity Framework 之领域驱动设计实践

最近在了解实体框架(Entity Framework)和领域驱动设计(Domain Drivern Design),找到了一个非常好的文章,故收集在此,以便以后再次查阅。EntityFramework之领域驱动设计实践 - 前言EntityFramework之领域驱动设计实践(一):从DataTable到EntityObjectEntityFramework之领域驱动设计实践(二):分层架

2011-12-13 10:11:28 934

原创 C++11 下使用 Boost.Serialization 库实现智能指针的序列化

最近在 Visual Studio 2010 下,使用 C++11 的新特性进行一些开发的时候,在用到 Boost.Serialization 库实现序列化的时候遇到了问题。C++11 的标准库已经提供了原来在 Boost 库下面的智能指针的实现了,所以当然要使用标准库内的设施了,但是在序列化这些智能指针的时候,就不能顺利进行了。主要由于 Boost.Serialization 库内的实现目前只支

2011-12-07 13:41:03 3341

转载 C++0x FAQ中文版 - [C++11 FAQ]

今天看到了一篇关于 C++0x 的非常好的系列文章,是翻译自 C++ 之父 Bjarne Stroustrup 的 C++11 FAQ 的。我们已经可以开始使用 C++0x 进行开发了。原文:http://www2.research.att.com/~bs/C++0xFAQ.html译文:http://imcc.blogbus.com/logs/106046323.html值得一读的

2011-11-21 14:28:53 966

原创 C++编程规范 组织和策略问题

第0条 不要拘泥于小节(又名:了解那些东西不应该标准化)只规定需要规定的事情:不要强制施加个人喜好或者过时的做法。详细:1、应该使用缩进来体现代码的结构。建议每个缩进使用4个空格或者设置编辑器的制表符大小为4个空格,并且应该在每个文件中保持一致。2、应该保证代码行的长度有利于阅读。建议每行不超过10个单词。3、应该使用一致的、有意义的命名规范。必须永远不要使用“晦涩的名称”,必

2011-11-11 17:35:37 926

原创 C++编程规范 类型安全

类型安全返回 目录返回《C++ 编程规范及惯用法》

2011-11-11 17:16:06 605

原创 C++编程规范 STL: 算法

STL: 算法返回 目录返回《C++ 编程规范及惯用法》

2011-11-11 17:15:22 564

原创 C++编程规范 STL: 容器

STL: 容器返回 目录返回《C++ 编程规范及惯用法》

2011-11-11 17:14:40 550

原创 C++编程规范 错误处理与异常

第68条 广泛地使用断言记录内部假设和不变式使用断言吧!广泛地使用 assert 或者等价物记录模块内部(也就是说,调用代码和被调用代码由同一个人或者小组维护)的各种假设,这些假设是必须成立的,否则就说明存在编程错误(例如,函数的调用代码检查到函数的后条件不成立)。(另见 C70)当然,要确保断言不会产生任何副作用。详细:1、按照信息论的原理,一个事件中所含的信息量与该事件发生的概率是

2011-11-11 17:13:55 3048

原创 C++编程规范 模板与泛型

第64条 理智地结合静态多态性和动态多态性1 加 1 可远远不止是 2 :静态多态性和动态多态性是相辅相成的。理解它们的优缺点,善用它们的长处,结合两者以获得两方面的优势。详细:1、动态多态性是以某些类的形式出现的,这些类含有虚拟函数和(通过指针或者引用)间接操作的实例。静态多态性则与模板类和模板函数有关。2、多态性的优势在于,同一段代码能够操作于不同类型,甚至可以是在编写代码时不

2011-11-11 17:13:05 847

原创 C++编程规范 名字空间与模块

第57条 将类型及其非成员函数接口置于同一名字空间中非成员也是函数:如果要将非成员函数(特别是操作符和辅助函数)设计成类 X 的接口的一部分,那么就必须在与 X 相同的名字空间中定义它们,以便正确调用。详细:1、公有成员函数和非成员函数都是类的公有接口的组成部分。接口原则是这样表述的:对于一个类 X 而言,所有在同一个名字空间中“提及” X 和“随” X “一起提供的”函数(包括非成员

2011-11-11 17:11:43 1024

原创 C++编程规范 构造、析构与复制

第47条 以同样的顺序定义和初始化成员变量与编译器一致:成员变量初始化的顺序要与类定义中声明的顺序始终保持一致;不用考虑构造函数初始化列表中编写的顺序。要确保构造函数代码不会导致混淆地指定不同的顺序。详细:1、违反的危害性很大,而且很难发现。2、C++ 这么设计是为了确保销毁成员的顺序是唯一的,避免底层开销。3、解决方案是,总是按成员声明的顺序编写成员初始化语句。第48

2011-11-11 17:10:49 676

原创 C++编程规范 类的设计与继承

第32条 弄清所要编写的是那种类了解自我:有很多种不同的类。弄清楚要编写的是哪一种。详细:1、值类模仿的是内置类型,应该:有一个公用析构函数,复制构造函数和带有值语义的赋值。没有虚拟函数(包括析构函数)。是用作具体类,而不是基类(见 C35)。总是在栈中实例化,或者作为另一个类直接包含的成员实例化。2、基类是类层次结构的构成要素,应该:有一个公用而且虚拟,或者保护而且非虚拟的析构函

2011-11-11 17:10:12 877

原创 C++编程规范 函数与操作符

第25条 正确地选择通过值、(智能)指针或者引用传递参数正确选择参数:分清输入参数、输出参数和输入/输出参数,分清值参数和引用参数。正确地传递参数。详细:1、对于只输入参数:始终用 const 限制所有指向只输入参数的指针和引用;优先通过值来取得原始(如 char、float)和复制开销比较低的值对象(如 Point、complex)的输入;优先按 const 的引用取得其他用户定义类

2011-11-11 17:09:16 527

原创 C++编程规范 编程风格

第14条 宁要编译时和连接时错误,也不要运行时错误能够在编译时做的事情,就不要推迟到运行时:编写代码时,应该在编译期间使用编译器检查不变式(invariant),而不应该在运行时再进行检查。运行时检查取决于控制流和数据的具体情况,这意味着很难知道检查是否彻底。相比而言,编译时检查与控制流和数据无关,一般情况下能够获得更高的可信度。详细:1、静态检查与数据和控制流无关。2、静态表示的

2011-11-11 17:08:28 620

原创 C++编程规范 设计风格

第5条 一个实体应该只有一个紧凑的职责一次只解决一个问题:只给一个实体(变量、类、函数、名称空间、模块和库)赋予一个定义良好的职责。随着实体变大,其职责范围自然也会扩大,但是职责不应该发散。详细:1、“多个职责”经常意味着“多重性格”——可能的行为和状态的各种组合方式。2、应该用较小的低层抽象构建更高层次的抽象。3、要避免将几个低层抽象集合成一个较大的低层次抽象聚合体。4、

2011-11-11 17:06:15 557

原创 Exceptional C++ Style 目录

泛型编程与 C++ 标准库 1第1条 vector 的使用 2第2条 字符串格式化的“动物庄园”之一:sprintf 9第3条 字符串格式化的“动物庄园”之二:标准的(或极度优雅的)替代方案 14第4条 标准库成员函数 23第5条 泛型性的风味之一:基础 26第6条 泛型性的风味之二:够“泛”了吗 30第7条 为什么不特化函数模板 36第8条 友元模板 42第9

2011-11-11 11:58:21 609

原创 More Exceptional C++ 目录

泛型程序设计与C++标准库条款1:流条款2:Predicates,之一:remove() 删除了什么?条款3:Predicates,之二:状态带来的问题条款4:可扩充的模板:使用继承还是 traits?条款5:typename条款6:容器、指针和“不是容器的容器”条款7:使用 vector 和 deque条款8:使用 set 和 map条款9:等同的代码吗?

2011-11-11 11:41:25 643

原创 Exceptional C++ 目录

第1章 泛型程序设计与 C++ 标准库条款1:迭代器条款2:大小写不敏感的字符串——之一条款3:大小写不敏感的字符串——之二条款4:可重用性最大的泛型容器——之一条款5:可重用性最大的泛型容器——之二条款6:临时对象条款7:标准库的使用(再论临时对象)第2章 异常安全性的问题与技术条款8:编写异常安全的代码——之一条款9:编写异常安全的代码——之二条

2011-11-11 11:32:16 771

转载 Visual Studio 2010搭建QT开发环境

因为Qt现有的SDK都是用mingw编译的,所以在搭建Qt开发环境时需要用VS 2010重新编译QT,以下是在搭建开发环境中用到的工具及其下载地址1、Qt-4.7.4-src http://get.qt.nokia.com/qt/source/qt-everywhere-op

2011-10-10 14:30:00 5996

原创 VC2010 + TFS2010 结合 Boost.Test 库进行自动化构建及自动化测试

最近做了一个实验,结合 VC2010 + TFS2010 + Boost.Test 建立自动化构建和自动化测试。实验成功实现了目标。下面简述一下整个过程。前提是已经建立了 TFS2010 构建系统,VC2010 已经设置好引入 Boost 库的配置。首先,需要建立测试的目

2011-09-27 17:19:53 3733

原创 极具威力的 DBPROP_CLIENTCURSOR

今天做了一个测试,结果令我非常吃惊,没想到会有这么大的差异。原本是想测试 C# 的 ADO.NET 的性能和 C++ 的 OLEDB 的性能差异如何的。原以为应该是 OLEDB 优胜于 ADO.NET 的,但是结果却相反。数据库是 SQL Server 2005 的,数据

2011-09-23 18:25:48 690

转载 计算机的存储单位

计算机存储单位:Byte、KB、MB、GB、TB、 PB、EB、ZB、YB、DB、NB你知多少 在计算机报上看到荷兰银行的20个数据中心有大约7pb磁盘和超过20pb的磁带存储,而且每年50%~70%存储量的增长, 于是想看看pb究竟有多大,计算一下27pb大约为

2011-09-17 16:42:53 1447

转载 软件项目版本号的命名格式

版本控制比较普遍的 3 种命名格式 :   一、 GNU 风格的版本号命名格式 : 主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] 英文对照 : Major_Version_Number.Minor_Version_Number[.Revisio

2011-09-13 16:42:55 1037

原创 VC2010 STL 与 STLport 性能比较

今天对 VC2010 的 STL 和 STLport 的性能进行了一下简单的比较,测试结果如下:测试容器DEBUGRELEASESTLportVC2010STLportVC2010启用 _STLP_DEBUG 参数

2011-09-06 11:10:04 4919 2

转载 编写软件架构文档说明

第 1 部分: 什么是软件架构,为什么为软件架构编写文档说明非常重要软件架构对于复杂实时系统的开发已日益变得更加重要。在这个新的系列中,了解为什么以及应该如何编写软件架构文档说明。您将了解为任何中大型软件开发项目编写文档说明的五个不同视图或方面。这是本系列中的第一篇文章,其中

2011-09-03 10:26:50 1550

转载 Visual Studio 2010 中 C++ 引入的新特性

Visual Studio 2010 的 C++ 引入了 C++0x 的一些新特性,特摘录如下,供大家参考:Lambda 表达式类似如下代码:for_each(v.begin(), v.end(), [](int n){ cout << n; if (0 ==

2011-08-29 11:28:01 1698

原创 VS2010 + STLport + Boost 的编译使用

Visual Studio 2010 下编译使用 STLport 库和 Boost 库,需要做一些小处理,特记录一下:首先,下载、解压、安装,这个就不详细说明了,可以看下面的参考或者搜索一下就有很多了。然后,修改 “stlport\stl\_cstdlib.h” 文件,在

2011-08-26 16:47:38 4625 4

原创 C++编程规范 目录

组织和策略问题第0条 不要拘泥于小节(又名:了解那些东西不应该标准化)第1条 在高警告级别干净利落地进行编译第2条 使用自动构建系统第3条 使用版本控制系统第4条 在代码审查上投入设计风格第5条 一个实体应该只有一个紧凑的职责第6条 正确、简单和清晰第一第7条 编程中应知道何时和如何考虑可伸缩性第8条 不要进行不成熟的优化第9条 不要进行不成

2011-08-19 17:36:01 1291

原创 Effective STL 目录

容器条款1:仔细选择你的容器条款2:小心对“容器无关代码”的幻想条款3:使容器里对象的拷贝操作轻量而正确条款4:用 empty 来代替检查 size() 是否为 0条款5:尽量使用区间成员函数代替它们的单元素兄弟条款6:警惕 C++ 最令人恼怒的解析条款7:当使用 new 得指针的容器时,记得在销毁容器前 delete 那些指针条款8:永不建立 auto_ptr 的

2011-08-19 17:35:30 516

原创 More Effecitve C++ 目录

基础议题(Basics) 009条款1:仔细区别 pointers 和 references 009Distinguish between pointers and references.条款2:最好使用 C++ 转型操作符 012Prefer C++-style casts.条款3:绝对不要以多态(polymorphically)方式处理数组 016Never treat

2011-08-19 17:35:03 611

原创 Effective C++ 目录

改变旧有的C习惯(Shifting from C to C++) 013条款1:尽量以 const 和 inline 取代 #define 013Prefer const and inline to #define.条款2:尽量以  取代  017Prefer  to .条款3:尽量以 new 和 delete 取代 malloc() 和 free() 019Prefer

2011-08-19 17:34:32 769

原创 C++ 编程规范及惯用法(未完成)

最近重读了一下一些经典的 C++ 书籍,再次感觉到 C++ 的难与浩大,为了日后编程能够减少错误和提高效率,故希望把一些编程规范做一下总结及收集,同时也把一些编程的最佳实践和惯用法总结一下,方便日后开发的时候能够根据需要应用上。这个工作说容易也容易,基本就是把这些书籍的目录罗列一下。说难也难,要做到能够指导日后的快速开发,这个确实不容易。反正尽量做吧,应该会有点用的。首先,把我认为比较好的

2011-08-19 17:33:53 1412

原创 引用 Enterprise Library 5.0 时的一个警告和运行时错误及解决办法

最近在使用 Enterprise Library 5.0 时,发现一个类似如下的警告信息:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3253

2011-07-15 10:41:15 8262 1

原创 加密算法的安全级别

今天在网上看到一个关于加密算法的安全性及性能的表格,特摘录下来以便日后参考使用,原表是英文的,这里直接翻译成中文方便查阅。另外还找了一些关于密码学相关的信息,附录在后。加密算法的安全级别(Security Level of Cryptographic Algorithms)安全级

2011-07-14 14:33:32 15687 2

转载 Entity Framework 之领域驱动设计实践

最近在了解实体框架(Entity Framework)和领域驱动设计(Domain Drivern Design),找到了一个非常好的文章,故收集在此,以便以后再次查阅。Entity Framework 之领域驱动设计实践 - 前言 Entity Framew

2011-07-05 13:42:00 1277

原创 .NET 开源框架 Spring.NET

Spring.NET 是一个应用程序框架,其目的是协助开发人员创建企业级的 .NET 应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及 ASP.NET 扩展等等。Spring.NET 以 Java 版的 Spring 框架为基础,将 Spring.Java 的核心概念与思想移植到了 .NET 平台上。 下面是一些相关的文章: 前言 Spring.NET学

2011-06-29 16:37:00 2039

原创 .NET 开源框架 Castle

Castle 是针对 .NET 平台下的一个非常优秀的开源项目,从数据访问框架 ORM 到依赖注入容器,再到 WEB 层的 MVC 框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。 下面是一些相关的文章: 第一部分:ActiveRecord学习实践系列 1.Castle ActiveRecord学习实践(1):快速入门指南 2.Cas

2011-06-29 16:07:00 1818

转载 一篇依赖倒置,控制反转,依赖注入好文

摘自(http://www.contextfree.net)向依赖关系宣战依赖倒置、控制反转和依赖注入辨析在《道法自然——面向对象实践指南》一书中,我们采用了一个对立统一的辩证关系来说明“模板方法”模式—— “正向依赖 vs. 依赖倒置”(参见:《道法自然》第15章[王咏武, 王咏刚 2004])。这种把“好莱坞”原则和 “依赖倒置”原则等量齐观的看法其实来自于轻量级容器Pic

2011-06-24 14:36:00 636

原创 虚拟化技术

最近了解了一下虚拟化技术,下面收集了一些文章,以备日后需要重新查阅。 虚拟化技术 微软虚拟化 Hyper-V Windows 2008 64位系统Hyper-V安装体验(上) Windows 2008 64位系统Hyper-V安装体验(下) 利用Hyper-V创建和配置虚拟机全过程 U盘启动运行Windows Server 2008 R2 Hyper-V

2011-06-23 11:48:00 704

C++11 下使用 Boost.Serialization 库实现智能指针的序列化

C++11 下使用 Boost.Serialization 库实现智能指针的序列化

2011-12-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除