上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 71 下一页
摘要: 设计模式在粒度和抽象层次上各不相同。由于存在众多的设计模式,所以我们可以用一种方式将它们组织起来。这里,我们根据两条准则对模式进行分类,如下表所示:第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型( Creational)、结构型( Structural)、或行为型( Behavioral )三种。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。对 象模式处理对象间的关系,这些 阅读全文
posted @ 2012-09-03 17:46 hnrainll 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 一 1975年,当微软诞生的时候,比尔·盖茨只有19岁,他的员工只有3个,当年的营业收入仅1.6万美元。让微软腾飞的“决定性产品”,便是比尔于1985年推出的Windows(视窗)操作系统,这种由微软开发和设定的“图形用户界面”成为全球电脑必用操作系统,它占有了90%以上的市场份额,形成名副其实的寡头优势。到1995年,微软已成为一家巨型高科技公司,拥有员工1.78万人,年收入高达130亿美元。 也是在这一年,比尔·盖茨做了两件事,一件是他推出了Windows95,在价格固定不变的前提下,增加了文件管理、图形处理、网络浏览等多种功能,其卓越的价格性能比使微软取得了竞争对手望 阅读全文
posted @ 2012-08-30 10:13 hnrainll 阅读(1816) 评论(0) 推荐(0) 编辑
摘要: 1. IPv6 还不能用于生产环境IPv6 已经开发了20年了,最初的工作是在1992年展开的,叫做“IP Next Generation”,在1998年被标准化为 IPv6。在2008年在因特网上部署,并且2008年的奥运会服务器就支持 IPv6。在2011年6月8日,几个大型网站开始测试启用 IPv6,叫做“World IPv6 Day”。所以 IPv6 是经过时间检验,可以正式商用的。2. IPv6 将破坏我的网络IPv6 并不是 IPv4 的补丁,它是一个新的协议可以在同一根网线上传输。它并不要求你禁用 IPv4,所以你并不需要对现有的网络进行更改。你可以在你的网络中同时部署 IPv6 阅读全文
posted @ 2012-08-29 08:49 hnrainll 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.java3z.com/cwbwebhome/article/article8/862.html 本文讲解了Java序列化的机制和原理。从文中你可以了解如何序列化一个对象,什么时候需要序列化以及Java序列化的算法。有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化 阅读全文
posted @ 2012-08-17 15:44 hnrainll 阅读(586) 评论(0) 推荐(0) 编辑
摘要: C语言宏中"#"和"##"的用法在查看linux内核源码的过程中,遇到了许多宏,这里面有许多都涉及到"#"和"##",因此,在网上搜索了一些资料,整理如下:一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#include<cstdio>#include<climits>usingnamespacestd;#defineSTR(s)#s#defineCONS(a,b)int(a##e##b)intmain(){printf(STR(vck));//输出字符串& 阅读全文
posted @ 2012-08-15 18:03 hnrainll 阅读(16298) 评论(2) 推荐(5) 编辑
摘要: 1, 质量一款成功的应用必须具备优秀的质量,得体的UI设计,而且必须支持多种语言以及加大推广。 2,检查完成度 决定什么才是你的市场,什么类型的App才具备最大的潜能,最好到卖场去搜索可能成为你的竞争对手的App,去看看这些应用都犯了什么错误,看看这些应用的用户评价都在抱怨什么东西,如果你都能克服这些缺陷并提供更多的卖点,那么你的应用成功的可能性就非常大。 3,自夸 在卖场上列举出你的应用的所有优点。 4,经典 我们在上世纪90年代都玩过一些类似《淘金者》,《超级马里奥》,《炸弹人》这样的经典游戏,所以你要做的就是找出这些游戏的缺陷并改进出成品。 5,预测 好的开发者必须能预测到用户的需求,不 阅读全文
posted @ 2012-08-14 14:24 hnrainll 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。其中‘层’是逻辑上的划分。三层体系结构是将整个系统划分为如图2.1所示的结构[3](1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据,同时系统提供数据验证功能。(2)业务逻辑层(Business layer):包含业务规则处理代码,即程序中与业务相关专业算法、业务政策等等。该层用于执行业务流程和制订数据的业务规则。业务逻辑层主要面向 阅读全文
posted @ 2012-08-07 10:55 hnrainll 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 在爸爸去世前,我和他谈论了2个星期关于编程的事。我22岁,一个在大学里攻读美术设计的四年级的学生。爸爸62岁,一个很老的爸爸。早在世纪60年代他就在田纳西理工大学编程,他在打孔纸带上做FORTRAN开发。他知识丰富。这个学期我才刚刚开始接触编程,而我的整个脑子全被它吸引住了。编程很神奇,很强大,在很多方面比图像设计更富创造性(我会在另外的文章里谈论这个话题)。在我假期回到家时,爸爸向我分享了无我编程的十条诫律。他把它打印出来,逐条和我讨论。这是在他意外去世前我们仅有的关于编程的讨论。也许这是让我对此念念不忘的原因。来自写于1971年的《程序开发心理学(The Psychology of Com 阅读全文
posted @ 2012-08-01 19:48 hnrainll 阅读(595) 评论(1) 推荐(3) 编辑
摘要: 输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入#1:#include <iostream>using namespace std;int main(){ char str[8]; cin.getline(str, 5); cout<<str<<endl; cin.getline(str, 5); cout<<s 阅读全文
posted @ 2012-08-01 09:51 hnrainll 阅读(865) 评论(0) 推荐(2) 编辑
摘要: 其定义在yvals.h当中. 目录为Microsoft Visual Studio\VC98\INCLUDE/* NAMESPACE */ #if defined(__cplusplus) #define _STD_BEGIN namespace std { #define _STD_END } #define _STD ::std::/*We use the stdext (standard extension) namespace to contain extensions that are not part of the curre... 阅读全文
posted @ 2012-07-31 14:53 hnrainll 阅读(1645) 评论(0) 推荐(0) 编辑
摘要: iostreamiostream 的意思是 输入输出流直接点说就是in(输入) out(输出) stream(流)取 in out 的首字母与 stream 合成C++语言中#include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。 在旧的标准C++中,使用#include<iostream.h> 但在新标准中,用#include<iostream>,而且在VS中编程的同时要注意要添加: using namespace std; using namespace std详解 一 : <iostream>和 阅读全文
posted @ 2012-07-31 12:09 hnrainll 阅读(2821) 评论(0) 推荐(0) 编辑
摘要: ·Don E. Knuth伟大的智者——Don E.Knuth,中文名:高德纳(1938-)算法和程序设计技术的先驱者。Oh,God!一些国外网站这样评价他。一般说来,不知道此人的程序员是不可原谅的。其经典著作《计算机程序设计艺术》更是被誉为算法中“真正”的圣经,像KMP和LR(K)这样令人不可思议的算法,在此书比比皆是。难怪连Bill Gates都说:“如果能做对书里所有的习题,就直接来微软上班吧!”对于Don E.Knuth本人,一生中获得的奖项和荣誉不计其数,包括图灵奖,美国国家科学金奖,美国数学学会斯蒂尔将(AMS Steel Prize),以及发明先进技术荣获的极受尊重的京 阅读全文
posted @ 2012-07-30 11:08 hnrainll 阅读(1104) 评论(1) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/ohatn/article/details/6255488UPnP(Universal plug-and-play 即通用即插即用)是由通用即插即用论坛 (UPnP™ Forum)提出的一套网络协议。该协议的目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。 UPnP 通过定义和发布基于开放、因特网通讯网协议标准的 UPnP 设备控制协议来实现这一目标。简单地理解,UPnP就是一种动态端口映射。详细一点说,假设内网某台机器连接的网关设备支持 UPNP igd 接口并开启了此项功能,那么网关设备就 阅读全文
posted @ 2012-07-27 17:15 hnrainll 阅读(6068) 评论(1) 推荐(0) 编辑
摘要: 本专题主要是介绍UPnP的工作原理和基本概念,包括SSDP、GENA和FXPP等基本协议,以及在Linux下如何使用Intel提供的UPnP开发包实现UPnP控制点和设备。本文是这个专题的第一篇,主要介绍UPnP的工作原理和基本概念。UPnP是通用即插即用(Universal Plug and Play)的缩写,它主要用于实现设备的智能互联互通。使用UPnP协议不需要设备驱动程序,因此使用UPnP建立的网络是介质无关的,它可以运行在几乎所有的操作系统平台之上,可以使用C,C++,JAVA和VB等开发语言,使得在办公室、家庭和其他公共场所方便地构建设备相互联通的网络环境。本专题主要是介绍UPnP 阅读全文
posted @ 2012-07-24 15:52 hnrainll 阅读(3873) 评论(0) 推荐(0) 编辑
摘要: 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的。这些工具都非常不错,希望每个人都知道。本篇文章还在Hacker News上被讨论,你可以过去看看。我以作者的原文中加入了官网链接和一些说明。dstat & sariostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在《性能调优攻略》中提到过那三个xxstat工具)。官方网站:http://dag.wieers.com/rpm/packages/dstat/你可以这样使用:1al 阅读全文
posted @ 2012-07-24 12:15 hnrainll 阅读(1165) 评论(0) 推荐(2) 编辑
摘要: 今天,开始在工作之余,抽出时间来学习linux界面编程。我计划在未来的半年内,学会 linux下的GTK+界面编程。这个文档作为我学习linux编程的第一个文档,我会尽量做的详 细一点。我所用的linux版本是Red Hat 9.0。第一个程序——Hello,World在开始写第一个程序之前,需要做一点基本操作。我登陆linux使用的是root用户(根用户,也叫超级用户)。所以,所有笔记中产生的截图,均是root用户下的。一、在linux桌面点击右键,在快捷菜单中选择“新建终端”选项,打开类似DOS的窗口。二、使用mkdir命令创建一个文件夹,文件夹命名为gtkgui,命令输入为:mkdir 阅读全文
posted @ 2012-07-23 22:44 hnrainll 阅读(10312) 评论(2) 推荐(0) 编辑
摘要: 在雨中跑得越快,淋的雨就越少吗?乍一听上去,这是个很傻的问题,但实际上我们那傻傻的童年可能不止思考过一次这个傻傻的问题。不过不要紧,物理学家也喜 欢来傻一把。意大利布雷西亚大学的Franco Bocci教授经过缜密研究,得出一个结论:在雨中狂奔是可以减轻被淋湿的程度的,只要你不顺风跑,并不是骨瘦如柴的体型。 教授说,在雨中被淋的量,跟一个人的身高体重比有关。对于大多数人来讲,在雨中要少淋雨,竭尽全力狂奔是最佳的举动。而体型偏瘦的人则需要控制奔跑 速度。同时还要考虑到是否顺风,以及风的速度。举个例子,如果你顺风跑,那么把你的速度控制在与风速大致相等的水平可以减少被淋的量。啥,怎么测风速? 傻,你 阅读全文
posted @ 2012-07-23 19:49 hnrainll 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blog.csdn.net/oanqoanq/article/details/7169291C++著名程序库的比较和学习经验1、C++各大有名库的介绍——C++标准库2、C++各大有名库的介绍——准标准库Boost3、C++各大有名库的介绍——GUI4、C++各大有名库的介绍——网络通信5、C++各大有名库的介绍——XML6、C++各大有名库的介绍——科学计算7、C++各大有名库的介绍——游戏开发8、C++各大有名库的介绍——线程9、C++各大有名库的介绍——序列化10、C++各大有名库的介绍——字符串11、C++各大有名库的介绍——综合12、C++各大有名库的介绍——其 阅读全文
posted @ 2012-07-23 16:43 hnrainll 阅读(676) 评论(0) 推荐(1) 编辑
摘要: 综观现今软件测试的一些轶事, 我对某些错误想法的频繁出现感到吃惊。尽管有很多可以罗列,但是我还是想分享测试的五个最常见的误传(基于我短暂的经验)。我发现前三个盛行于一些主流的新闻文章,而后两个则在科技领域的各个方面普遍存在。误传1:测试无聊曾有人说:”测试就像性。如果它不好玩,那就是你做的不对“。一件单调且无聊的事,作为测试的一个传闻,频繁见诸于主流媒体文章中,这些文章把测试者比作 软件产业的装配线工人。而事实上,测试工作每天都呈现给我们新的令人兴奋的挑战。Michael Bolton(译者注:DevelopSense校长,Rapid Software Testing的作者之一)的一段精彩摘引 阅读全文
posted @ 2012-07-21 13:06 hnrainll 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 大家都知道Android是一个开源项目,那任何人都可以为其贡献代码,虽然在developer的网站上有详细的步骤(http://source.android.com/source/submit-patches.html#upstream-projects),但是按照其一步一步来也会遇到很多麻烦,在这里把我成功提交patch的步骤记录下来,一方面希望别人不要再走弯路,一方面也给对英文抵触的同学一个参考。首先,简单介绍一下android官方的代码审核工具Gerrit,Gerrit 是基于git 的 项目管理工具和代码审核工具,网上关于git的介绍很多,推荐一本git 经典书籍《pro git》,因 阅读全文
posted @ 2012-07-16 16:10 hnrainll 阅读(4249) 评论(1) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 71 下一页