??xml version="1.0" encoding="utf-8" standalone="yes"?>
pȝ提示了错误号“0x8ffe2740”Q百度一下,{案是:IIS要用的80端口被程序占用,只需要更改IIS所使用的端口即可解决问题。改了端口后问题果然解决?/font>
但是Q在调试E序或在览器中览本地E序ӞL要在地址后面增加端口P很不方便。再是以前已经做了N个Web应用E序Q再逐个攚w目文Ӟ太麻烦。还是希望用80作IIS端口?/font>
于是用netstat -an -p tcp -o命o查看本地所开攄端口Q以及进E号PIDQ命令详l意思可以查看帮助)。得到本地确实是有一?.0.0.0:80的连接PID?48Q不知道q是什么进E)Q知道进E号后于是用tskill 848杀掉此q程Q再ơ重启IISQƈ且以80作ؓ其端口,启动成功Q问题解冟?br>
Q注Q摘?font face=宋体>http://hi.baidu.com/key8086/blog/item/759232092380b9ad2fddd452.html Q?/font>
netstat 命o参数说明Q?/font>
-n 是查端口L关的q程
-o 是查出相兌E的ID
netstat -an -o 可以查出端口及进EID
查到对应ID 后,可以?"d理? 中,在查看菜单中Q选择 "选择? 选中 PID 列项Q?可以查出哪个E序Q对应这个ID 占着哪个端口?/p>
理论上提高,那么计算机学院是唯一选择。因机学院才能让你在理Z更上一层楼
。Y件学院从教学计划上就没有把你往q方面带。当然能不能更上一层楼最l还是完全取
决于你自己。需要特别说明的是,工作l验q不一定等于开发经验,我见q很多工?-3q?/p>
的hQ但是没有一点开发经验?br />
你说Q“他们都有很强的开发能?只是不太喜欢M,也只是希望个学历对今后?/p>
岗位上晋升有好处”,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,
1Q高手不可能不喜Ƣ读书;2Q高手不可能惛_混一个学历;3Q高手不可能认ؓ晋升是因
为学历的原因?br />
q需要说明的是,考计机的h未必个个都是高手Q严格来_大部分都不会~程?/p>
。也是_庸庸碌之辈仍然占绝大多数。研I生毕业的师兄只?500元左右的比比?/p>
是,所以不要寄希望于拿一张研I生文凭出去赚高薪。但是,对于有实际开发工作经验的
人,要想自己?q之中有一个真正的提高的话Q计机学院提供了广阔的q_。就我所?/p>
Q每一个月?万以上的也有Q上,囑ŞҎ法设计Q。所以,同ؓ研究生毕业,
能力的差距是极大的。所以,不要去问“研I生毕业能拿多少Q”,要问“像我这U水q?/p>
的hQ研I生毕业能拿多少钱?”这样h家才能够准确地回{你?br />
所谓“有实际开发工作经验”是指你目前已经具备下列能力Q?Q你已经认ؓC++和汇
~语a都是很简单的语言Qƈ能够自如地运用;2Q你能够?0分钟之内惛_正确的五子棋
AI法设计思\和方向;3Q你完全理解STLZ么这么重要;4Q你能够独立地解x有的
~译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问Q何hQ?Q英文网站是?/p>
的首要信息来源;6Q能够读懂英语写成的国际标准Q比如NTFS盘格式标准?Q你l常
站在集合论的角度思考算法问题;8Q能够理解一个简单的驱动E序Q能够理解一个简?
D交互E序Q?Q你能够认识到线性代数和概率论在实际~程工作中的极端重要性;10Q你
完全理解COM的设计思想Q尤其能够理解COMZ么要设计成这P11Q当我说到虚函数?/p>
重要作用Ӟ你不会急着L书来;12Q你能够说出C++Z么比其他语言优秀的理由,
Cq种理由应该来自于你的开发体会,而不是因为其他h都这么说。此外还有很多判?/p>
标准Q但如果你同时具?条以上,可以认ؓ你已l具备相应的开发经验了。在q种状态下
ȝQ你取得读研效益的最大倹{?br />
ȝ最重要的是要明白你自己要干什么,不能{导师来告诉你你应该q什么。研I生
的优势在于理论功底深厚,思维hIK力Q当然编E能力首先要q关Q不要读完研I生
q不知道MFCE序的WinMain函数在哪里。所以,研究生期_你一定要做有理论深度的算
法设计,比如大规模数据的搜烦法Q性能是首要考虑因素Q不要奢望SQL函数能够帮你?/p>
决问题,所有的问题你都必须自己解决Q你必须解决内外存交换的性能瓉。再比如极品
飞R?D场景生成Q图形变换,撞,物性模拟,U理映射Q灯光模型等{,q些?/p>
是可以保证你能拿?万以上月薪的技术。如果你认ؓq些东西太难Q不可能做得出来的话
Q那么你׃适合ȝ。真的,要是你认研之后还是要L一般的E序设计Q如信息
理pȝ之类的YӞ那么你读研的价值就完全不会得到体现Q因些工作根本就不需
要读研?br />
软g学院宣称培养软g开发h才,恕我直言Q我从来没有看见那个高手是培训成功的
。成Y件开发高手的路只有一条:自学QY件开发中需要大量的~程实践和独立思考,
只有在此q程中,你才能够逐步成长h。Y件学院宣U培养Y仉目经理,q更是搞W?/p>
Q在某种意义上这是欺骗行为。学院里面能够培d软g开发经理更是十的谎言QY?/p>
目l理必须Q或者说更强调从战争中学会战争。没有实늻验的目l理是l花枕头
一个?br />
M一句话Q如果你只想成ؓ软g开发高手(比如认ؓ会编驱动E序或杀毒Y件就?/p>
高手的那U)Q徏议工作,不要考研Q完全没有工作经验的Q也不徏议考研Q你q来了只
有瞎混一通。如果你有上q工作经验且x为高UY件工E师Q能够独立理解ƈ设计出快
速傅立叶变换法的那UY件工E师Q的话,那么强烈考研。考研让你?q放松思?/p>
的机会,也有3q让你思想和技术积累沉淀的机会。非帔R得的Z。不考研的话Q这U机
会就是一U奢侈,可望而不可即的那么一U奢侈?br />
1Q关于读书的Z成本问题。读研的Z成本的确是很高。Q何h都可以简单地计算
出来。所以,我也不赞成所有的人都去读研。读研只适合那些痛感数学在编E中的极端重
要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识Q那么读研的价值几
乎ؓ0Q读研的好处在于QAQ把你自己放在一个学术和工程的交叉点上;BQ让你具备了q?/p>
入微软等世界软g研发机构的可能性;C只是可能性。但是不ȝq种可能性ؓ0Q?/p>
CQ如前所qͼ如果没有ȝ的机会,你也没有静下心来好好钻研几q理论的ZQ一?/p>
工作拉K薪,一Ҏ入地学习各种理论Q诸位认可能吗?我反正认Z可能Q我觉得
学习ȝ理论最需要的是一个长期安静独处的环境Q一边工作一边读书是不可能有q样
的环境的Q你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时q反
Ҏ天跟着导师的屁股后面跑Q这样会费很多旉。读计算机的研究生,主要依靠自己
L阅最新文献,自己ȝL献,和导师的口头交流一个月一ơ就_了,前提q需?/p>
导师的水q够牛。如果导师的水^不牛Q这也没关系Q不理他是了,自己做好自己?/p>
事情卛_?br />
2Q关于研I生教学质量问题。坦白地_全国都是“洪桐县中无好h”,其在计?/p>
U学领域Q大牛极。那Z么还要去ȝQ大哉问Q把ȝ的收获寄托在名校或名师的
名我认ؓ气上Q是注定要失败的。读研全靠自学,研究生之间的差距全部体现在自学能?/p>
上面。又有h问,既然是自学,Z么非要读研?回答是:因ؓȝ是ZC份保?/p>
Q就是买一份你自学三年之后不会׃的保险。这份保险主要是一U心理上的后盾,让你
在自学过E中l得赯惑,能够从容镇定地去q寻计算机理论发展的坚实Q从Ƨ拉Q?/p>
贚wQ高斯,hQ图늭巨匠那里LҎ论的珠宝。倘若没有q䆾保证Q你在家里面
自学3个月Q保证你会被׃的压力压得喘不过气来Q何谈安心学习?
3Q关于实战经验与理论学习的优劣问题。这没有定论Q如前所qͼ理信息pȝQ设
备驱动开发,工具软g开发,软g病毒剖析{等q些工作不太需要创造性,需要的是耐心
和经验,需要的是对既有规范的准理解,q类开发工作最适合在实战中提高Q理论学?/p>
没什么作用。但是在人工Q模式识别,囑փ压羃Q虚拟现实,巨量数据索,自然?/p>
a理解Q计机囑Ş学等{领域,理论学习占据着l对的统d位!q些领域的突破对
人类的生zȝ影响是极其巨大而深ȝ。某些领域处于一个极其快速发展的态势之中Q比
如计机囑Ş学,怿诸君能够从众?D游戏的灿烂辉煌中体认到我的这U说法。在q些
领域Q如果没有扎实的理论功底Q一切都是那么遥q,不管你花了多时间在~程上面?/p>
4Q关于高U研发h员的知识l构问题。首先声明,我不是一个纯_理论激q分子,?/p>
认ؓ除了理论之外Q一切都不重要。我认ؓQ纯熟的~程技能是最基本但也是最必不可少
的技能。没有这个基Q一切计机理论是IQ研I图灵可计算性理论的研究者除?/p>
Q。有了这个基之后Q下列理论学习方向必重点突_
1Q科学哲学。这是核心中的核心!可惜国内不开q门课。不但不开课,而且q作为批
判对象来引用Q实在是遗憾xQ这是一门教你如何“钓鱼”的学科Q在一切科学研I中
居于最核心的地位。它是古今科研方法和思维Ҏ的集大成者,很难惌一个成熟的研究
者没有一套自qҎZpR科学哲学最需要的是领会与ȝQ它的思想与启CZ伴随
我们的一生?br />
2Q康托集合论Q矩阉|法,Ll构Q图论方法,论Ҏ之间的紧密关pR最重要
的认识这些理论对实践的重要启C和Ҏ引导。我始终认ؓQ如果你学了一门理Z后,
却不知道q门理论有什么作用,那么你的理论q学了Q你什么东襉K没有捞着。所以,
学习M理论之前Q先问自己:它有什么用Q在哪里用?如何用?带着q些问题d习理
论,你才会真正地学到东西。用q三个问题去问你的理老师Q他的回{就是判断其?/p>
际水q的最x准?br />
3Q思维要有极强的穿透力Q学会看透文献作者没有写出来的动机。绝大部分大师都?/p>
隐瞒自己最hҎ论启C意义的思考环节的习惯。牛和华罗庚先生都有这个坏习惯?/p>
q让大家认ؓ他们是天才,因ؓ很多问题他想CQ我们想不到。但是ؓ什么他们能惛_
Q我们想不到Q他们是怎样惛_的?没有人告诉我们牛发C有引力定律时的思考过E?/p>
Q当Ӟ牛顿可以h地把他的思考结果告诉我们,但是Q他那可以点x金的“金手指
”却没有教给我们。我们的d是要培养透过文章看穿作者背后意囑֒动机的能力,?/p>
q方面,台湾的侯捷和国的Donbox是绝佛_范。这两只老狐狸(呵呵Q是qQ凭着?/p>
猎犬一般的嗅觉Q抽丝剥茧,一个把COM背后的幕后设计动机揭开q暴露到了光天化日之?/p>
Q另一个把MFC的宏观架构做了一ơ完的外科手术。其非凡的思维IK力令h惊叹?br />
4Q英语。英语本w不重要Q但是用p写成的文献就极其重要了。所以,专门把英?/p>
作ؓ一个重头戏列出来。大家不要相信英语无用论的鬼话。对于搞计算机的而言Q英语就
是你的母语!
5Q其它的具体理论q有很多Q但是都不如q三个方面重要,因ؓ我觉得这三个斚w?/p>
最hҎ性,全局性的能力培养环节。需要指出的是,很多高深理论对你的工作是无意
义的Q当心时间陷q去。一定要把效率最高的旉D는在最h军_性意义的理论学习?/p>
?br />
5Q关于读研之后的\是否光明的问题。我们应该承认,ȝ之后Q你的工作机会不
是变多了Q而是变少了。而且是高手Q他的工作机会和工作范围p。这是因为,?/p>
是搞前沿研发的公司,其数量越,在这个圈子的Zp。你扑ַ作的范围p,
试问Q如果微软的OS设计专家出来扑ַ作,能够让他选择的公司能有几Ӟ但是Q这U公
司数量的减少是以工资待遇的急剧上升偿的Q同Ӟ你在工作中所受到的充分尊重也
是在一般公怸体会不到的。所以不要担心学了高U技用不上,呵呵Q你只会来感?/p>
自己学的不够用。相信接到过猎头公司电话的h会体会得到。真正的高手从来׃会担?/p>
工作的问题,也从来不会到人才市场上去扑ַ作。既焉择了理论深入,那么应该把?/p>
光放得更q?/p>
因此Q在q里我介l的防火墙和IDS技术,只是我们在网l安全环节中q行的一个防御步骤。在|络内进行防火墙与IDS的设|,q不能保证我们的|络q对安全了Q但是设|得当的防火墙和IDSQ至会使我们的|络更ؓ坚固一些,q且能提供更多的d信息供我们分析?
接下来,让我们正地认识一下防火墙和IDS的作用吧。
防火?
一、防火墙能够做到些什么?
1.包过?/u>
具备包过滤的是防火墙?对,没错Q根据对防火墙的定义Q凡是能有效L|络非法q接的方式,都算防火墙。早期的防火墙一般就是利用设|的条gQ监通过的包的特征来军_放行或者阻止的Q包qo是很重要的一U特性。虽焉火墙技术发展到现在有了很多新的理念提出Q但是包qo依然是非帔R要的一环,如同四层交换机首要的仍是要具备包的快速{发这样一个交换机的基本功能一栗通过包过滤,防火墙可以实现阻挡攻击,止外部/内部讉K某些站点Q限制每个ip的流量和q接数?
2.包的透明转发
事实上,׃防火墙一般架讑֜提供某些服务的服务器前。如果用C意图来表示是 Server—FireWall—Guest 。用户对服务器的讉K的请求与服务器反馈给用户的信息,都需要经q防火墙的{?因此Q很多防火墙具备|关的能力?
3.L外部d
如果用户发送的信息是防火墙讄所不允许的Q防火墙会立卛_光断,避免其进入防火墙之后的服务器中?
4.记录d
如果有必要,其实防火墙是完全可以攻击行为都记录下来的,但是׃Z效率上的考虑Q目前一般记录攻ȝ事情都交lIDS来完成了Q我们在后面会提到?
以上是所有防火墙都具备的基本Ҏ,虽然很简单,但防火墙技术就是在此基上逐步发展h的?
二、防火墙有哪些缺点和不Q?
1.防火墙可以阻断攻击,但不能消灭攻L
“各扫自安前雪Q不他人瓦上霜”,是目前|络安全的现状。互联网上病毒、木马、恶意试探等{造成的攻击行为络l不l。设|得当的防火墙能够阻挡他们,但是无法清除d源。即佉K火墙q行了良好的讄Q得攻L法穿透防火墙Q但各种d仍然会源源不断地向防火墙发出试。例如接d|?0M|络带宽的某站点Q其日常量中^均有512K左右是攻击行为。那么,即成功讄了防火墙后,q?12K的攻L量依然不会有丝毫减少?
2.防火墙不能抵抗最新的未设|策略的d漏洞
如杀毒Y件与病毒一PL先出现病毒,杀毒Y件经q分析出特征码后加入到病毒库内才能查杀。防火墙的各U策略,也是在该d方式l过专家分析后给出其特征q而设|的。如果世界上新发现某个主机漏z的cracker的把W一个攻d象选中了您的网l,那么防火墙也没有办法帮到您的?
3.防火墙的q发q接数限制容易导致拥塞或者溢?/u>
׃要判断、处理流l防火墙的每一个包Q因此防火墙在某些流量大、ƈ发请求多的情况下Q很ҎD拥塞Q成为整个网l的瓉影响性能。而当防火墙溢出的时候,整个防线如同虚设,原本被禁止的q接也能从容通过了。
4.防火墙对服务器合法开攄端口的攻d多无法阻?/u>
某些情况下,d者利用服务器提供的服务进行缺h凅R例如利用开放了3389端口取得没打qsp补丁的win2k的超U权限、利用aspE序q行脚本d{。由于其行ؓ在防火墙一U看来是“合理”和“合法”的Q因此就被简单地放行了?
5.防火墙对待内部主动发赯接的d一般无法阻?/u>
“外紧内䏀是一般局域网l的特点。或怸道严密防守的防火墙内部的|络是一片׃有可能。通过C会工程学发送带木马的邮件、带木马的URL{方式,然后׃木马的机器主动对d者连接,铁壁一L防火墙瞬间破坏掉。另外,防火墙内部各L间的d行ؓQ防火墙也只有如旁观者一样冷视而爱莫能助?
6Q防火墙本n也会出现问题和受到攻?/u>
防火墙也是一个osQ也有着其硬件系l和软gQ因此依然有着漏洞和bug。所以其本n也可能受到攻d出现?g斚w的故障?
7Q防火墙不处理病?/u>
不管是funlove病毒也好Q还是CIH也好。在内部|络用户下蝲外网的带毒文件的时候,防火墙是不ؓ所动的Q这里的防火墙不是指单机/企业U的杀毒Y件中的实时监控功能,虽然它们不少都叫“病毒防火墙”)?
看到q里Q或许您原本心目中的防火墙已l被我拉下了台。是的,防火墙是|络安全的重要一环,但不代表讄了防火墙p一定保证网l的安全。“真正的安全是一U意识,而非技?”请牢记q句话?
不管怎么P防火墙仍然有其积极的一面。在构徏M一个网l的防M工事Ӟ除了物理上的隔离和目前新q提出的|闸概念外,首要的选择l对是防火墙。那么,怎么选择需要的防火墙呢Q?
防火墙的分类
首先大概说一下防火墙的分cR就防火墙(本文的防火墙都指商业用途的|络版防火墙Q非个h使用的那U)的组成结构而言Q可分ؓ以下三种Q?
W一U:软g防火?/u>
软g防火墙运行于特定的计机上,它需要客户预先安装好的计机操作pȝ的支持,一般来说这台计机是整个|络的网兟뀂Y仉火墙p其它的Y件品一样需要先在计机上安装ƈ做好配置才可以用。防火墙厂商中做|络版Y仉火墙最出名的莫q于Checkpoint。用这c防火墙Q需要网对所工作的操作系l^台比较熟悉?
W二U:g防火?/u>
q里说的g防火墙是指所谓的g防火墙。之所以加?所?二字是针对芯片防火墙说的了。它们最大的差别在于是否Z专用的硬件^台。目前市Z大多数防火墙都是q种所谓的g防火墙,他们都基于PC架构Q就是说Q它们和普通的家庭用的PC没有太大区别。在q些PC架构计算Zq行一些经q裁剪和化的操作pȝQ最常用的有老版本的Unix、Linux和FreeBSDpȝ?值得注意的是Q由于此c防火墙采用的依然是别h的内核,因此依然会受到os本n的安全性媄响。国内的许多防火墙品就属于此类Q因为采用的是经q裁减内核和定制lg的^収ͼ因此国内防火墙的某些销售h员常常吹嘘其产品是“专用的os”等{,其实是一个概念误|下面我们提到的第三种防火墙才是真正的os专用。
W三U:芯片U防火墙
它们Z专门的硬件^収ͼ没有操作pȝ。专有的ASIC芯片促它们比其他种cȝ防火墙速度更快Q处理能力更强,性能更高。做q类防火墙最出名的厂商莫q于NetScreen.其他的品牌还有FortiNet,是后v之秀了。这c防火墙׃是专用OS,因此防火墙本w的漏洞比较,不过h相对比较高昂Q所以一般只有在“确实需要”的情况下才考虑?/p>
在这里,特别U正几个不正的观念Q?
1.在性能上,芯片U防火墙>g防火?gt;软g防火?/u>
在hg看来Q的倒是如此的关pR但是性能上却未必。防火墙的“好”,是看其支持的q发数、最大流量等{性能Q而不是用软gg来区分的。事实上除了芯片U防火墙外,软g防火墙与g防火墙在g上基本是完全一L。目前国内的防火墙厂商由于大多采用硬仉火墙而不是Y仉火墙Q原?是考虑到用Ll管理员的素质等原因Q还有就是基于我国大多数民众对“看得见的硬件值钱Q看不到的Y件不值钱”这样一U错误观点的q合。不硬仉火墙厂商大肆诋毁软g防火墙性能Q不外是Z让自己那加上了外壳的普通pcQ一个被修改后的内核Q一套防火墙软g能够卖出一个好价钱来而已。而ؓ什么不作芯片防火墙呢Q坦白说Q国内没有公司有技术实力。而且在中国市Z来看Q某些国内的所谓硬仉火墙的硬件质量连diy的兼Ҏ都比不上。看看国内XX的硬仉火墙那拙劣的盘和网卡,使用q的人都能猜到是哪家Q我׃点名了。真正看防火墙,应该看其E_性和性能Q而不是用软、硬来区分的。至,如果W者自己选购Q我会选择购买CheckPoint而非某些所谓的g防火墙的?
2.在效果上Q芯片防火墙比其他两U防火墙?/u>
q同样也是一U有失公允的观点。事实上芯片防火墙由于硬件的独立Q的在OS本n出漏z的Z上比较少Q但是由于其固化Q导致在面对新兴的一些攻L式时Q无法及时应对;而另外两U防火墙Q则可以单地通过升os的内核来获取pȝ新特性,通过灉|地策略设|来满不断变化的要求,不过其OS出现漏洞的概率相寚w一些?
3.唯技术指标论
请以“防火墙买来是用的”ؓW一前提q行购买。防火墙本n的质量如何是一回事Q是否习惯用又是另一回事。如果对一ƾ品的界面不熟悉,{略讄方式不理解,那么即用世界最的防火墙也没有多大作用。就如小说中武林中h无不向往的“倚天剑”、“屠龙刀”被我拿刎ͼ肯定也敌不过乔峰赤手的少林长x一般道理。防火墙技术发展至今,市场已经很成熟了Q各cM品的存在Q自然有其生存于市场的理由。如何把产品用好Q远比盲目地比较各类产品好?
IDS
什么是IDS呢?早期的IDS仅仅是一个监听系l,在这里,你可以把监听理解成窃听的意思。基于目前局|的工作方式QIDS可以用户对位于与IDS同一交换?HuB的服务器的访问、操作全部记录下来以供分析用,跟我们常用的widnows操作pȝ的事件查看器cM。再后来Q由于IDS的记录太多了Q所以新一代的IDS提供了将记录的数据进行分析,仅仅列出有危险的一部分记录Q这一点上跟目前windows所用的{略审核上很象;目前C代的IDSQ更是增加了分析应用层数据的功能Q得其能力大大增加Q而更C代的IDSQ就颇有“\见不qI拔刀相助”的味道了,配合上防火墙q行联动Q将IDS分析出有敌意的地址L其访问?
如理论与实际的区别一PIDS虽然h上面所说的众多Ҏ,但在实际的用中Q目前大多数的入侉|的接入方式都是采用pass-by方式来侦听网l上的数据流Q所以这限制了IDS本n的阻断功能,IDS只有靠发L数据包来L当前行ؓQƈ且IDS的阻断范围也很小Q只能阻断徏立在TCP基础之上的一些行为,如Telnet、FTP、HTTP{,而对于一些徏立在UDP基础之上无能ؓ力了。因为防火墙的策略都是事先设|好的,无法动态设|策略,~少针对d的必要的灉|性,不能更好的保护网l的安全Q所以IDS与防火墙联动的目的就是更有效地阻断所发生的攻MӞ从而ɾ|络隐患降至较低限度?
接下来,我简单介l一下IDS与防火墙联动工作原理
入R系l在捕捉到某一d事g后,按策略进行检查,如果{略中对该攻M件设|了防火墙阻断,那么入R系l就会发l防火墙一个相应的动态阻断策略,防火墙根据该动态策略中的设|进行相应的LQ阻断的旉、阻断时间间隔、源端口、目的端口、源IP和目的IP{信息,完全依照入R系l发出的动态策略来执行。一般来_很多情况下,不少用户的防火墙与IDSq不是同一家的产品Q因此在联动的协议上面大都遵?opsec 或?topsec协议q行通信Q不q也有某些厂家自己开发相应的通信规范的。目前d来说Q联动有一定效果,但是E_性不理想Q特别是d者利用伪造的包信息,让IDS错误判断Q进而错误指挥防火墙合法的地址无辜屏蔽掉?
因ؓ诸多不Q在目前而言QIDS主要Lq是监听记录的作用。用个比L形容Q网l就好比一片黑暗,到处充满着危险Q冥冥中只有一个出口;IDSp一支手늭Q虽然手늭不一定能照到正确的出口,但至有L没有要好一些。称职的|管Q可以从IDS中得C些关于网l用者的来源和访问方式,q而依据自ql验q行主观判断Q注意,的确是主观判断。例如用戯lping了服务器半个时Q到底是意图dQ还是无意中的行为?q都依据|络理员的主观判断和网l对安全性的要求来确定对应方式。)对IDS的选择Q跟上面谈到的防火墙的选择cMQ根据自q实际要求和用习惯,选择一个自己够用的Q会使用的就_了?
最后,要说的依然是那句“世界上没有一U技术能真正保证l对地安全。”安全问题,是从讑֤ChQ从服务器上的每个服务程序到防火墙、IDS{安全品的l合问题QQ何一个环节工作,只是q向安全的步骤?/p>
计算机科学与技术反思录
计算机科学与技术这一门科学深q吸引着我们q些同学们,上计机pdl有q?br />三年了,自己也做了一些思?我一直认机U学与技术这门专业,在本U阶D|?br />可能切分成计机U学和计机技术的Q因机U学需要相当多的实践,而实践需
要技术;每一个h(包括非计机专业)Q掌握简单的计算机技术都很容易(包括E序?br />计)Q但计算Z业的优势在于,我们掌握许多其他专业q不“深I”的东西Q例
如,法Q体pȝ构,{等。非计算Z业的人可以很Ҏ地做一个芯片,写一D늨
序,但他们做不出计算Z业能够做出来的大型系l。今天我想专门谈一谈计机U?br />学,q将重点攑֜计算理论上?br />
计算机理论的一个核心问题——从数学谈vQ?br />记得当年大一入学Q每周六课时高等数学Q天天作业不?那时是六日工作制)。颇
有些同学惊呼走错了门:׃q到底念的是什么系Q不错,你没走错门,q就是计机U?br />学与技术系。我国计机U学p里的传l是培养做学术研IӞ其是理论研I的人(?br />向不见得有问题,但是做得不是那么如人意Q。而计机的理论研IӞ说到底了Q如
|络安全Q图形图像学Q视频音频处理,哪个方向都与数学有着很大的关p,虽然也许
是正l数学家眼里非主的数学。这里我q想阐明我的一个观点:我们都知道,数学?br />从实际生zd中抽象出来的理论Qh们之所以要实际抽象成理论Q目的就在于想用?br />象出来的理论L好的指导实践Q有些数学研I工作者喜Ƣ用一些现存的理论知识L
Dq条推论Q殊不知其一Q问题考虑不全很可能是个错误的推论Q其二:他的推论?br />现实生活中找不到原型Q不能指导实c严格的_我ƈ不是一个理想主义者,政治?br />上学的理pd际一直是指导我学习科学文化知识的航标Q至我认ؓ搞计机U学
与技术的应当本着q个方向Q?/font>
其实我们计算机系学数学光学高{数学是不够的(典型的工U院校一般都开?br />是高{数学)Q我们应该像数学pM样学一下数学分析(清华计算机系开的好像就是数
学分析)Q数学分析这门科学,׃学计机的h对它有很复杂的感情。在于它是偏?br />于证明型的数学课E,q对我们培养良好的分析能力极有帮助。我的Y件工E学导师?br />工大数理学院的王仪华先生曾l教D我们Q数学系的学生到软g企业中大多作软g
设计与分析工作,而计机pȝ学生做程序员的居多,原因在于数学系的学生分析推
理能力,从所受训l的角度上要q远在我们之上。当q出现的怪现象是Q计机pd?br />的高中数学基在全校数一C(希望没有冒犯其它pȝ同学)Q教学课时数也仅ơ于?br />学系Q但学完之后的效果却不尽如h意。难道都是学生不努力吗,我看未见得,方向?br />了也说不一定,其中原因何在Q发人深思?/font>
我个人的见是:计算机系的学生,Ҏ学的要求固然跟数学系不同Q跟物理cd别则
更大。通常非数学专业的所谓“高{数学”,无非是把数学分析中较困难的理论部分删
去,套用公式计算而已。而对计算机系来说Q数学分析里用处最大的恰恰是被删去
的理论部分。说得难听一点,对计机pd生而言Q追求算来算ȝ所谓“工E数学?br />已经d地走q了误区。记上一堆曲面积分的公式Q难道就能算懂了数学Q那倒不如现
用现查,何必费事记呢Q再不然直接用Mathematics或是Matalab好了?br />我在p里最爱做的事情就是给学弟学妹们推荐参考书。中文的数学分析书,一般都
认ؓ以北大张{生老师的“数学分析新讜yؓ最好。万一你的数学实在太好Q那去?br />菲赫金哥茨的“微U分学教E”好?-但我认ؓ没什么必要,毕竟你不惌{到数学系
厅R吉c_l奇的“数学分析习题集”也基本上是计算型的东东。书的名气很大,倒不
见得适合我们Q还是那句话Q重要的是数学思想的徏立,生活在信息社会里我们求的?br />高效Q计这玩意q是留给计算机吧。不q现在多用的g是复旦大学的《数学分析?br />也是很好的教材?/font>
中国的所谓高{代敎ͼq于线性代数加上一点多式理论。我以ؓq有好的一面,?br />为可以让学生较早感觉C数是一U结构,而非一堆矩늿来覆厅R这里不得不提南?br />大学林成,盛松柏两位老师~的“高{代数”,感觉相当舒服。此书相当全面地包含
了关于多式和线性代数的基本初等l果Q同时还提供了一些有用的又比较深ȝ?br />容,如Sturm序列QShermon-Morrison公式Q广义逆矩늭{。可以说Q作为本U生如能
吃透此书,可以算高手。国内较好的高等代数教材q有清华计算机系用的那本Q清?br />出版Cև版,书店里多多,一看就知道。从抽象代数的观Ҏ看,高等代数里的l果?br />q是代数pȝ性质的一些例子而已。莫宗坚先生的《代数学》里Q对此进行了深刻的讨
论。然而莫先生的书实在深得很,作ؓ本科生恐怕难以接受,不妨{到自己以后成熟?br />一些再诅R?/font>
正如上面所的,计算机系的学生学习高{数学:知其然更要知其所以然。你学习?br />目的应该是:抽象的理论再应用于实践Q不但要掌握题目的解题方法,更要掌握解题
思想Q对于定理的学习Q不是简单的应用Q而是掌握证明q程x握定理的由来Q训l?br />自己的推理能力。只有这h辑ֈ了学习这门科学的目的Q同时也~小了我们与数学p?br />的同学之间思维上的差距?/font>
概率Z数理l计q门译־重要Q可惜大多数院校讲授q门N会少些东ѝ少了的?br />西现在看臛_有随E。到毕业q没有听说过Markovq程Q此乃计机pd生的?br />辱。没有随E,你怎么分析|络和分布式pȝQ怎么设计随机化算法和协议Q据?br />清华计算机系开有“随机数学”,早就是必修课。另外,L概率论对计算机系学生?br />说有Ҏ的重要性。而我们国家工E数学讲的都是连l概率。现在,国已经有些学校
开设了单纯的“离散概率论”课E,q脆把连l概率删去,把离散概率讲׃。我们不
一定要q么做,但应该更加强调离散概率是没有疑问的。这个工作我看还是尽早的做ؓ
好?/font>
计算Ҏ学(有些学校也称为数学分析学Q是最后一门由数理学院l我们开的课。一?br />学生对这门课的重视程度有限,以ؓ没什么用。不是照套公式嘛!其实Q做囑Ş囑փ
可离不开它,密码学搞׃也离不开它。而且Q在很多U学工程中的应用计算Q都以数
值的Z。这门课有两个极端的讲法Q一个是古典的“数值分析”,完全讲数学原理和
法Q另一个是现在日趋行的“科学与工程计算”,q脆教学生用软g包编E。我?br />为,计算机系的学生一定要认识清楚我们计算机系的学生ؓ什么要学这门课Q我?br />很偏向于学好理论后用计算机实现的Q最好用C语言或C++~程实现。向q个方向努力
的书c还是挺多的Q这里推荐大安{教育出版社QCHEPQ和施普林格出版C?br />(Springer)联合出版的《计方法(Computational MethodsQ?华中理工大学数学p?br />写的Q现华中U技大学Q,q方面华U大做的工作在国内应是比较多的Q而个?br />以这本最好,臛_E序设计斚w涉及了:L数学函数的求|方程求根Q线性方E组
求解Q插值方法,数值积分,场微分方E数值求解。李庆扬的那本则理论性过强,与实
际应用结合得不太紧?/font>
每个学校本系里都会开一门离散数学,涉及集合论,图论Q和抽象代数Q数理逻辑。不
q,q么多内Ҏ在离散数学一门课里,是否旉太紧了点Q另外,计算机系学生不懂
l合和数论,也是巨大的缺陗要做理论,不懂l合或者数论吃亏可太大了。从理想
的状态来看,最好分开六门课:集合Q逻辑,图论Q组合,代数Q数论。这个当然不?br />实,因ؓ没那么多课时。也许将来可以开三门课:集合与逻辑Q图Zl合Q代C?br />论。(q方面我们学校已l着手开始做了)不管课怎么开Q学生M栯学。下面分?br />谈谈上面的三l内宏V?br />古典集合论,北师大出q一本《基集合论》不错?数理逻辑Q中U院软g所陆钟万教
授的《面向计机U学的数理逻辑》就不错。现在可以找到陆钟万教授的讲译ֽ像,
http://www.cas.ac.cn/html/Dir/2001/11/06/3391.htm自己ȝ看吧。ȝ来说Q学?br />?逻辑h不难Q普通高中生都能看懂。但往后越感觉׃可测?/font>
学完以上各书之后Q如果你q有_֊兴趣q一步深IӞ那么可以试一下GTMpd中的
《Introduction to Axiomatic Set Theory》和《A Course of Mathematical
Logic》。这两本都有世界图书出版C引进版。你如果能搞定这两本Q可以说在逻辑?br />面真正入了门Q也׃用再费旉听我瞎侃了?/font>
据说全中国最多只有三十个人懂图论。此a不虚。图东东Q技巧性太强,几乎每个
问题都有一个独特的ҎQ让人头痛。不q这也正是它力所在:只要你有创造性,?br />pl你成就感。我的导师说Q图论里面随便揪一块东西就可以写篇论文。大家可以体
会里面内容之深广了吧Q国内的图论书中Q王树禾老师的“图论及其算法”非常成功?br />一斚wQ其内容在国内教材里非常全面的。另一斚wQ其对算法的非常适合计算
机系(本来是U大计算机系教材)。有了这本书ZQ再参考几本翻译的Q如Bondy &
Murty的《图论及其应用》,人民邮电出版C译的《图论和电\|络》等{,马马虎
虎,ҎU生_了。再q一步,世界图书引进有GTMpd?Modern Graph Theory"?br />此书实l典Q国内好象还有一家出版了个翻译版。不q,学到q个层次Q还是读原版
好。搞定这本书Q也标志着图论入了门?/font>
L数学斚w我们北京工业大学实验学院有个世界U的专家Q叫邵学才,复旦大学概率
论毕业的Q教q高{数学,U性代敎ͼ概率论,最后{向离散数学,出版著作无数Q论
文集新加坡有一本,堪称l典Q大家想学离散数学的真谛不妨找来看看。这老师的课?br />专门dq,极ؓl典。不q你要从他的不经意的话中L掘精髓。在同他的交谈当?br />我又深刻地发C个问题,虽说邵先生写书无敎ͼ但依他自q说法每本都差不多Q我
实在觉得诧异Q他说主要是有大U的限制Q不便多写。这难怪了Q很听说国外写?br />q要依据个什么大UԌq有,内容也宽泛的多)Q不敢越h半步Q这样不是看谁的
都一样了。外版的书好好在这里,最新的U技成果里面都有Q别的先不说Q至?br />是“紧跟时代的理论知识”?/font>
l合感觉没有太适合的国产书。还是读Graham和Knuth{h合著的经典“具体数学”吧Q?br />西安电子U技大学出版C有译版?抽象代数Q国内经ؓ莫宗坚先生的“代数学”?br />此书是北大数学系教材Q深得好评。然而对本科生来_此书未免太深。可以先学习一
些其它的教材Q然后再回头来看“代数学”。国际上的经典可多了,GTMpd里就有一
大堆。推荐一本谈不上l典Q但却最
单的Q最Ҏ学的Qhttp://www.math.miami.edu/~ec/book/q本“Introduction to
Linear and Abstract Algebra"非常通俗易懂Q而且把抽象代数和U性代数结合v来,
对初学者来说非常理惻I我校比较牛的同学都有收藏?/font>
数论斚wQ国内有l典而且以困难著U的”初{数论?潘氏兄弟著,北大?。再q溯
一点,q有更加l典(可以世界)q且更加困难的”数论导引?华罗庚先生的名著Q?br />U学版,九章书店重印Q繁体的看v来可能比较困?。把基础的几章搞定一个大概,?br />本科生来讲够了。但q只是初{数论。本U毕业后要学计算数论Q你必须看英文的
书,如Bach?Introduction to Algorithmic Number Theory"?br />计算机科学理论的ҎQ在于算法。现在很多系里给本科生开讄法设计与分析Q确?br />非常正确。环西方世界,大约没有一个三以上计机pM把算法作为必修的。算?br />教材目前公认以Corman{著?Introduction to Algorithms"为最优。对入门而言Q这
一本已l够,不需要再参考其它书?/font>
再说说Ş式语a与自动机。我看过北邮的教材,应该说写的还清楚。但是,有一点要?br />调:形式语言和自动机的作用主要在作ؓ计算模型Q而不是用来做~译。事实上Q编?br />前端已经是死领域Q没有Q何open problemsQ北U大的班晓娟博士也曾l说q,~译?br />技术已相当成熟。如果ؓ了这个,我们完全没必要去学Ş式语a--用用yacc什么的完
了。北邮的那本在国内还比较好Q但是在深度上,在跟可计性的联系上都有较大的
局限,C感也不。所以徏议有兴趣的同学去读英文书Q不q国内似乎没引进q方?br />的教材。可以去互动出版|上看一看。入门以后,把Ş式语a与自动机中定义的模型Q?br />和数理逻辑中用递归函数定义的模型比较一番,可以说非常有。现在才知道Q什么叫
“宫室之,癑֮之富”!
计算机科学和数学的关pL点奇怪。二三十q以前,计算机科学基本上q是数学的一?br />分支。而现在,计算机科学拥有广泛的研究领域和众多的研究人员Q在很多斚w反过?br />推动数学发展Q从某种意义上可以说是孩子长得比妈妈q高了。但不管怎么Pq个?br />子n上始l流着母亲的血涌Ӏ这血液是the mathematical underpinning of computer
science(计算机科学的数学基础)Q也是理论计算机科学。原来在东方大学城图书馆?br />曄看过一本七十年代的译本Q书皮都没了Q可我就爱关注这U书Q,大概叫《计?br />机数学》。那本书若是攑֜当时来讲x一本好书,但现在看来,늛的范围还广Q?br />深度则差了许多,不过推荐大一的学生倒可以看一看,臛_可以使你的计数学入?br />门?/font>
最常和理论计算机科学放在一L一个词是什么?{:L数学。这两者的关系是如?br />密切Q以至于它们在不场合下成ؓ同义词。(q一点在前面的那本书中也有体玎ͼ?br />l上Q数学是以分析ؓ中心的。数学系的同学要学习三四个学期的数学分析Q然后是?br />变函敎ͼ实变函数Q泛函数{等。实变和泛函被很多h认ؓ是现代数学的入门。在?br />理,化学Q工E上应用的,也以分析Z?/font>
随着计算机科学的出现Q一些以前不太受到重视的数学分支H然重要h。h们发玎ͼ
q些分支处理的数学对象与传统的分析有明显的区别:分析研究的问题解x案是q箋
的,因而微分,U分成ؓ基本的运;而这些分支研I的对象是离散的Q因而很有?br />会进行此cȝ计算。h们从而称q些分支为“离散数学”。“离散数学”的名字来?br />响亮Q最后导致以分析Z心的传统数学分支被相对称为“连l数学”?/font>
L数学l过几十q发展,基本上稳定下来。一般认为,L数学包含以下学科Q?br />1) 集合论,数理逻辑与元数学。这是整个数学的基础Q也是计机U学的基?br />2) 图论Q算法图论;l合数学Q组合算法。计机U学Q尤其是理论计算机科学的核心
?br />法Q而大量的法建立在图和组合的基础上?br />3) 抽象代数。代数是无所不在的,本来在数学中非帔R要。在计算机科学中Qh们惊
讶地发现代数竟然有如此之多的应用?/font>
但是Q理机U学仅仅是在数学的上面加上“离散”的帽子q么单吗Q一直到
大约十几q前Q终于有一位大师告诉我们:不是。D.E.Knuth(他有多伟大,我想不用?br />废话?在Stanford开设了一门全新的评Concrete Mathematics?Concreteq个词在
q里有两层含义:
首先Q对abstract而言。Knuth认ؓQ传l数学研I的对象q于抽象Q导致对具体的问?br />兛_不够。他抱怨说Q在研究中他需要的数学往往q不存在Q所以他只能自己d造一
些数学。ؓ了直接面向应用的需要,他要提倡“具体”的数学。在q里我做一点简单的
解释。例如在集合ZQ数学家兛_的都是最Ҏ的问?-公理pȝ的各U性质之类?br />而一些具体集合的性质Q各U常见集合,关系Q映都是什么样的,数学家觉得ƈ不重
要。然而,在计机U学中应用的Q恰恰就是这些具体的东西。Knuth能够首先看到q一
点,不愧为当世计机W一人。其ơ,Concrete是Continuous(q箋)加上discrete(?br />?。不连l数学还是离散数学,都是有用的数学!
理论与实际的l合——计机U学研究的范?br />前面主要是从数学角度来看的。从计算度来看,理论计算机科学目前主要的?br />I域包括:可计性理论,法设计与复杂性分析,密码学与信息安全Q分布式计算
理论Qƈ行计理论,|络理论Q生物信息计,计算几何学,E序语言理论{等。这
些领域互怺叉,而且新的N在不断提出,所以很隄Z个头l来。想搞搞q方?br />的工作,推荐看中国计机学会的一pd书籍Q至代表了我国的权威。下面随便D一
些例子?br />׃应用需求的推动Q密码学现在成ؓ研究的热炏V密码学建立在数?其是计?br />数论)Q代敎ͼ信息论,概率论和随机q程的基上,有时也用到图论和l合学等。很?br />Z为密码学是加密解密Q而加密就是用一个函数把数据打ؕ。这L理解太浅?br />了?br />C密码学至包含以下层ơ的内容Q?br />W一Q密码学的基。例如,分解一个大数真的很困难吗?能否有一般的工具证明协议
正确Q?br />W二Q密码学的基本课题。例如,比以前更好的单向函数Q签名协议等?br />W三Q密码学的高U问题。例如,零知识证明的长度Q秘密分享的Ҏ?br />W四Q密码学的新应用。例如,数字现金Q叛徒追t等?br />在分布式pȝ中,也有很多重要的理论问题。例如,q程之间的同步,互斥协议。一?br />l典的结果是Q在通信信道不可靠时Q没有确定型法能实现进E间协同。所以,改进
TCP三次握手几乎没有意义。例如时序问题。常用的一U序是因果序Q但因果序直C?br />前才有一个理Z的结?...例如Q死锁没有实用的Ҏ能完地对付。例?......?br />作系l研I过p己去丑Q?br />如果计算机只有理论,那么它不q是数学的一个分支,而不成ؓ一门独立的U学?br />事实上,在理Z外,计算机科学还有更qK的天I?/font>
我一直认为,4q根本不够学习计机的基知识Q因为面太宽?.....
q方面我惛_说说我们pd各校普遍开讄《计机基础》。在高等学校开设《计
机基础评》是我国高教司明文规定的各专业必修课E要求。主要内Ҏ使学生初?br />掌握计算机的发展历史Q学会简单的使用操作pȝQ文字处理,表格处理功能和初步的
|络应用功能。但是在计算机科学系教授此门评的目标决不能与此一致。在计算机系
评中目标应是:让学生较为全面的了解计算机学U的发展Q清晰的把握计算机学U研
I的方向Q发展的前沿x一个课E在整个学科体系中所处的C。搞清各学科的学?br />目的Q学习内容,应用领域。学生在学U学习初期就Ҏ个学U有一个整体的认识Q?br />以做到在今后的学习中清楚要学什么,怎么学。计机基本应用技能的位置应当攑֜W?br />二位或更靠后Q因一点对于本pȝ学生应当有这个摸索能力。这一点很重要。推?br />l大家一本书Q机械工业出版社的《计机文化》(New Perspective of Computer
ScienceQ,看了q本书我才深ȝ体会到自p是个计算机科学初学者,才比较透彻?br />了解了什么是计算机科学。另外在厦门大学赵致琢老师的著作《计科学导论》当中的
很多l典理论都是在同cMc中很难扑ֈ的。看看他也许你才会明白一个最基本的问
题:Z么计机U学叫计科学更为准。这本书在世界上也可成ؓ_֓U的著作?/font>
一个一计机pȝ优秀学生决不该仅仅是一个编E高手,但他一定首先是一个编E高
手。我上大学的时候,W一门专业课是C语言E序设计Q念计算机的Z某种角度讲相?br />一部分人是靠写E序吃饭的。在我们北京工业大学实验学院计算机系里一直有q样的争
论(时至今日CSDN上也有)Q关于第一E序设计语言该用哪一U。我个h认ؓQ用哪种
语言属于末节Q关键在L良好的编E习惯。当q老师Ҏ们说Q打好基后学一门新
语言只要一个星期。现在我觉得Ҏ不用一个星期,前提是先把基打好。不要再犹U
了,学了再说Q等你抉择好了,别h已经会了几门语言了?/font>
汇编语言和微机原理是两门特烦人的课。你的数?理论基础再好Q也占不C么便宜?br />q两门课之间的次序也好比先有鸡还是先有蛋Q无Z先学哪门Q都会牵扯另一门课?br />的东ѝ所以,只能静下来慢慢琢。这是典型的工E课Q不需要太多的聪明和顿
悟,却需要水滴石I的渐悟。有兌两门评书,计算Z店里不难扑ֈ。弄几本最?br />的,对照着看吧。组成原理推荐《计机l成与结构》清华大学王p教授写的。汇~?br />语言大家?086/8088入个门,之后一定要?0x86汇编语言。实用h值大Q不落后Q结
构又好,写写高效病毒Q高U语a里嵌一Ҏ~,q行底层开发,MM开他,推荐
清华大学沈美明的《IBM—PC汇编语言E序设计》。有些h说不想了解计机体系l构Q?br />也不惛_造计机Q所以诸如计机原理Q汇~语aQ接口之cȝ课觉得没必要学,q?br />样合理吗Q显然不合理Q这些东西迟早得掌握Q肯定得接触Q而且Q这是计机专业?br />其他专业学生相比的少有的几项优势。做目的时候,了解q些是非帔R要的Q不可能
_仅仅Z技术而技术,只懂技术的人最多做一个编码工人,而永q不可能全面C
解整个系l的设计Q而编码工人是老越不值钱。关于组成原理还有个讲授的问题,?br />我学q门评时老师讲授时把CPU工作原理誉微E序设计q一块略掉了Q理由是我们国家
搞CPU技术不如别的国Ӟ搞了q么长时间好不容易出了个龙芯比Intel的还差个十万?br />千里Q所以徏议我们不要学了。我看这在各校也未见得不是个问题吧!若真是如他所
_那中国的计算机科学哪个方向都可以停了QYgQ应用,有几Ҏ得过国Q搞
不过别h׃搞了Q那我们坐在q里q什么?教学的观念需要{变的?/font>
模拟电\q东东,如今不仅计算机系学生搞不定,电子pd生也多半x。如果你真想
软硬仉吃Q那么徏议你先看看邱x的“电路原理”,也许此后再看模拟电\底气?br />些。教材:康华光的“电子技术基”(高等教育出版C)q是不错的(我校电子p?br />在用Q。有兴趣也可以参考童诗白的书?/font>
数字电\比模拟电路要好懂得多。推荐大家看一看我们北工大刘英娴教授写的《数字?br />辑》业lh士都说这本书很有参考h|机械工业出版CQ。原因很明了Q实用h?br />高,能听听她讲授的课E更是有一U“n受科学”的感觉。清华大学阎石的书也一?br />好教材,遗憾的一Ҏ集成电\讲少了些。真有兴,看一看大规模数字pȝ设计?br />Q北航那本用的还比较多)?/font>
计算机系l结构该怎么教,国际上还在争论。国内能扑ֈ的较好教材ؓStallings
?Computer Organization and Architectureesigning for Performance"(清华影印
?。国际上最行的则是“Computer architecture: aquantitative approach", by
Patterson & Hennessy?br />操作pȝ可以随便选用《操作系l的内核设计与实现》和《现代操作系l》两书之
一。这两部都可以算l典Q唯一~点是理论上不够严根{不q这领域属于Hardcore
System,所以在理论上马虎一点也情有可原。想看理论方面的推荐清华大学出版社《操
作系l》吧Q高教司叔R张尧学写的,我们教材用的是那本?另外推荐一本《Windows
操作pȝ原理》机械工业出版社的,q本书是我国操作pȝ专家在微软零距离考察?br />q_写作历时一q多写成的,教操作系l的专家除了清华大学的张学Q现高教司司
长)几乎所有h都参加了。Bill Gates亲自写序。里面不但结合windows2000,xp详述?br />作系l的内核Q而且后面讲了一些windows~程基础Q有外版书的味道Q而且上面一些内
容可以说在国内外只有那本书才有对windows内核l致入微的介l,
如果先把形式语言学好了,则编译原理中的前端我看只要学四个法Q最Ҏ实现
的递归下降Q最好的自顶向下法LL(k)Q最好的自底向上法LR(k)QLR(1)的简化SLR
(也许q有另一化LALR)。后端完全属于工E性质Q自然又是another story?br />推荐教材QKenneth C.Louden写的“Compiler Construction Principles and
Practice”即是《编译原理及实践》(机械工业出版C译本Q?br />学数据库要提醒大家的是,会用VFPQVB, Power builder不等于懂数据库?q世?br />上自以ؓ懂数据库的h太多了!)数据库设计既是科学又是艺术,数据库实现则是典型的
工程。所以从某种意义上讲Q数据库是最典型的一门计机评——理工结合,互相?br />透。另外推荐大家学完Y件工E学后再过来看看数据库技术,又会是一番新感觉。推
荐教材:Abraham Silberschatz{著?"Database System Concepts".作ؓ知识的完?br />性,q推荐大家看一看机械工业出版社的《数据仓库》译本?/font>
计算机网l的标准教材q是来自Tanenbaum的《Computer Networks》(清华大学有译
本)。还有就是推荐谢希仁的《计机|络教程》(人民邮电出版C)问题讲得比较?br />楚,参考文献也比较权威。不q,|络也属于Hardcore SystemQ所以光看书是不够的?br />多读RFCQhttp://www.ietf.org/rfc.htm里可以按~号下蝲RFC文档。从IP的读赗?br />{到能掌?0U左叛_用协议,没有几个h敢小看你了。再做的工作我看攑֜|络?br />计上比较好了?/font>
数据l构的重要性就不言而喻了,学完数据l构你会对你的编E思想q行一番革命性的
z礼Q会对如何徏立一个合理高效的法有一个清楚的认识。对于算法的建立我想大家
应当注意以下几点Q?br />当遇C个算法问题时,首先要知道自׃前有没有处理q这U问?如果见过,那么你一
般会利地做出来;如果没见q?那么考虑以下问题:
1. 问题是否是徏立在某种已知的熟悉的数据l构(例如,二叉??如果不是,则要自己
设计数据l构?br />2. 问题所要求~写的算法属于以下哪U类?(建立数据l构,修改数据l构,遍历,查找,
排序...)
3. 分析问题所要求~写的算法的数学性质.是否具备递归特征?(对于递归E序设计,只要
设计出合理的参数表以及递归l束的条?则基本上大功告成.)
4. l箋分析问题的数学本?Ҏ你以前的~程l验,设想一U可能是可行的解军_?
q证明这U解军_法的正确?如果题目对算法有时空斚w的要?证明你的设想满?br />要求.一般的,旉效率和空间效率难以兼?有时必须通过建立辅助存储的方法来节省?br />?
5. 通过一D|间的分析,你对解决q个问题已经有了自己的一些思\.或者说,你已l可
以用自然语言把你的算法简单描q出?l箋验证其正?努力发现其中的错误ƈ扑և
解决办法.在必要的时?发现了无法解决的矛盾),推翻自己的思\,从头开始构?
6. 认你的思\可行以后,开始编写程?在编写代码的q程?可能把各种问题考虑
得详l?周密.E序应该h良好的结?q且在关键的地方配有注释.
7. 举一个例?然后在纸上用W执行你的程?q一步验证其正确?当遇C你的设想
不符的情冉|,分析问题产生的原因是~程斚w的问题还是算法思想本n有问?
8. 如果E序通过了上q正性验?那么在将其进一步优化或化?br />9. 撰写思\分析,注释.
对于具体的算法思\,只能靠你自己通过自己的知识和l验来加以获?没有什么特定的
规律(否则E序员全部可以下岗了,用机器自动生成代码就可以?.要有丰富的想象力,?br />是说当一条\C通时,不要ȝ角尖,要敢于推自qx.我也只不q是初学??br />Z面的一些经?仅供大家参考和讨论?br />关于人工Q我觉得的也是非常值得大家仔细研究的,虽然不能是刚刚兴v?br />学科了,但是l对是非常有发展前途的一门学U。我国h工智能创始h之一Q北京科技
大学涂序彦教授(q老先生是我的导师李小坚博士的导师Q对人工q样定义Qh?br />是模ѝg伸和扩展Z自然的智能的技术科学。在国人工官方教育|站?br />对h工智能作了如下定义:Artificial Intelligence, or AI for short, is a
combination of computer science, physiology, and philosophy. AI is a broad
topic, consisting of different fields, from machine vision to expert
systems. The element that the fields of AI have in common is the creation of
machines that can "think".
q门学科研究的问题大概说有:
Q?Q符号主义: W号计算与程序设计基Q知识表达方?Q知识与思维Q生式?br />则,语意|络Q一阶谓词逻辑问题求解ҎQ搜索策略,启发式搜寻,搜寻法Q问?br />规约ҎQ谓词演:归结原理Q归l过E专家系l:建立专家pȝ的方法及工具
Q?Q联接主义(经|络学派Q:1988q美国权威机构指出:数据库,|络发展呈直U?br />上升Q神l网l可能是解决人工的唯一途径?br />我想对于人工的学习,大家一定不要像学数学似的及一些现成的l论Q要学会?br />析问题,最好能利用E序设计实现Q这里推荐给大家ACM最佛_士论文奖获得者涂晓媛?br />士的著作《h工鱼—计机动画的h工生命方法》(清华大学出版C)。搞人工生命?br />同学不会不知道国际知名的涂氏父女吧。关于h工智能的书当焉选《Artificial
Intelligence A New Synthesis》Nils J.Nilsson.ȝ嘛!
关于|络安全我也惛_q里说两句,随着计算机技术的发展Q整个社会的信息化水q突
飞猛q,计算机网l技术日新月异,|络成了当即C会各个工作领域不可~少的组成部
分,只要有网l存在,|络安全问题是一个必解军_的问题,学习|络安全不是
单单的收集一些黑客工具黑一黑别人的|站Q而是要学习他的数学原理,实现原理Q?br />搞清底层工作机制Q这h能解军_部分的现有问题和新出现的安全问题?/font>
关于计算机科学的一些边~科学我惌一谈Y件工E技术,对于一个企业,推出软g?br />不是是几个E序员坐在一P你写一D늨序,我写一D늨序呢Q显然不是。Y件工E?br />是典型的计算机科学和数学Q管理科学,心理学,C会学等学科的综合。它使我们这?br />搞理论和技术的入了一个社会。你所要考虑的不仅仅是程序的优劣Q更应该考虑E?br />序与软g的区别,软g与Y件品的区别QY件Y件品的市场前景Q如何去更好的与
Z。这斚w我还在学习阶D,以后q方面再写文章吧Q先推荐l大家几本书Q畅销
20q不衰的《h月神话》(清华大学中文版,中国电力出版C֪印版Q,《Y件工E??br />践者研I的Ҏ》(机械工业出版C译本)Q《h件》(据说每一位微软公司的部门l?br />理都读过q本书,推荐老M和想当老ȝ同学都看看,了解一下什么是软g企业中的
人)以及微Y公司的《Y件开发的U学与艺术》和《Y件企业的理与文化》(研究?br />件企业的制胜之道当然要研I微软的成功l验了!Q?/font>
关于计算机技术的学习我想是这LQ学校开讄M一门科学都有其滞后性,不要?br />认ؓ自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,
怎能保证没有被淘汰的一天,我想.NETq_的诞生和X#语言的初见端倪完全可以说明问
题。换a之,在我们掌握一门新技术的同时又有更新的技术生,wؓ当代的大学生
应当有紧跟科学发展的素质。D个例子,像有些同学总说Q我做网设计就喜欢直接
写htmlQ不愿意用什么Frontpage,Dreamweaver。能用语a写网固然很好,但有高效?br />手段你ؓ什么不使呢Q仅仅是Z昄自己的水q高Qunique? 我看真正水^高的是能
够以最快的速度接受C物的人。高U程序设计语a的发展日新月异,今后的程序设?br />像Z在说话一P我想大家从xml中应是有所体会了。难道我们真写个什么都要用
汇编Q以昄自己的水q高Q真是这样倒不如直接用机器语言写算了。反q来_惌
以最快的速度接受q利用新技术关键还是在于你对计机U学地把握程度?/font>
计算机技术牵扯的内容更ؓq泛些,一一说恐怕没个一q半载也说不清。我只想?br />醒大家的q是那句话,技术与U学是不能分家的Q学好了U学同时搞技术,q才是上?br />{。犹如英语,原先Z与老外交流必须要个译Q现在满马\的h都会说英语。就q?br />21世纪p演讲比赛的冠军都轮不到英语系的学生了。计机也是一LQ我们必面
对的一个现实就是:计算机真只是一个工P如果不具备其它方面的素养Q计机p?br />的学生虽然不能说找不到工作,不过L一天当其他专业性h才掌握了计算机技术后?br />比我们出色许多。原因就在于计算决的大都是实际问题,实际问题的知识却是我?br />有的。单一的计机技术没有立之地?br />我想是时候指出:学习每一个课E之前,都要先搞清这一评的学习目的。这一?br />U的应用领域。据我自w所了解到的同龄同学和低q的同学的学习状况Q他们之中很
有人知道学一个学U的学习目的Q期末考试l束了也不知道学q科做什么用。这失
M读计机U学的意义。当然这与现存的教育思想不能说一点关p都没有?br />ȝ来说Q从教育角度来讲Q国内高校的评安排不是很合理,理论Q又不愿意在
理论上深入教Ԍ无力接受新技术,想避开新技术又无法避得一q二净。我觉得关键?br />题就是国内的高校难于H破现状Q条条框框限制着怎么求发展。我们虽然认识得到国?br />教育的优性,但ؓ什么迟q不能采取行动?哪怕是ȝ取精的取那么一点点。我们需
要改变。从我们自n角度来讲Q多Ch4q下来既没有学习计算机科学的学术水^Q也?br />有学习计机技术的那种韧劲。在我刚上大一Ӟ我的计算机科学入门导师,淮北煤炭
师范学院王爱qx授曾l对我说q这样一番话Q“当你选择了计机q一门科学,意
味着你踏上了一条不归\Q就意味着你一生都要ؓ之奋斗……你的n后是悬崖Q只有向
前走Q不能往后退。?br />有些同学说按照这样学习学的东西太多,有的未见得有用,我想打个形象的比方:
学校学出来的人都是一个球体,Ҏ面面的知识都应具备。可是社会上需要球体的地方
很少Q反而需要的是砖和瓦Q即_N某一行的人才。但是对于同{体U的物体Q用球体
来改造是最方便最省事的。学校的学生很多Qؓ了能够更多的学生来适应q个C会Q?br />学校也就不得以把所有的学生都打造成一个球体,然后让社会对q些学生q行再加工,
成ؓ真正能够有用的h才。即使你非常清楚自己的将来要q什么,q且非常下定军_?br />走自q路,q一步你也必走Q世界是在不断变化的Q你不能预料未来。想清楚Q努
力去q吧Q?br />必须l束q篇“胡侃”了Q再侃下去非我力所能及。其实计机q有很多基础N值得
一侃。怎奈我造诣有限Q不敢再让内行ȝ。对于博大精q计算机科学,我只能说?br />永远都是个Beginner.最后声明:q些只针ҎU阶D늚学习。即使把q些全弄通了Q前
面的路还长,计算机科学需要我们ؓ之奋?.....学习计算机科学需要韧性,更需要创
斎ͼ需?**。深d习理论知识,勇于接受新技术的挑战Q这才是我们q一代h应具
有的素质。最后送大家一句话“Wake up every day with a feeling of passion for
the difference technology will make in people's life!”?/font>
在我大一时无意中扑ֈ了南京大学网友sir的帖子“胡侃(理论Q计机学习”,q个?br />子对我的大学生活起了臛_重要的作用,也因此同他成Z好友Q本帖子在原有帖子的
基础上改q了其中我认Z太合适的理论Q修正了一些观点,在推荐教材方面结合我?br />学习情况有了较大改变。值得一提的是增加了一些计机理论的内容,计算机技术的?br />容结合我国的教学情况和我们学习的实际情况q行了重写。感谢大家的支持Q这文?br />才能比较快的完成Q这里也只是写下了我在学习计机U学时的所思所惻I很不成熟?br />与原文相比增加了一些推荐参考书Q删M一些过陈旧的难以找到的材料。ƈ且对一?br />问题作了更ؓ详细地阐qͼ也增加了一些新观点。希望大家多多讨论,改进不Q让?br />们共同努力吧Q?/font>