博文
Windows2003域服务器教程(2009-01-23 14:52:00)
摘要:把一台成员服务器提升为域控制器
目前很多公司的网络中的PC数量均超过10台:按照微软的说法,一般网络中的PC数目低于10台,则建议采对等网的工作模式,而如果超过10台,则建议采用域的管理模式,因为域可以提供一种集中式的管理,这相比于对等网的分散管理有非常多的好处,那么如何把一台成员服务器提升为域控?
首先,当然是在成员服务器上安装上Windows Server 2003,安装成功后进入系统,
我们要做的第一件事就是给这台成员服务器指定一个固定的IP,在这里指定情况如下:
机器名:Server
IP:192.168.5.1
子网掩码:255.255.255.0
DNS:192.168.5.1(因为我要把这台机器配置成DNS服务器)
由于Windows Server 2003在默认的安装过程中DNS是不被安装的,所以我们需要手动去添加,添加方法如下:“开始—设置—控制面板—添加删除程序”,然后再点击“添加/删除Windows组件”,则可以看到如下画面:
向下搬运右边的滚动条,找到“网络服务”,选中:
默认情况下所有的网络服务都会被添加,可以点击下面的“详细信息”进行自定义安装,由于在这里只需要DNS,所以把其它的全都去掉了,以后需要的时候再安装:
然后就是点“确定”,一直点“下一步”就可以完成整个DNS的安装。在整个安装过程中请保证Windows Server 2003安装光盘位于光驱中,否则会出现找不到文件的提示,那就需要手动定位了。
安装完DNS以后,就可以进行提升操作了,先点击“开始—运行”,输入“Dcpromo”,然后回车就可以看到“Active Directory安装向导”
在这里直接点击“下一步”:
这里是一个兼容性的要求,Windows 95及NT 4 SP3以前的版本无法登陆运行到Windows Server 2003的域控制器,我建议大家尽量采用Windows 2000及以上的操作系统来做为客户端。然后点击“下一步”:
在这里由于这是第一台域控制器,所以选择第一项:“新域的域控制器”,然后点“下一步”:
......
UML 基础:类图(2006-04-15 23:53:00)
摘要:2005 年 2 月 15 日
来自Rational Edge:在 UML 2 中,作为新结构图类型的最重要实例,类图可以在整个软件开发生命周期中,被分析师,业务建模人员,开发者和测试者使用的。本文提供了全面的介绍。
这是关于统一建模语言、即UML 里采用的基本图的一系列文章的一部分。在我 先前关于序列图的文章 里,我把重点从 UML 1.4 版,转移到 OMG的采用UML 2.0版草案规范(又称为UML 2)。在这篇文章中,我将会讨论结构图,这是已经在 UML 2 中提出的一种新图种类。由于本系列文章的目的是使人们了解记号元素及它们的含意,该文主要关注类图。你很快就会知道这样做的理由。随后的文章将会覆盖结构范畴中包含的其它图。
我也想提醒读者,这一系列文章是关于 UML 记号元素的,所以这些文章并不意味着为建模的最好方式提供指导方针,或是该如何决定哪些内容应该首先被建模。相反的,该文及本系列文章的目的主要是帮助大家对于记号元素 -- 语法和含义有一个基本的理解。借由这些知识,你应该可以阅读图,并使用正确的记号元素创建你自己的图。
这篇文章假定你对面向对象的设计已经有了基本的理解。你们当中如果有人需要一些面向对象概念的帮助,那么可以访问 http://java.sun.com/docs/books/tutorial/java/concepts/,来获得Sun公司关于面向对象编程的简短指导。阅读 “什么是类?”和 什么是继承?” 章节,将提供给你足够的理解,并对该文的阅读会有所帮助。另外,David Taylor的书《 Object-Oriented Technologies: A Manager's Guide》提供了面向对象设计的优秀,高水平的说明,而无需对计算机编程有高深的理解。
UML 2 中的阴和阳
在 UML 2 中有二种基本的图范畴:结构图和行为图。每个 UML 图都属于这二个图范畴。结构图的目的是显示建模系统的静态结构。它们包括类,组件和(或)对象图。另一方面,行为图显示系统中的对象的动态行为,包括如对象的方法,协作和活动之类的内容。行为图的实例是活动图,用例图和序列图。
回页首
大体上的结构图
如同我所说的,结构图显示建模系统的静......
全面认识UML类图元素(2006-04-15 23:15:00)
摘要:在UML建模中,对类图上出现元素的理解是至关重要的。开发者必须理解如何将类图上出现的元素转换到Java中。以java为代表结合网上的一些实例,下面是个人一些基本收集与总结:
基本元素符号:
1. 类(Classes)
类包含3个组成部分。第一个是Java中定义的类名。第二个是属性(attributes)。第三个是该类提供的方法。
属性和操作之前可附加一个可见性修饰符。加号(+)表示具有公共可见性。减号(-)表示私有可见性。#号表示受保护的可见性。省略这些修饰符表示具有package(包)级别的可见性。如果属性或操作具有下划线,表明它是静态的。在操作中,可同时列出它接受的参数,以及返回类型,如下图所示:
2. 包(Package)
包是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,你通常拥有逻辑性的包,它主要用于对你的模型进行组织。你还会拥有物理性的包,它直接转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。
3. 接口(Interface)
接口是一系列操作的集合,它指定了一个类所提供的服务。它直接对应于Java中的一个接口类型。接口既可用下面的那个图标来表示(上面一个圆圈符号,圆圈符号下面是接口名,中间是直线,直线下面是方法名),也可由附加了<<interface>>的一个标准类来表示。通常,根据接口在类图上的样子,就能知道与其他类的关系。
关 系:
1. 依赖(Dependency)
实体之间一个“使用”关系暗示一个实体的规范发生变化后,可能影响依赖于它的其他实例。更具体地说,它可转换为对不在实例作用域内的一个类或对象的任何类型的引用。其中包括一个局部变量,对通过方法调用而获得的一个对象的引用(如下例所示),或者对一个类的静态方法的引用(同时不存在那个类的一个实例)。也可利用“依赖”来表示包和包之间的关系。由于包中含有类,所以你可根据那些包中的各个类之间的关系,表示出包和包的关系。
2. 关联(Association)
实体之间的一个结构化关系表明对象是相互连接的。箭头是可选的,它用于指定导航能力。如果没有箭头,暗......
程序员的十种级别(2006-01-26 20:47:00)
摘要:第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。如丁磊,求伯君。
第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。
第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品。
第四级:工头,技术精湛,有领导团队的能力,此类人大公司项目经理居多。
第五级:技术工人,技术精湛,熟悉行业知识但领导能力欠佳,此类人大多为系统分析员或资深程序员,基本上桀骜不逊,自视清高,不愿与一般技术人员为伍,在论坛上基本以高手面目出现。
第六级:熟练工人,技术有广度无深度,喜欢钻研但浅尝辄止。此类人大多为老程序员,其中一部分喜欢利用工具去查找网上有漏洞的服务器,干点坏事以获取成就感。如果心情好,在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。
第七级:工人,某些技术较熟练但缺乏深度和广度,此类人大多为程序员级别,经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。
第八级:菜鸟,入门时间不长,在论坛上会反复提问很初级的问题,有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研,一两年后就能升级到上一层。
第九级:大忽悠,利用中国教育的弊病,顶着一顶高学历的帽子,在小公司里混个软件部经理,设计不行,代码不行,只会胡乱支配下属,拍领导马屁,在领导面前胡吹海侃,把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门,实在龌龊!
第十级:驴或傻X,会写SELECT语句就说自己精通Oracle,连寄存器有几种都不知道就说自己懂汇编,建议全部送到日本当IT产业工人,挣了日本人的钱还严重打击日本的软件业!......
学编程的人不能不看的好文章?(2006-01-23 23:50:00)
摘要:看了下面的这篇文章,深有感触,枣子碰到的问题也是我们大多数程序员的通病,也许我们大多数人都只是在做一些比较小型的软件,对软件运行的效率不在乎,就算对速度和效率在乎的也可能是一些在数据库操作方面的。大家看完了,也许会有很多感想,但这只是我同意枣子的个人观点。
(枣子原创--www.vcroad.net wutao8@263.net)
做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想到我们现在
学习编程的一些情况我真的深有感触,这次面试使我深深的体会到了失败但也收获了很多。我要说的将分成三部分,1.是
我面试的具体经过2.是由面试想到的3.现今我应该做的。当然这些话很大程度上是我个人的意见,不可能完全得到大家的赞同,所以
在某些观点上如果哪位朋友觉得跟我的有很大出入,请不要介意,也不要对我攻击,就当我没有说过,欢迎和我联系共同探讨这些问题!我的EMAIL:wutao8@263.net
1.面试经过
大约在年前我接到了台湾瑞晟(Realtek)苏州公司的面试通知,通知我2月21日到苏州工业园区面试,接到面试后的几天我把一些专业
课温习了一遍,特别是C++和数据结构,由于大学几年里,我一直专研这些方面,加上通过了高级程序员的考试,对于一些常用的算法
我差不多也达到了烂熟于胸的地步,当时的感觉是如果问了我这些方面的问题我应该是没有问题的!
21日那天我被安排在4:30面试,由一位技术人员单独给我面试,在问了一些简单的问题之后他给我出了一道编程题目,题目是这样的:
(由于具体面试的题目比较烦琐,我将其核心思想提取出来分解成了两个独立的简单的问题,有可能问题分解的不当,请大家见谅,实际面试了一个的问题但比其复杂很多,而且涉及一些高等数学变换)
1) 写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7......+n
哼,我的心里冷笑......
你还在用if else吗 (2006-01-21 23:56:00)
摘要:面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断。如果你还在大量使用if else,当然,界面表现层除外,即使你使用Java/C#这样完全面向对象的语言,也只能说明你的思维停留在传统的面向过程语言上。
传统思维习惯分析
为什么会业务逻辑层使用if else,其实使用者的目的也是为了重用,但是这是面向过程编程的重用,程序员只看到代码重用,因为他看到if else几种情况下大部分代码都是重复的,只有个别不同,因此使用if else可以避免重复代码,并且认为这是模板Template模式。
他范的错误是:程序员只从代码运行顺序这个方向来看待它的代码,这种思维类似水管或串行电路,水沿着水管流动(代码运行次序),当遇到几个分管(子管),就分到这几个分管子在流动,这里就相当于碰到代码的if else处了。
而使用OO,则首先打破这个代码由上向下顺序等同于运行时的先后循序这个规律,代码结构不由执行循序决定,由什么决定呢?由OO设计;设计模式会取代这些if else,但是最后总是由一个Service等总类按照运行顺序组装这些OO模块,只有一处,这处可包含事务,一般就是Service,EJB中是Session bean。
一旦需求变化,我们更多的可能是Service中各个OO模块,甚至是只改动Service中的OO模块执行顺序就能符合需求。
这里我们也看到OO分离的思路,将以前过程语言的一个Main函数彻底分解,将运行顺序与代码其他逻辑分离开来,而不是象面向过程那样混乱在一起。所以有人感慨,OO也是要顺序的,这是肯定的,关键是运行顺序要单独分离出来。
是否有if else可以看出你有没有将运行顺序分离到家。
设计模式的切入口
经常有人反映,设计模式是不错,但是我很难用到,其实如果你使用if else来写代码时(除显示控制以外),就是在写业务逻辑,只不过使用简单的判断语句来作为现实情况的替代者。
还是以大家熟悉的论坛帖子为例子,如ForumMessage是一个模型,但是实际中帖子分两种性质:主题贴(第一个根贴)和回帖(回以前帖子的帖子),这里有一个朴素的解决方案:
建立一个ForumMessage,然后在ForumMessage加入isTopic这样判断语句,注意,你这里一个简单属性的判断引入......
VB6如何让程序开机就自动启动(2006-01-17 20:59:00)
摘要:这需要将要启动的应用程序路径写到注册表中具体的路径是:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
只需要在上面的路径下写一个键并为此键设置一个当前应用程序的路径即开机自载
具体的方法:
1、将下面这段代码就是将键Clock写到注册表中:
\'设置注册表内的RUN属性
Dim strString As String
Dim keyhand As Long
Dim r As Long
strString = App.Path & \"\\\" & App.EXEName & \".exe\"
r = RegCreateKey(HKEY_LOCAL_MACHINE, \"software\\microsoft\\windows\\currentversion\\run\", keyhand)
r = RegSetValueEx(keyhand, \"Clock\", 0, REG_SZ, ByVal strString, Len(strString))
r = RegCloseKey(keyhand)
2、下面这段代码就是将注册表的Clock键删除
\'删除注册表内的RUN属性
Dim keyhand As Long
r = RegOpenKey(HKEY_LOCAL_MACHINE, \"software\\microsoft\\windows\\currentversion\\run\", keyhand)
r = RegDeleteValue(keyhand, \"Clock\")
r = RegCloseKey(keyhand)
......
百度国学搜索探密 (2006-01-12 22:55:00)
摘要:/*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/
百度国学搜索探密
中科院软件所 张俊林
2006年1月11日
年底写论文作实验搞得头昏脑胀,中午放松一下上网看看新闻,原来百度推出了国学搜索,平常也比较喜欢看诗词歌赋方面的东西,就上百度试了试,结果搜索结果让我感觉哪里好像不对劲,所以就稍微花点时间看看百度在后面作了些什么.
我说的不对劲到不是搜索结果本身,而是搜索结果的存放方式,你会发现百度所有搜索结果都放在http://guoxue.baidu.com/page/这个目录下面.比如搜索”诗经”,所有返回结果页面都是guoxue.baidu.com/page/caabbead/XXX.html
这说明什么?说明百度所有的国学书籍都是存储在guoxue.baidu.com/page/这个目录下面,每个书籍一个目录,每个目录下面若干页面,每个页面是这个书籍的一部分.然后我感觉很好奇的是,目录名是按照什么原则命名的呢?比如”诗经”为什么是caabbead呢?看着这个字符串非常有亲切感,好像认识又叫不上名字,是谁呢?对了,很像是中文字符的字符编码,那到底是不是呢?做个实验,把”诗经”放到UltraEdit里面选择HEX EDIT看看编码发现还真实这么回事情,在实验几个,比如”红楼梦”,HEX EDIT编码: baecc2a5c3ce,那么我们试试百度存放在哪里,理论上应该存放在guoxue.baidu.com/page/baecc2a5c3ce这个目录下,那么构建URL: guoxue.baidu.com/page/baecc2a5c3ce/1.html看看,你看到了什么?跟我们的预期一样,是红楼梦,不过不是第一章,是第二章,这个出乎我的意料,看来百度程序员有职业习惯从0开始计算啊,试试, guoxue.baidu.com/page/baecc2a5c3ce/0.html,嗯,是第一章了.
看来百度是这么做的:每个书籍一个目录,目录名就是书名的字符编码,每个章节或者段落是一个静态页面,目录页面是http://guoxue.baidu.com/page/xxxx/index.html,每个书籍都是若干......
搜索引擎设计实用教程(5)-以百度为例 (2006-01-12 22:52:00)
摘要: /*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/
搜索引擎设计实用教程(5)-以百度为例
之五:CACHE结构
中科院软件所 张俊林
2006年1月4日
Cache是目前实用的搜索引擎都必备的功能,因为研究表明用户的查询有相当比例(30%-40%)是重复的,而且大多数重复的用户查询会在较短的间隔时间被再次重复访问.比如说目前"芙蓉姐姐"成为街头巷议的美谈,那么不仅张三想搜索"芙蓉姐姐",王二麻子同样也想搜索,以免被隔壁的李四笑话赶不上时代潮流.既然大家的关注焦点是差不多的,那么没有必要每次接受到查询后都从索引库里面查找,把大量的用户查询放到CACHE里面,肯定能够节省不少计算资源.
那么如何设计一个CACHE能够更加有效的节省计算资源呢?我们还是照旧分析一下百度是如何做的,当然,因为CACHE分析可以获得的外部信息非常少而且即使是获得的信息也不太可靠所以分析起来难度还是比较大的,所以下面的分析中有很大的比例是猜测的成分.
CACHE设计主要关注两个大的方面:
一个是CACHE的结构是怎样的?是只设计一个CACHE就拉倒呢?还是设计两级CACHE乃至三级CACHE?当然这里的二级三级不是咱们大老爷们们喜闻乐见的电影分级标准,而是优先级别的意思,你别指望从三级CACHE里面看到的都是清凉图片.
第二个方面是采取何种替换算法?毕竟CACHE是宝贵的资源,当CACHE里面已经被塞满的时候,把哪个记录踢出CACHE才合算呢?
我们看看百度的CACHE结构是怎样的.经过分析加推测,百度的CACHE系统可能有三个CACHE,用鲁迅先生的说法:百度有三个加快查询匹配的结构,其中一个是CACHE,另外一个也是CACHE,还有一个同样是CACHE.也就是说有一级C......
搜索引擎设计实用教程(4)-以百度为例 (2006-01-12 22:49:00)
摘要:/*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/
搜索引擎设计实用教程(4)-以百度为例
之四:相关提示功能
中科院软件所 malefactor
2005年11月
相关提示也是几乎所有搜索引擎提供的一个附加功能,所谓相关提示,就是对于用户提交的查询进行分析,然后根据其它用户相似的查询给予用户提示,比如我输入查询”大长今”,检索系统会提示其它象”大长今主题曲”,”大长今下载”等等相关的一些其它用户查询.
那么搜索引擎是根据什么原则对于其它用户的查询进行选择来提示用户相关查询呢?我们还是以百度为例子来看看怎么实现这个功能.要实现这个功能主要解决如下三个问题:
问题一.从哪里获得其它用户的查询信息?这个问题对于搜索引擎来说不是难事,因为搜索引擎都有用户查询LOG的功能,在一段时间内每一个用户提交给搜索引擎的查询都被记录在LOG文件里面,所以从这个文件里面可以获得其它用户的查询信息.这个LOG还可以用作其它功能的基本素材,比如搜索排行榜或者搜索风云榜,就是根据这个LOG文件,对用户查询归类,相同的归为一类,然后统计一段时间内这个类别的出现次数,按照降序排列,选择前列K个作为输出即可.
问题二.搜索引擎拿到用户的查询比如”大长今”,用户查询LOG里面有成千上万的不同查询,那么选择哪些作为提示呢?这里面牵涉到一个字符串相似性计算的过程.
问题三.假设已经从查询LOG里面选择了一批......