自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拥抱变化

优秀只是一种习惯,不要让任何事情成为你不去学习的理由oоΟ

  • 博客(50)
  • 资源 (24)
  • 收藏
  • 关注

原创 在开发过程中如何运用UML 整理

若转载请注明出处,谢谢,链接地址:http://write.blog.csdn.net/postedit/8542968下面是我根据项目开发过程中,项目进行的一种GRAPPLE思想总结。请注意系统分析员是怎么将项目拆分成若干模块的。(我下面也会将所有参与到的角色特别标注出来。)1、系统分析员分析项目需求,将项目拆分成若干模块,并对每个模块书写模块说明书。2、程序员按照模块说明书的描

2013-01-25 17:25:13 2903

转载 架构师的职责都有哪些?

架构师这个角色在任何软件开发项目中都是最有挑战性的。1. 架构师的领导与决策能力首先,架构师是一位技术领导,这意味着架构师除了拥有专门的技能外,还必须拥有领导能力,领导能力也要能体现在组织中的职位上。从职位上来讲,架构师是项目中的技术领导,应该拥有进行技术决策的权威。不过,很多时候架构师和项目经理的职责很容易让人混淆,下面用电影行业的职位来打一个比方,帮助大家了解他们的不同:项

2013-01-25 11:07:17 934

转载 系统设计类面试题

1. 设计文件系统 2. 数据结构for spreadsheet 3. 一个app需要用cache,怎么实现thread safe 4. social network, billions id, every id has about 100 friends roughly, what ismax connections between any t

2013-01-25 11:06:13 4135 1

转载 可遇见框架技术之面试问题

本人虽然出来咋道不久,不过也可以写写自己的心得,在这里只谈软件有关的,因为软件工作室技术工作,不管是面试形式上,还是其他的都是有区别的,面试切忌:如果是刚毕业的,切忌大而全,谈吐自然。应届生,在面试官的眼中是觉得没什么技术的,但是并不是所有面试官都这么认为的,因为公司招人还是要招有点技术的,有点工作经验的,所以应届生有个比较麻烦的砍,就是工作经验,但是针对这一问题不是没的解决的办法,所以很多毕

2013-01-25 11:02:29 1278

转载 什么是非侵入式设计?

一个客户端的代码可能包含框架功能和客户端自己的功能。 侵入式设计,就是设计者将框架功能“推”给客户端,而非侵入式设计,则是设计者将客户端的功能“拿”到框架中用。 侵入式设计有时候表现为客户端需要继承框架中的类,而非侵入式设计则表现为客户端实现框架提供的接口。 侵入式设计带来的最大缺陷是,当你决定重构你的代码时,发现之前写过的代码只能扔掉。而非侵入式设计则不然,之前写过的代码

2013-01-25 11:00:54 2643

转载 软件系统的架构(ArchitECture)有两个要素是什么?

答:1) 它是一个软件系统从整体到部分的最高层次的划分。一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(TASk-flow)。所谓架构元素,也就是组成系统的核心”砖瓦”,而联结器则描述这些元件之间通讯的路径、通讯的

2013-01-25 10:59:06 1962

原创 什么是构架设计图 ?有哪些组成?

构架视图的图形描述称为构架设计图。对于以上描述的各种视图,设计图由以下统一建模语言图组成 [UML99]:逻辑视图:类图、状态机和对象图。进程视图:类图与对象图(包括任务 – 进程与线程)。实施视图:构件图。部署视图:部署图(在开过程的早期,要识别协作系统,即开发组要找出新建的系统要依赖哪些老系统,哪些老系统要依赖新建的系统。这个动作备受系统工程师关注,因为他要为准备新建的系统

2013-01-25 10:57:08 1405

转载 介绍一下海量数据的处理方法

1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点:对 于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这 个过程并不保证查找的结果是100%正确的。同时也不支持删除一个已经插入的关键字,因为该关键字对应的位会牵动到其他的关键字。所

2013-01-25 10:53:07 674

转载 软件架构师需要掌握哪些知识?

架构师首先必须具有丰富的开发经验,是个技术主管。因为他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本上很难领会到,就算当时理解了也不一定能融

2013-01-25 10:50:12 2066

转载 如何进行软件系统架构设计?

基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程,现逐一简要概述如下。1、体系架构需求。即将用户对软件系统功能、性能、界面、设计约束等方面的期望(即“需求”)进行获取、分析、加工,并将每一个需求项目抽象定义为构件(类的集合)。2、体系架构设计。即采用迭代的方法首先选择一个合适的软件体系架构风格(如C/S、B/S、N层、管道过滤器风格、

2013-01-25 10:49:00 2330

转载 架构的目标是什么

要达到如下的目标:•可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。•安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。ccbdb62ec9©应届生求职网YingJieSheng.COM©1cf9f0fcd1•可扩展性(SCAlable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理

2013-01-25 10:48:25 1330

转载 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别

工厂模式,也叫做说虚构造器,在简单工厂中间插入了一个具体产品工厂,这个工厂知道产品构造时候的具体细节,而简单工厂模式的产品具体构造细节是在一个个if/else分支,或者在switch/case分支里面的。工厂模式的好处就在于将工厂和产品之间的耦合降低,将具体产品的构造过程放在了具体工厂类里面。在以后扩展产品的时候方便很多,只需要添加一个工厂类,一个产品类,就能方便的添加产品,而不需要修改原有的代码

2013-01-25 10:47:35 900 1

转载 系统分析员到底做什么?

时下,系统架构师成了时髦的词语?每个菜鸟门都在幻想有一天能坐上这个位置。为什么需要架构师我就不多说了,大家都知道要开发一个正规软件,必须要有一个稳固的框架,就像盖楼房必须要有坚固的地基与框架,否则就容易成为豆腐渣工程。软件行业,也经常出现豆腐渣工程,临时几个程序员一折腾,你写一个模块我写一个模块,然后,咱们几个模块连在一起就是一个系统,交给客户拿钱了事。这等于打一枪换一个地方的做法,对于游击队可以

2013-01-25 10:36:05 1374

转载 系统分析员、系统架构师、项目经理的区别

上周从开发部转来一个刚毕业的小伙子,要我面试一下看看是否适合质量部的相关工作。交谈中,小伙子说大学里已经考过了系统分析员,于是我便问他:“系统分析员主要做什么?” 小伙子想了一会说道:“系统分析员主要就是组织、管理和规划系统”。于是我接着问道:“如果负责组织、管理、规划的话,那和项目经理的区别是什么?”小伙子想了半天,终于摇着头说:“不知道。”问这个问题倒不是为了为难小伙子,主要是希望他能够明白,

2013-01-25 10:34:13 1166

转载 究竟什么是GitHub

GitHub Control 即 版本库控制 GitHub发布了Windows版图形Git客户端GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助 Linux 开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Linux。现在,GitHub 发布了GitHub for

2013-01-17 18:25:41 936

转载 使用git管理github项目

中文教程http://progit.org/book/zh/ Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deploye

2013-01-17 18:21:20 2350

转载 Git/Github使用方法小记

今天把人间网的桌面客户端renjian-deck正式开源了,之前对javascript的了解其实非常的不够的,所以这一次的代码写的也是乱七八糟重用性及其低下,虽然我无数次的想把代码重新整理一下,不过还是糊里糊涂一时冲动的在他们还是乱七八糟的时候开源了。因为之前是基于github上的一个开源项目,所以硬着头皮也放到github上,虽然没有使用的经验,不过磨机磨机还是搞定了。以下是具体步骤,就当是

2013-01-17 18:20:18 610

转载 Git与Github的使用(ubuntu)

Git的简介Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样,”Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。”Git的安装与配置安装Gitubuntu 10.04源里有Git,直接用yum,apt-get安装即可。安装

2013-01-17 18:19:32 1477

转载 git/github 使用

1. git 版本控制系统相比CVS\SVN优势:- 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块ps:关于git的更详细的介绍于优点在此就不介绍了,教大家怎么用是关键。:)==============运行环境========系统:windowsgit : Git-1.7.3.1-preview20101002.rar

2013-01-17 18:18:42 590

转载 Git和Github初次使用

1. GIT相比CVS/SVN,Git 的优势:- 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块中文版Git使用指南 点击这里。2. GitHubGitHub是一个托管Git (开源或闭源)项目的网站,闭源收费,最低7$/月起,免费的300G空间。价格表如下: 使用GitHub步骤:1、申请GitHub帐户 xx

2013-01-17 18:16:27 2193 1

转载 一个成功的Git分支模型

能力所限,本文的翻译多处都很不地道,如果哪些地方难于理解,还烦请查看原文。—— Dbzhang800 20110921在本文中,我向大家介绍的是在大约一年前我为自己的项目(包括工作和私人项目)引入的且已被证实非常成功的一个开发模型(development model)。这段时间我一直想写点关于它的东西,但在此之前,我却从未能抽出充足的时间来完成这件事。我不会谈论项目的任何细节,只涉及分

2013-01-17 18:15:25 428

转载 git使用总结

Git 介绍最近的小项目想使用git来管理,应为git可以不需要服务器而在任意的Linux机器上管理代码,相对svn和cvs还是有它的优势的,所以我选用了git来管理我的小项目,以后在提供svn的管理。 在使用了一段时间后想写一点总结,可能也是和网络上其其它的git的文章差不多。但是作为我的使用总结还是很有必要的。git安lixnus的解释是--The stupid content tra

2013-01-17 18:13:19 431

转载 git使用说明

GitHub,git,SVN和tortoisesvn介绍git和svn,既是版本管理系统,也可以看作客户端的名称。github是托管平台,可以在上面建立你的git仓库。tortoisesvn是svn的客户端。 Linus为Linux Kernel Project发起的版本控制项目。 HEAD代表当前最新状态。 tag为某个状态的标签。 SHA1为每个提交日志的唯一标识。   i

2013-01-17 18:12:07 446

转载 游戏引擎 简介

游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分游戏引擎都支持多种操作平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音

2013-01-16 17:24:37 1831

转载 3DGS游戏引擎介绍和脚本教程

注:此教程系列在3DGS的中文官网www.xuduo.cn上已有翻译,不过进度较慢,因此我自己把它翻译出来了,估计比中文网上的要快一些吧^_^这里讲的是C-Script,而www.xuduo.cn上的是Lite-C,不过仅仅是名字和少许的教程细节不大一样(我手上拿到的英文教程叫C-Script,是6.22版的)。如果哪位大虾来到小站,请见谅本人蹩脚的翻译……此系列文章保证本人原创翻译,图片较多

2013-01-16 16:33:56 1192

转载 HGE教程翻译(7)

Tutorial 08 – 天气  这篇教程示范特效和灯光模拟。天空的渐变我们用精灵渲染天空而不用纹理。 hgeSprite *sky; sky=new hgeSprite(0, 0, 0, SCREEN_WIDTH, SKY_HEIGHT); 它的上下顶点上不同的颜色,平滑过渡。 hgeColor colSkyTop;hgeColor co

2013-01-16 16:17:20 897

转载 HGE教程翻译(6)

Tutorial 06 – 创建菜单 这个教程显示如何创建通用的GUI控制和菜单。创建通用控制首先我们定义控制类,从hgeGUIObject继承: class hgeGUIMenuItem : public hgeGUIObject{public:  hgeGUIMenuItem(int id, hgeFont *fnt, HEFFECT snd,

2013-01-16 16:15:54 747

转载 HGE教程翻译(5)

Tutorial 05 – 使用曲面变换 在这个教程中我们学习如何使用曲面变形,一种可以创建水面、透镜、纸张甚至实时的变化。我们使用静态的纹理,但你可以渲染你的整个游戏场景到一个纹理,通过扭曲网格来达到一些很酷的实时特效。首先包含头文件和变量的声明。 #include #include #include  HGE *hge = 0;HTEXTURE te

2013-01-16 16:14:43 700

转载 HGE教程翻译(4)

Tutorial 04 – 渲染纹理 首先我们声明渲染对象的句柄和配合使用的精灵。 hgeSprite*   tar; HTARGET      target; 在一些事件期间,如视频模式选择,渲染对象的纹理句柄可能改变。所以我们在获得新的渲染目标的纹理时写GfxRestoreFunc函数。 bool GfxRestoreFunc(){  if(

2013-01-16 16:13:43 880

转载 HGE教程翻译(3)

Tutorial 03 – 使用 helper classes 这次我们会学习使用HGE的一些帮助类。首先,包含所有需要的头文件并声明HGE全局指针,大多数帮助类都需要它。   #include  #include #include #include  HGE *hge=0;  现在声明HGE对象。 hgeSprite*

2013-01-16 16:12:41 775

转载 HGE教程翻译(2)

Tutorial 02 – 使用声音,输入和图象要渲染一些东西我们需要hgeQuad结构体。Quad是HGE的基本渲染元素。它包含4个顶点,顺时针0到3。同时我们需要声音效果的句柄。 hgeQuad quad; HEFFECT snd; 这里我们放些游戏需要的变量和常量。 float x=100.0f, y=100.0f;float dx=0.0f,

2013-01-16 16:11:09 780

转载 HGE教程翻译(1)

HGE 是一个硬件加速(Hardware accelerated)的 2D 游戏引擎(Game Engine),HGE 是一个富有特性的中间件,可以用于开发任何类型的 2D 游戏。它是一个完全免费的,并且开源的2D游戏引擎,底层采用Direct3D;HGE 封装性良好,以至于你仅仅需要关系游戏逻辑(Game Logic),而不需要在意 DirectX,Windows 消息循环等。H

2013-01-16 16:09:14 1122

转载 自己做Cpp Binding

英文原文在:http://lua-users.org/wiki/DoItYourselfCppBinding当制作自己的游戏引擎时,特别是结合lua,我考虑过很多绑定库,如SWIG, tolua,SimplerCppBinding,等等。没有一个非常适合我的需求:我想要更多精细控制对象在lua中的处理。 我不喜欢额外的间接指针。 我想尽可能的通过inline代码帮助编译器。

2013-01-16 16:03:55 748

转载 选择Linux还是WinCE

最近打算在开发中引入嵌入式操作系统,转向arm9平台。可控选择的定位在linux和wince两项中。对于选择确是痛苦,查了资料。说法不一,其实落到最后还得看自己的实际情况。看下面的 一篇文章:让我们逐条分析评价Linux和WinCE/Windows的优缺点。   1.支持多种硬件平台   由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支

2013-01-16 14:14:10 3600

转载 嵌入式操作系统

嵌入式系统(Embedded System),一般指非桌面计算机系统(即非PC、服务器、大中小型机等),有计算机功能且可以“嵌入”到专用设备并发挥专用功能的计算机设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,这种计算机通过和设备的电气连接,并通过在计算机上运行的专用程序对接口进行通讯和控制,使设备成为智能化的设

2013-01-16 13:56:19 1407

转载 Python与 Lua的对比

lua最著名的应用要数魔兽争霸了,但是具体怎那么用的却不知道,实在惭愧。相对于其他语言,它最大的特点可能就是嵌入式了。其次offical的网站说是所有脚本语言里最快的,但是这也是以简单为代价的,语言简单了自然就快了,但是要实现某些功能就要写更多的代码了。再就是诸如可移植之类的就没什么好说的了,大多数脚本语言都能跨平台。似乎lua不是linux标配,但是安装比较简单,make一下就行了。所有脚本

2013-01-16 10:52:41 27945 2

转载 SCSI_PASS_THROUGH结构的说明

typedef struct _SCSI_PASS_THROUGH {   USHORT Length;    UCHAR ScsiStatus;    UCHAR PathId;    UCHAR TargetId;    UCHAR Lun;    UCHAR CdbLength;    UCHAR SenseInfoLength;    UCHAR Dat

2013-01-09 14:09:52 8589 1

转载 DeviceIoControl实战二 获取软盘/硬盘/光盘的参数

实战DeviceIoControl 之二:获取软盘/硬盘/光盘的参数Q 在MSDN的那个demo中,将设备名换成“A:”取A盘参数,先用资源管理器读一下盘,再运行这个程序可以成功,但换一张盘后就失败;换成“CDROM0”取CDROM参数,无论如何都不行。这个问题如何解决呢?A 取软盘参数是从软盘上读取格式化后的信息,也就是必须执行读操作,这一点与硬盘不同。将CreateFile中的访问方式

2013-01-09 14:06:36 988

转载 DeviceIoControl实战一

问题1:在NT/2000/XP中,我想用VC编写应用程序访问硬件设备,如获取磁盘参数、读写绝对扇区数据、测试光驱实际速度等,该从哪里入手呢?解答:在NT/2000/XP中,应用程序可以通过API函数DeviceIoControl来实现对设备的访问—获取信息,发送命令,交换数据等。利用该接口函数向指定的设备驱动发送正确的控制码及数据,然后分析它的响应,就可以达到我们的目的。DeviceIoC

2013-01-09 14:04:49 870

转载 串行通讯的根本原理及用MFC实现串口通讯编程

在Windows运用程序的开发中,我们常常须要面临与外围数据源设备通讯的问题。打算机和单片机(如MCS-51)都具有串行通讯口,可以设计相应的串口通讯程序,完成二者之间的数据通讯义务。  实际工作中运用串口完成通讯义务的时候非常之多。已有一些文章介绍串口编程的文章在打算机杂志上发表。但总的感觉说来不太全面,特别是介绍32位下编程的更少,且很不详细。笔者在实际工作中积累了较多经验,联合硬件、

2013-01-09 13:59:34 1493

Linux内核代码的注释_linux_kernel_comment

Linux内核代码的注释_linux_kernel_comment

2015-06-24

FileZilla配置手册

//配置步骤 //.. 注意:以上的配置是针对一台生产服务器做的备份,如果你有多台服务器需要进行备份,则需要在备份服务器上创建多个用户如user1,user2来用以数据备份,同样的,user2的主目录应该为F:\ftp2目录。 验证备份服务器的方法: 打开IE,在地址栏中输入ftp://备份服务器IP地址:21 然后登陆,输入user以及密码查看是否可以登陆,并在登陆后创建和删除目录的方法来检查权限是否创建正确。

2014-04-09

配置库项目目录结构管理以及相关文档编写模板

一个软件生命周期内,会产生的那些软件文档,你是否都不知道该怎么编写,或者编写的开发人员,测试人员看了都还不理解具体的需求? 本资源可以帮你解决这些问题,让你知道该怎么编写相关软件文档。

2013-11-06

Linux的makefile语法规则

详细易懂的Linux makefile教程 一、概述 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。 现在讲述如何写makefile的文章比较少,这是我想写这篇文章的原因。当然,不同产商的make各不相同,也有不同的语法,但其本质都是在“文件依赖性”上做文章,这里,我仅对GNU的make进行讲述,我的环境是RedHat Linux 8.0,make的版本是3.80。必竟,这个make是应用最为广泛的,也是用得最多的。而且其还是最遵循于IEEE 1003.2-1992 标准的(POSIX.2)。 在这篇文档中,将以C/C++的源码作为我们基础,所以必然涉及一些关于C/C++的编译的知识,相关于这方面的内容,还请各位查看相关的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。 二、关于程序的编译和链接 —————————— 在此,我想多说关于程序编译的一些规范和方法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。 ...

2013-09-27

uilib界面库(升级版)-R6

著名界面库duilib的升级版uilib,加入了之前没有的常用控件,比如树.时间等控件,大大加快了界面开发速度.金山卫士.qq等最初都采用自该directui界面库

2013-09-25

一点duilib界面库编程经验

1.duilib简介 duilib是一个开源的DirectUI界面库,简洁但是功能强大。而且还是BSD的license,所以即便是在商业上,大家也可以安心使用。 现在大家可以从这个网站获取到他们所有的源码:/p/duilib/ 为了让我们能更简单的了解其机制,我们按照如下顺序一步一步的来对他进行观察: 工具库:用于支撑整个项目的基础 控件库:这是dui最关键的部分之一,相信也是大家最关注的部分之一,另外这里也来看看它是如何管理这些控件的 消息流转:有了控件库,我们需要将Windows窗口的原生消息流转给这些控件,另外在这里也来看看Focus,Capture等等的实现 资源组织和皮肤加载:有了上面所有的这些,我们再来看看它是如何自动创建皮肤的 简单使用:最后,来看看到底要如何使用它 以下是duilib工程带的一副总体设计图,在看代码之前看看这幅图,对看代码会很有帮助。 duilib: 2.工具库 由于duilib没有对外部的任何库进行依赖,所以在其内部实现了很多用于支撑项目的基础类,这些类分布在Util文件夹中: UI相关:CPoint/CSize/CDuiRect 简单容器:CStdPtrArray/CStdValArray/CStdString/CStdStringPtrMap 上面这些类看名字就基本能够理解其具体的含义了,当然除了基本的基础库,还有一些和窗口使用相关的工具的封装: 窗口工具:WindowImplBase,这个工具我们在这里不详述,后面会再次提到。 3.控件库 控件库在duilib的实现中被分为了两块:Core和Control: Core中包含的是所有控件公用的部分,里面主要是一些基类和绘制的封装。 Control中包含的就是各个不同的控件的行为了。 Core部分和控件相关的类图非常简单: duilib-core: 3.1.控件基类:CControlUI CControlUI在整个控件体系中非常重要,它是所有控件的基类,也是组成控件树的基本元素,控件树中所有的节点都是一个CControlUI。 他基本包括了所有控件公共的属性,如:位置,大小,颜色,是否有焦点,是否被启用,等等等等。当然这个类中还提供了非常多的基础函数,用于重载来实现子控件,如获取控件名称和ClassName,是否显示,等等等等。 另外为了方便从XML中直接解析出控件的各个属性,这个类中还在提供了一个SetAttribute的方法,传入字符串的属性名称和值对特定的属性进行设置,内部其实就是挨个比较字符串去完成的,所以平时使用的时候就还是不要使用的...

2013-09-25

DuiLib界面库编程总结

国内首个开源的Directui界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 、Window CE、Mobile等平台。 著名界面库duilib的升级版uilib,加入了之前没有的常用控件,比如树.时间等控件,大大加快了界面开发速度.金山卫士.qq等最初都采用自该directui界面库。 Common ......\DLL_Debug_2008 ......\..............\UiLib_d.dll ......\..............\UiLib_d.exp ......\..............\UiLib_d.lib ......\..............\uilib_d.idb ......\..............\uilib_d.pdb ......\DLL_Debug_201X ......\..............\UiLib_d.dll ......\..............\UiLib_d.exp ......\..............\UiLib_d.ilk ......\..............\UiLib_d.lib ......\..............\UiLib_d.pdb ......\DLL_Release_2008 ......\................\UiLib.dll ......\................\UiLib.exp ......\................\UiLib.lib ......\DLL_Release_201X ......\................\UiLib.dll ......\................\UiLib.exp ......\................\UiLib.lib ......\................\UiLib.pdb ......\Include ......\.......\Control ......\.......\.......\UIActiveX.h ......\.......\.......\UIAnimation.h ......\.......\.......\UIButton.h ......\.......\.......\UICalendar.h ......\.......\.......\UICheckBox.h ......\.......\.......\UICombo.h ......\.......\.......\UIComboBox.h ......\.......\.......\UIEdit.h ......\.......\.......\UIFadeButton.h ......\.......\.......\UIGifAnim.h ......\.......\.......\UILabel.h ......\.......\.......\UIList.h ......\.......\.......\UIMenu.h ......\.......\.......\UIOption.h ......\.......\.......\UIProgress.h ......\.......\.......\UIRichEdit.h ......\.......\.......\UIScrollBar.h ......\.......\.......\UISlider.h ......\.......\.......\UIText.h ......\.......\.......\UITreeView.h ......\.......\.......\UIWebBrowser.h ......\.......\Core ......\.......\....\UIBase.h ......\.......\....\UIContainer.h ......\.......\....\UIControl.h ......\.......\....\UIDefine.h ......\.......\....\UIDlgBuilder.h ......\.......\....\UIDxAnimation.h ......\.......\....\UIManager.h ......\.......\....\UIMarkup.h ......\.......\....\UIRender.h ......\.......\Layout ......\.......\......\UIChildLayout.h ......\.......\......\UIFrameLayout.h ......\.......\......\UIHorizontalLayout.h ......\.......\......\UILinearLayout.h ......\.......\......\UITabLayout.h ......\.......\......\UITileLayout.h ......\.......\......\UIVerticalLayout.h ......\.......\StdAfx.h ......\.......\UIlib.h ......\.......\UiLib ......\.......\.....\Control ......\.......\.....\.......\Calendar.h ......\.......\.....\.......\GifAnimUI.h ......\.......\.....\.......\ListCommonDefine.h ......\.......\.....\.......\UIActiveX.h ......\.......\.....\.......\UIAnimation.h ......\.......\.....\.......\UIButton.h ......\.......\.....\.......\UICalendar.h ......\.......\.....\.......\UICheckBox.h ......\.......\.....\.......\UICombo.h ......\.......\.....\.......\UIComboBox.h ......\.......\.....\.......\UIDateTime.h ......\.......\.....\.......\UIEdit.h ......\.......\.....\.......\UIFadeButton.h ......\.......\.....\.......\UIGifAnim.h ......\.......\.....\.......\UILabel.h ......\.......\.....\.......\UIList.h ......\.......\.....\.......\UIMenu.h ......\.......\.....\.......\UIOption.h ......\.......\.....\.......\UIProgress.h ......\.......\.....\.......\UIRichEdit.h ......\.......\.....\.......\UIScrollBar.h ......\.......\.....\.......\UISlider.h ......\.......\.....\.......\UIText.h ......\.......\.....\.......\UITreeView.h ......\.......\.....\.......\UIWebBrowser.h ......\.......\.....\Core ......\.......\.....\....\UIBase.h ......\.......\.....\....\UIContainer.h ......\.......\.....\....\UIControl.h ......\.......\.....\....\UIDefine.h ......\.......\.....\....\UIDlgBuilder.h ......\.......\.....\....\UIDxAnimation.h ......\.......\.....\....\UIManager.h

2013-09-25

office2010卸载专家

好多人出现的Office 2010不能彻底卸载的问题,该卸载专家工具可以帮你卸载

2013-07-28

Windows核心编程完整中文清晰版+SourceCode

内容简介   这是一本经典的windows核心编程指南,从第1版到第5版,引领着数十万程序员走入windows开发阵营,培养了大批精英。   作为windows开发人员的必备参考,本书是为打算理解windows的c和c++程序员精心设计的。第5版全面覆盖windows xp,windows vista和windows server 2008中的170个新增函数和windows特性。书中还讲解了windows系统如何使用这些特性,我们开发的应用程序又如何充分使用这些特性,如何自行创建新的特性。 作译者 作者: Jeffrey Richter Jeffrey Richter是一位在全球享有盛誉的技术作家,尤其在Windows/.NET领域有着杰出的贡献。他的第一本Windows著作Windows 3: A Developer's Guide大获好评,从而声名远扬。之后,他又推出了经典著作《Windows 高级编程指南》和《Windows核心编程》。如今这两本书早已成为Windows程序设计领域的颠峰之作,培育了几代软件开发设计人员。他的每一本新作问世,我们都有理由相信这是一本巨著,我们想要的一切尽在其中。Jeffery 是Wintellect公司的创始人之一,也是MSDN杂志.NET专栏的特邀编辑。现在他正领导开发该公司的.NET程序设计课程,向大众推广.NET技术。因为他自1999年开始就参与了微软.NET框架开发组的咨询工作,与这些一线人员一起经历了.NET的孕育与诞生,所以他对.NET思想的领悟、对.NET的细节熟稔,是其他任何作家难以企及的。他是.NET著作领域中当之无愧的一面旗帜。 作者: Christophe Nasarre Christophe Nasarre是Business Objects的软件架构师和开发部门领导,该公司致力于帮助其他企业更好地专注于其主营业务,通过商业智能方案来提升决策能力和业绩。他为Addison-Wesley,APress和Microsoft Press出版的许多图书担任过技术审校,此外还是MSDN Magazine的撰稿人。 译者: 周靖 周靖 资深译者,在计算机行业“浸染”近二十年,涉猎广泛,具有深厚的技术功底和良好的文学素养。早期痴迷于硬件,曾多次被《微型计算机》杂志聘为特约作者。继而潜心钻研程序设计,并在这方面积累了丰富的经验。此后专职从事翻译。其翻译风格严谨、准确、朴实、流畅,深受读者欢迎。代表译著有《Windows Server 2003技术内幕》、《PC性能优化与升级技术》和《Unix技术内幕》等。.. 目录 第ⅰ部分 必备知识  第1章 错误处理   1.1 定义自己的错误代码   1.2 errorshow示例程序  第2章 字符和字符串处理   2.1 字符编码   2.2 ansi字符和unicode字符与字符串数据类型   2.3 windows中的unicode函数和ansi函数   2.4 c运行库中的unicode函数和ansi函数   2.5 c运行库中的安全字符串函数    2.5.1 初识新的安全字符串函数    2.5.2 在处理字符串时如何获得更多控制    2.5.3 windows字符串函数   2.6 为何要用unicode   2.7 推荐的字符和字符串处理方式   2.8 unicode与ansi字符串转换    2.8.1 导出ansi和unicode dll函数    2.8.2 判断文本是ansi还是unicode  第3章 内核对象   3.1 何为内核对象 .   3.1.1 使用计数    3.1.2 内核对象的安全性   3.2 进程内核对象句柄表    3.2.1 创建一个内核对象    3.2.2 关闭内核对象   3.3 跨进程边界共享内核对象    3.3.1 使用对象句柄继承    3.3.2 改变句柄的标志    3.3.3 为对象命名    3.3.4 终端服务命名空间    3.3.5 专有命名空间    3.3.5 复制对象句柄 第ⅱ部分 工作机制  第4章 进程   4.1 编写第一个windows应用程序    4.1.1 进程实例句柄    4.1.2 进程前一个实例的句柄    4.1.3 进程的命令行    4.1.4 进程的环境变量    4.1.5 进程的关联性    4.1.6 进程的错误模式    4.1.7 进程当前所在的驱动器和目录    4.1.8 进程的当前目录    4.1.9 系统版本   4.2 createprocess函数    4.2.1 pszapplicationname和pszcommandline参数    4.2.2 psaprocess,psathread和binherithandles参数    4.2.3 fdwcreate参数    4.2.4 pvenvironment参数    4.2.5 pszcurdir参数    4.2.6 psistartinfo参数    4.2.7 ppiprocinfo参数   4.3 终止进程    4.3.1 主线程的入口点函数返回    4.3.2 exitprocess函数    4.3.3 terminateprocess函数    4.3.4 当进程中的所有线程终止时    4.3.5 当进程终止运行时   4.4 子进程   4.5 管理员以标准用户权限运行时    4.5.1 自动提升进程的权限    4.5.2 手动提升进程的权限    4.5.3 何为当前权限上下文    4.5.4 枚举系统中正在运行的进程    4.5.5 process information示例程序 ...

2013-05-13

PCB板设计与技巧

1.PCB简介 2.PCB设计 3.PCB技巧

2013-03-06

SVN使用手册,有图有说明

1. 修改SVN访问密码 2. SVN客户端使用说明 2.1. 安装SVN客户端 2.2. 迁出配置库内容 2.3. 维护工作文件 2.3.1. 增加文件 2.3.2. 更新文件 2.3.3. 删除文件 2.3.4. 修改文件 2.3.5. 比较版本差异 2.3.6. 撤销更改 2.3.7. 锁定和解锁 2.3.8. 重命名文件 2.3.9. 获取历史文件 2.3.10. 检查冲突 2.3.11. 解决冲突 2.3.12. 忽略无需版本控制的文件 2.3.13. 去除SVN标志 2.3.14. 查看文件每行的修改信息 2.3.15. 重置访问路径 2.3.16. 本地路径转换 2.4. 浏览版本库 2.5. 建立标签 2.6. 建立分支 2.7. 清除用户名等信息 2.8. 统计信息 3. MYECLIPSE集成SVN 3.1. 安装SVN插件 3.2. 配置MYECLIPSE提交目录

2013-03-01

VisualSVN_TortoiseSVN_AnkhSvn_软件配置管理说明

简介 第1章 VS项目软件配置工具介绍 1 .1 SVN和VISUALSVN介绍 1.2 必备软件 第2章 VISUALSVN SERVER 2.1 VISUALSVN SERVER 2.2 VISUALSVN SERVER安装过程 2.3 VISUALSVN SERVER 配置与使用方法 2.3.1添加代码库StartKit 2.3.2 代码库安全性设置 用户和用户组 第3章 TORTOISESVN 3.1 TORTOISESVN介绍 3.2 TORTOISESVN安装过程 3.3 TORTOISESVN配置和使用方法 3.3.1签入源代码到SVN服务器 3.3.2签出源代码到本机 3.3.3 提交修改过的文件到SVN服务器 3.3.4添加新文件到SVN服务器 3.3.5更新本机代码与SVN服务器上最新的版本一致 3.3.6重命名文件或文件夹,并将修改提交到SVN服务器 3.3.7删除文件或文件夹,并将修改提交到SVN服务器 第四章 ANKHSVN 4.1 ANKHSVN介绍 4.2 ANKHSVN安装 4.2 ANKHSVN连接VISUALSVN SERVER 下载源项目 4.3 ANKHSVN开发项目时其它的操作流程

2013-02-01

VC6.0工程设置文档介绍

VC6.0工程设置介绍 打开或新建一个包 含至少一个工程的Workspace后,VC6的Project菜单中的“Settings…”命令就变为有效,选择它或者按下热键Alt+F7后,便可调出工程设置对话框,这里面的选项将影响整个工程的建立和调试过程,因此很重要,虽然在一般情况下,其中的大多数选项都不用改变,但了解一下它们的含义能够消除我们心中存在的神秘感,并加深我们对VC工程的理解。 在这个对话框 中,左上方的下拉列表框用于选择一种工程配置,包括有Win32 Debug、Win32 Release和All Configurations(指前两种配置一起),某些选项在不同的工程配置中有不同的缺省值。左边的树形视图给出了当前工程所有的文件及分类情况。如果我们把工程“Schedule”置为高亮显示(正如图9-1那样),对话框的右边就会出现总共十个选项卡,其中列出了与工程有关的各种选项,不少选项卡中有一个Reset按钮,按下它后可以把选项卡内的各项设置恢复到生成工程时的初始值。如果我们在树形视图中选择一个文件类或一个文件,那么对话框右边的选项卡会自动减少到一个或两个,其中列出的都是与选中的文件类或文件有关的选项。下面我们就以Win32 Debug为例来看看与工程有关的十个选项卡各自的功能与含义,与文件有关的选项卡则请大家自己琢磨一下。 General 这个选项卡比 较简单,从上向下的第一个选项用于更改使用MFC类库的方式,大家是否还记得我们曾在AppWizard的第五步指定以DLL的方式来使用MFC类库?但 现在我们可以在两种方式之间随意进行切换。第二个选项用于指定在编译连接过程中生成的中间文件和输出文件的存放目录,对于调试版本来说,缺省的目录是工程下面的“Debug”子目录。最下面的第三个选项用于指定是否允许每种工程配置都有自己的文件依赖关系(主要指头文件),由于绝大多数工程的调试版本和发布版本都具有相同的文件依赖关系,所以通常不需要更改该选项。。。

2012-12-11

C/C++的Lua快速入门

本文针对的读者是有经验的C/C++程序员,希望了解Lua或者迅速抓住Lua的关键 概念和模式进行开发的。因此本文并不打算教给读者条件语句的语法或者函数定 义的方式等等显而易见的东西,以及一些诸如变量、函数等编程语言的基本概 念。本文只打算告诉读者Lua那些与C/C++显著不同的东西以及它们实际上带来了 怎样不同于C/C++的思考方式。不要小看它们,它们即将颠覆你传统的C/C++的世 界观! 本文一共分初阶、进阶和高阶三大部分,每个部分又有若干章节。读者应当从 头至尾循序渐进的阅读,但是标有“*”号的章节(主要讨论OO在Lua中的实现方 式)可以略去而不影响对后面内容的理解。读者只要把前两部分完成就可以胜任Lua开发的绝大部分任务。高阶部分可作为选择。 本文不打算取代Lua参考手册,因此对一些重要的Lua函数也未做足够的说明。 在阅读的同时或者之后,读者应当在实践中多多参考Lua的正式文档(附录里列出 了一些常用的Lua参考资料)。

2012-11-12

Lua安装包和资源

-- defines a factorial function function fact (n) if n == 0 then return 1 else return n * fact(n-1) end end print("enter a number:") a = io.read("*number") -- read a number print(fact(a)) 这个例子定义了一个函数,计算输入参数n的阶乘;本例要求用户输入一个数字n,然后打印n的阶乘...

2012-11-09

存储过程和触发器作用与实例

在SQL Server 2005中,使用T-SQL语句编写存储过程。存储过程可以接受输入参数、返回表格或标量结果和消息,调用“数据定义语言(DDL)”和“数据操作语言(DML)”语句,然后返回输出参数。使用存储过程的优点如下: (1)存储过程在服务器端运行,执行速度快。 (2)存储过程执行一次后,就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。 (3)使用存储过程可以完成所有数据库操作,并可通过编程方式控制对数据库信息访问的权限,确保数据库的安全。 (4)自动完成需要预先执行的任务。存储过程可以在SQL Server启动时自动执行,而不必在系统启动后再进行手工操作,大大方便了用户的使用,可以自动完成一些需要预先执行的任务。。。

2012-10-29

JRTP库使用教程

一、RTP 是进行实时流媒体传输的标准协议和关键技术 二、JRTPLIB 库的使用方法及程序实现 三、环境搭建及编译方法 四、易出错误及注意问题 五、实例程序

2012-10-19

WINCE移植和裁剪

一、建立新的 BP 工程 二、为工程添加设备驱动 三、添加开发和应用程序支持 四、设置各 CPU 语言和编译设置 五、修改注册表(打开如图所示 platform.reg 文件进行编辑) 六、编译自己的 WinCE 七、打包制作SDK 八、安装 SDK,配置 SDK 目录 九、下载 winCE 到开发箱 十、安装同步软件,实现远程连接

2012-10-18

用UML描述C++设计模式,且附带实现代码

C++设计模式 一、功能    二、结构图 ...//结构图 三、实现 和其他很多模式一样,学习设计模式的重点是学习每种模式的思想,而不应拘泥于它的某种具体结构图和实现。因为模式是灵活的,其实现可以是千变万化的,只是所谓万变不离其宗。 四、示例代码 ...//对应的代码块 //其他设计模式

2012-10-10

如何在cmd中查看端口

查看端口 在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。 小知识:Netstat命令用法 命令格式:Netstat -a -e -n -o -s -a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。 -e 表示显示以太网发送和接收的字节数、数据包数等。 -n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。 -o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。 -s 表示按协议显示各种连接的统计信息,包括端口号。 关闭/开启端口 在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口...

2012-02-11

Everthing速度最快的文件搜索软件

当前最强最快最实用的文件搜索工具Everything。它几乎可以在瞬间从你的硬盘中找到你需要的文件!速度非常非常快!

2011-12-07

什么是OOA与OOD

ooa(object oriented analysis)面向对象分析 ood(object oriented design)面向对象设计 如所熟知,面向对象作为一种程序设计技术最早于60年代后期提出,用于Simula的应用程 序开发。到了70年代,面向对象成为Smalltalk语言的一个重要特征。当时,面向对象技术主要 用于程序设计。进入90年代,人们的注意力逐渐从程序设计转向系统分析和设计,用对象的观 点来认识现实世界、设计问题的可行解,随之也就出现了许多OOA和OOD方法。但这些方法 还不很成熟,在OOA与OOD的边界划分上也存在着争议。如:有人认为面向对象软件开发 过程可以分为面向对象分析、面向对象设计和面向对象程序设计三个阶段;有人认为分析和设 计可以交叉进行不必做严格区分;还有人沿用传统方法进行分析和设计,用面向对象程序设计 语言来实现系统。O OA/OOD的一些较有代表性的工作有Gray.Booch的OOAD方法,Coad&Yourdon的 OOA和OOD方法,Shlaer&Mellor的OOA方法,Rumbaugh的OOAD方法等。不同的方法 体系都分别体现了人们对OOA、OOD,以及面向对象软件开发过程的不同认识。本文的主要 目的就是,试图通过对现有OOA与OOD方法的共性进行纵观分析,弄清二者之间的边界问 题,评析从OOA到OOD过渡的难易,并讨论实现这种过渡所涉及的主要工作。 ooa:分析阶段所做的主要工作是理解问题和需求构模,将现实世界中的问题映射到问题域。在该 阶段,要明确用户提出了哪些功能要求,为完成这些要求,系统应有哪些构件,采用什么样的结构,并写出详细的需求规约。OOA中引入了许多面向对象的概念和原则,如,对象、属性、服务 、继承、封装等,并利用这些概念和原则来分析、认识和理解客观世界,将客观世界中的实体抽 象为问题域中的对象,即问题对象,分析客观世界中问题的结构,明确为完成系统功能,对象间 应具有的联系和相互作用。

2011-07-30

空间数据索引技术介绍和通用的索引技术类

空间数据索引技术介绍; 用于对象关系型数据库管理系统的通用的索引技术类属R树

2011-01-18

空空如也

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

TA关注的人

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