- 博客(35)
- 资源 (3)
- 收藏
- 关注
转载 需求分析之——用例图
用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。当用例视图在外部用户出现以前出现时,它捕获到系统、子
2016-01-29 14:47:07 6709
转载 使用 Antlr 开发领域语言
Antlr 是一个基于 Java 开发的功能强大的语言识别工具,Antlr 以其简介的语法和高速的运行效率在这类工具中出类拔萃。当你需要开发一种领域语言时,语言可能像 Excel 中的公式一样复杂,也可能像本文中的例子一样简单(只有算术运算),这时你可以考虑使用 Antlr 来处理你的语言。
2016-01-29 13:46:47 1925
转载 三维模型的网格细化
http://blog.csdn.net/chinamming/article/details/16874387三维模型的网格细化是基于网格离散曲面的一种表示方法,它可以从任意拓扑网格构造光滑曲面。细化方法的基本思想是:定义一个网格序列的极限,网格序列是采用一定的细分规则(一般是加权平均),在给定的初始网格中插入新的顶点,从而不断细化出新的网格,重复运用细分规则,在极限时,该网格即收敛
2016-01-27 16:40:45 3678 2
转载 网格剖分 Delaunay
http://blog.csdn.net/chinamming/article/details/16874371今天要介绍的这款软件TetGen就是一款网格剖分的软件,算是力学计算中的前处理,他能够将输入的三维模型剖分成一个个的单元,如下图: 最左边的是原三维模型,中间图为Delaunay算法生成的四面体网格,最右边的图为在tetview中查看剖
2016-01-27 14:21:04 7083 1
转载 图文并茂 简单 ATL COM开发
1.打开vs2010,新建ATL COM 项目,如下图1 2.勾选 【支持COM+ 1.0】和【支持部件注册器】 3 添加了一个com项目,在项目名称上点击右键,添加类,如下图 然后打开如下窗口,选择ATL简单对象即可。 然后是如下窗口,在简称一栏中输入类名称FirstClass,其他输入框会自动填写,然后点击完成即可。如果出现提示【
2016-01-21 16:02:31 1363
转载 COM组件 IDispatch 及双接口的调用
一、前言前段时间,由于工作比较忙,没有能及时地写作。其间收到了很多网友的来信询问和鼓励,在此一并表示感谢。咳......我也需要工作来养家糊口呀......上回书介绍了两种方法来写自动化(IDispatch)接口的组件程序,一是用 MFC 方式编写“纯粹”的IDispatch 接口;二是用 ATL 方式编写“双接口”的组件。二、IDispatch 接口和双接口使用者
2016-01-21 15:41:00 5151 1
转载 CPropertySheet和CPropertyPage
在设计较为复杂的对话框时,常常会遇到这种情况:对某一事物的设置或选项需要用到大量的控件,以至于一个对话框放不下,而这些控件描述的是类似的属性,不能分开。用普通的对话框技术,这一问题很难解决。 MFC提供了对标签式对话框的支持,可以很好的解决上述问题。标签式对话框实际上是一个包含了多个子对话框的对话框,这些子对话框通常被称为页(Page)。每次只有一个页是可见的,在对话框的顶端有一行标签
2016-01-21 13:59:53 1178
转载 SecondaryNameNode作用
前言最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系。很多人都认为,Secondary NameNode是NameNode的备份,是为了防止NameNode的单点失败的,直到读了这篇文章Secondary Namenode - What it really do? (需翻墙)才发现并不是这样。文章写的很通俗易懂,现将其翻译如下:
2016-01-20 17:27:08 1081
转载 hadoop secondarynamenode的作用
1、初学者会见名思义的认为secondarynamenode是namenode的备份其它的,或者认为它们是一样的。实质上,它是namenode的一个快照,会根据configuration中设置的值来决定多少时间周期性的去spap一下namenode,记录namenode中的metadata及其它数据。2、假使namenode损坏或丢失之后,无法启动hadoop这时就要人工去干预恢复到sec
2016-01-20 17:21:34 997
转载 COM 组件设计与应用(八)——实现多接口
本文摘自:http://www.vckbase.net/index.php/wv/1219一、前言 从第五回开始到第七回,咱们用 ATL 写了一个简单的 COM 组件,之所以说简单,是因为在组件中,只实现了一个自定义(custom)的接口 IFun。当然如果想偷懒的话,我们可以把 200 个函数都加到这一个接口中, 果真如此的话,恐怕就没有人喜欢
2016-01-10 22:55:28 1193
转载 COM 组件设计与应用(七)——编译、注册、调用
本文摘自:http://www.vckbase.net/index.php/wv/1218一、前言上两回中,咱们用 ATL 写了第一个 COM 组件程序,这回中,主要介绍编译、册和调用方法。示例程序你已经下载了吗?如果还没有下载,vc6.0 的用户点,vc.net 的用户点这里。二、关于编译2-1 最小依赖
2016-01-10 22:49:20 1366
转载 COM 组件设计与应用(五)——用 ATL 写第一个组件
本文摘自:http://www.vckbase.net/index.php/wv/1215 一、前言如果你在使用 vc5.0 及以前的版本,请你升级为 vc6.0 或 vc.net 2003;如果你在使用 vc6.0 (ATL 3.0)请阅读本回内容;如果你在使用 vc.net(ATL 7.0)请阅读下回内容;(当然读读本文内容也不错)这第一个组件,除了所
2016-01-10 22:41:38 1102
转载 COM 组件设计与应用(四)——简单调用组件
本文摘自:http://www.vckbase.net/index.php/wv/1211一、前言 同志们、朋友们、各位领导,大家好。 VCKBASE 不得了, 网友众多文章好。 组件设计怎么学? 知识库里闷头找! 摘自---杨老师打油集录
2016-01-10 22:37:57 975
转载 COM 组件设计与应用(三)——数据类型
本文摘自:http://www.vckbase.com/index.php/wv/1206一、前言上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热豆腐”,孙子云:“走一步看一步吧” ...... 先掌握必要的知识,将
2016-01-10 22:10:15 1873
转载 COM组件设计与应用(二)——GUID和接口
本文摘自:http://blog.vckbase.com/teacheryang/archive/2005/06/27/8884.html一、前言 书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后
2016-01-09 17:53:28 1967
转载 COM组件设计与应用(一)——起源及复合文件
本文摘自:http://blog.vckbase.com/teacheryang/archive/2005/06/27/8883.html一、前言 公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的
2016-01-09 17:10:44 1604
转载 算法洗脑系列(8篇)——第八篇 概率思想
今天写最后一篇来结束这个系列,我们知道很多算法解决问题的步骤都是固定的,而概率算法每一步的选择都是随机的,当在某些领域问题中通常比最优选择省时,所以就大大提高了算法的效率,降低了复杂度。 一:思想 这里主要讲一下“数值概率算法”,该算法常用于解决数值计算问题,并且往往只能求得问题的近似解,同一个问题同样的概率算法求解两次可能得到的结果大不一样,不过
2016-01-09 16:05:55 654
转载 算法洗脑系列(8篇)——第七篇 动态规划
今天跟大家分享下算法思想中比较难的一种"动态规划",动态规划给人像是作战时常用的“迂回战术”,或者说是游击战,在运动中寻找突破口。 一: 思想 首先要了解”动态规划“,必须先知道什么叫做”多阶段决策“,百科里面对这个问题解释的很全,我就load一段出来,大家得要好好品味,好好分析。 上面图中最后一句话就定义了动态规划是要干什么的问
2016-01-09 15:54:30 1233
转载 算法洗脑系列(8篇)——第六篇 回溯思想
记得广告中经常听到过,抱着试试看的态度买了3个疗程,效果不错........ 也经常听人说过什么车到山前必有路,船到桥头自然直。哈哈,这种思想就是回溯思想,也可称为试探思想。 一: 思想 有时我们要得到问题的解,先从其中某一种情况进行试探,在试探过程中,一旦发现原来的选择是错误的,那么就退回一步重新选择, 然后继续向前试探,反复这样的过程直
2016-01-09 15:12:03 601
转载 算法洗脑系列(8篇)——第五篇 分治思想
一: 思想 有时候我们处理一个复杂的问题,可能此问题求解步骤非常杂,也可能是数据非常多,导致我们当时很难求出或者无法求出,古语有云:步步为营,各个击破,这个思想在算法中称为分治思想,就是我们可以将该问题分解成若干个子问题,然后我们逐一解决子问题,最后将子问题的答案组合成整个问题的答案。 二: 条件 当然各个思想都有它的使用领域,所以玩
2016-01-09 14:35:30 628
转载 算法洗脑系列(8篇)——第四篇 枚举思想
今天分享一下枚举思想,这种思想也常是码畜,码奴常用的手段,经常遭到码农以上级别的鄙视,枚举思想可以说是在被逼无奈时最后的狂吼。 一: 思想 有时我们解决某个问题时找不到一点规律,此时我们很迷茫,很痛苦,很蛋疼,突然我们灵光一现,发现候选答案的问题规模在百万之内,此时我们就想到了从候选答案中逐一比较,一直找到正确解为止。 二: 条件
2016-01-09 14:15:47 657
转载 算法洗脑系列(8篇)——第三篇 贪心思想
说到“贪”字,很邪恶的一个词,记得和珅和大人拆解过这个字,为”今“和”贝“,而”贝“字分解成”上面的那个XX“和”人“,意思就是说今天你贪了,明天一座监狱就把你套起来,纵观古今,有多少豪杰与"贪“结下了不解之缘,呵呵,扯远了。 这个贪心的行为在算法中也成为了一种指导思想,也就是说贪心算法所作出的选择在当时的环境下是最好的,说深一点就是它只是某种意义上的局部最优
2016-01-09 13:50:40 653
转载 算法洗脑系列(8篇)——第二篇 递归思想
今天说说递归思想,在我们编码时,有的时候递归能够让我们的算法更加通俗易懂,并且代码量也是大大的减少。比如我先前的系列中说到了关于树的“先序,中序和后序”遍历,那么看看用递归来描叙这个问题是多少的简洁,多么的轻松。 1 #region 二叉树的先序遍历 2 /// 3 /// 二叉树的先序遍历 4 /// 5 /// 6 /// 7
2016-01-08 16:45:20 722
转载 算法洗脑系列(8篇)——第一篇 递推思想
像俺一样奋斗在一线的码农们,一谈到学编程,都是说要学会XX语言就OK了,其实我们理解的有一点点的偏差,因为我们只说到了三分之一,其实真正的编程应该是:编程=数据结构+算法+XX语言。 对的,XX语言只是一个工具而已,就好比我们知道用笔来写字,但是不见得我们就能写出一手让张恨水为之倾倒的好字,其实我也说过算法不仅仅用于程序设计中,在我们的生活中也处处存在着算法,比如记得
2016-01-08 16:24:26 954
转载 搭建Hadoop源代码阅读环境
本节将介绍如何创建一个Hadoop源代码工程以方便阅读源代码。总体上说,目前存在两种Hadoop源代码阅读环境搭建方法,分别是构建Maven工程和构建Java工程。两种方法各有利弊:前者可通过网络自动下载依赖的第三方库,但源代码会被分散到多个工程中进而带来阅读上的不便;后者可将所有源代码组织在一个工程中,但需要自己添加依赖的第三方库,大家可根据自己的喜好选择一种方法。本节将依次介绍这两种方法。
2016-01-08 14:05:42 4026
转载 机器学习&深度学习经典资料汇总
小编都深深的震惊了,到底是谁那么好整理了那么多干货性的书籍。小编对此人表示崇高的敬意,小编不是文章的生产者,只是文章的搬运工。《Brief History of Machine Learning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、Deep Learning.《Deep Learning in Neural
2016-01-08 13:30:32 2702
转载 IPicture、BITMAP、HBITMAP和CBitmap的关系
1、有关IPicture加载图片后直接Render到内存DC的问题(HBITMAP转换IPicture)Picture的方法get_Handle可以直接得到图片的句柄IPicture *pIPicture;HBITMAP hBitmap;...pIPicture->get_Handle((OLE_HANDLE *)&hBitmap);2、CBitmap 转换 HBI
2016-01-08 11:37:27 706
原创 CMFCToolBar 在运行时动态插入Button
我想根据配置文件,动态的插入工具条, CMFCToolBar* pToolBar_Edit=new CMFCToolBar(); pToolBar_Edit->CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBR
2016-01-06 17:27:20 3208
转载 redmine 一键安装
Redmine 是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持。虽说像IBM Rational Team Concert的商业项目调查工具已经很强大了,但想坚持一个自由和开放源码的解决方案,可能会发现Redmin
2016-01-05 16:23:00 1196
转载 MFC中动态添加菜单项和响应菜单事件
新建一个单文档程序在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU)在Resource.h中增加一个ID_NEWMENU宏#define ID_NEWMENU WM_USER+101 操作工具栏和状态栏使用GetDescendantWindow函数获取工具栏和状态栏的指针为ID_H
2016-01-05 15:49:50 3236
转载 VS菜单修改后不更新的问题
在动态删除了某菜单项之后编译运行,结果却发现与没有修改之前的没有任何区别造成这种现象的原因: 程序在运行之后将运行信息写进注册表,而程序在退出的时候没有清理掉这些信息,从而导致了在以后程序运行时依然调用前面注册表里边留下的信息去完成界面的初始化以及更新等工作。而我们应该需要的是让程序在运行的时候调用我们最新的配置或者修改信息,而不是以前的信息。解决方法: 找
2016-01-05 11:03:49 1918
转载 CMFCMenuBar动态删除菜单和创建新菜单
这里要提一下的是VS Feature Pack的应用程序其中的菜单栏操作主要由CMFCMenuBar来负责。因此下面的编码也主要针对该类来进行。 首先我们实现编码实现删除默认的所有系统菜单项,其代码如下:[cpp] view plaincopy// 删除默认的所有系统菜单项 static voi
2016-01-05 11:02:31 1042
转载 CMFCMenuBar动态删除菜单和创建新菜单
这里要提一下的是VS Feature Pack的应用程序其中的菜单栏操作主要由CMFCMenuBar来负责。因此下面的编码也主要针对该类来进行。 首先我们实现编码实现删除默认的所有系统菜单项,其代码如下:[cpp] view plaincopy// 删除默认的所有系统菜单项 static voi
2016-01-05 11:01:17 3346
转载 COM中GUID和UUID、CLSID、IID
(今日看到网络上关于"COM中GUID......"文章,写的好,故记录之.)当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全球唯一:第一种是采用和Internet地址一样的管理方式,成立一个管理机构,用户如果想开发一个COM组件的时候需要向该机构提出申请,并交一定的费用。第二种是发明一种算法,每次都能产生一个全球唯一的COM组件标识符。第一种
2016-01-05 10:57:32 1251
转载 CString与BSTR之间的转换
? CString------>BSTRCString sName = _T("Hello");BSTR bsName = sName.AllocSysString();SysFreeString(bsName);? CString------>CComBSTRCComBSTR cbsName(sName); //UNICODE:调用构造函数CComBSTR
2016-01-04 16:58:52 3650
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人