关于NotNet的理解和学习方法
在这里我只推荐很少的一部分资源,但因为我
们的时间和精力都有限,这些已经足够你成为
高手中的高手了。
[1]开发工具及相关下载:
(1)我的ftp:
202.200.238.199user:guest pass:guest
在这里有绝大多数的开发工具(当然包括Dot Net),我同时也会经常更新。在你某个开发工具时,可先来这里看一下。
(2)MSDN下载:
MSDN开发中心下载(中文):
www.microsoft/downloads/search.aspx?displaylang=zh-cn&categoryid=10 MSDN Download and Code Center(英文):
sql自学难吗msdn.microsoft/downloads/
这是微软的官方站点,英文的资源多一点,如果在中文站点没到,可去英文的看看。[2]开发社区及学习资料:
(1)CSDN:
首页:
www.csdn/
CSDN技术社区[C#]:community.csdn/expert/forum.asp?url=/Expert/ForumList.asp?
roomid=5201&typenum=1&xmlsrc=&whichpage=1
CSDN技术中心[Dot Net文档列表]:
dev.csdn/articlelist.aspx?c=14
CSDN就啥都不说了,号称亚洲最大,其实啥人都有,别看花眼啊。
(2)MSDN[中文网站]:
www.microsoft/china/msdn/
首先我先给出微软对DotNet定义:
“Microsoft.NET是Microsoft.NET XML Web Services平台。XML Web Services允许应用程序通过Internet进行通讯和共享数据,而不管采用的是哪种操作系统,设备或编程语言。Microsoft.NET平台提供XML Web Services并将这些服务集成在一起,为个人用户的好处是无缝的,吸引人的体验。”
DotNet中的语言是面向构件(组件)编程的典范。在这里我看到了语言层次的进步,C那代语言是面向过程,C++那代是面向对象,而到了DotNet则是面向构件。
【书籍】《.NET Framework程序设计》(修订版),不多介绍了,这本书必读,否则你就不叫懂DotNet,这本书的有些内容你可能有点看不懂,不过没关系,随着你以后的深入,你就
会明白了。《设计模式》(我未读过)和《重构》,
软工双杰的称号不是吹出来的,呵呵,开始吧。
不过,我推荐看《C#设计模式》,因为那本《设
计模式》据说太过抽象,很难看懂,并且里边
还是用C++描述的,不适合初学者阅读。看完之
后还推荐一本《设计模式精解》,书如其名,相
信可以给你带来新的感受。
深入阶段:
目标:学习DotNet的高级技术
具体实现:关于DotNet的高级技术,有很多方面(太多了),其中有很多我们可能到工作阶段才能够深入了解。但是现在了解一些不无好处,我在下面只列出了很少的几个,你可以从中选择几个学习。其中应该会有你已经熟悉的技术了,这是很正常的,本阶段不像开始的那几个阶段,比较灵活,它的
开始和结束具有灵活性,由你进行控制。
(1)线程操作:
这是提高软件并发性的基础,无论是桌面开发还是网站编程,相信你都会遇到它。强烈建议打好基础。在这里DotNet下还没有本专题的好书,只能推荐这本《C#/VB线程手册》,不过此书正如其名,它只是带着你将托管线程的类库浏览了一番,关键的东西都未提到,因此你只有到网上看一些有关线程的资料了。不过在这里,我又要拿Java出来了,《Java线程编程》(我未看过),这本Java线程方面的经典之著应该不会让你失望。
(2)网络编程:
这个重要性不说了吧,就是套接字那套东西。不过这可不是令人头疼的Winsock了,DotNet对Winsock进行了包装,使其变得好用很多。强烈推荐:《C#网络编程》,它非
常系统的介绍了网络编程的原理和方法,看完之后,编个QQ或Serv-U应该不成问题,总之不容错过。
(3)数据库编程:
这个好没意思阿,我也不大懂,又不能帮你了。基本的就是一些数据库sql语句和存储过程,同时还要
对常见的DBMS有一些了解就行了。如果想在这个领域深入的话,那就要熟悉某种DBMS的性能特点,同时提高数据库分析和设计的能力。
(4)CLR和DotNet底层知识:
学了之后短期内应该没用,不过如果像我一样待着没事的话,看看DotNet的内部运作机理还是挺有意思的。推荐:《高级.NET程序设计》和《.NET本质论》(此本有难度)。
(5)分布式:
它就是.NET Remoting,这是非常有用的一
种技术,我也在学习中。推荐《.NET remoting
技术手册》,不过还要到网上多看别人的例子。
(呵呵,让我们忘掉复杂的COBRA吧)
(6)Web Services:
这是将来的基础应用平台,现在应用的也很广泛。我对这个知识了解一些基础的知识。
没法推荐高深的,只推荐一本O’Reilly的《.Net Web服务》,是本很好的入门教材。
(7)Pocker PC和Smartphone:
热门领域,不过同样也没什么书籍可以参考,同样我也没法帮你,到网上吧。
成果:你现在对这几个DotNet的高级技术都有了了解,将来(应当是工作时了)你应该会精通其中的
某几项技术,这是你就是DotNet技术专家了。当然,别忘了,学习完这些技术后,编几个东西熟悉一下啊。
[5]superman阶段:
目标:提高系统分析和设计的能力,提高OOA/OOD的能力,还有着众多的项目经验。
同时还对DotNet中各项技术都有了新的认识,不再拘泥于技术细节,能做到在最恰当的场合应用最合理的技术(不一定是最先进的技术),同时还能对将来的技术趋势做出自己的分析和把握。
过程:。。。。。。
成果:我该怎么称呼你呢?我亲爱的DotNet架构师。
学习软件开发的指导(baidu)
在我学习的时候走了至少3年的弯路,那个时候没有人告诉我该如何去学习,养成什么样的学习习惯,用什么样的学习方式,走什么样的技术路线,只是用自己的理想坚持到了最后,很苦,那个时候家庭的经济也到了崩溃的边缘,学费都要出去借,唉不想了现在好了。
既然也选择了软件开发的专业,所以不想让再走弯路。
程序员马上要做的事,希望他少走弯路,贴出来,博友们帮助看一下,那里有疏漏,提提建议
1.马上就开始做!
2.外事不决问Google,微软还有一个Bing
3.习惯并强迫自己阅读英文资料。
4.善于积累和整理资料,做我们这个行业的,
资料(数据)是无价的;
5.习惯每天写博客,我推荐他来博客园,因为
这里提供开放的环境。
wwwblogs/
6.习惯每天阅读订阅最新技术信息,从不放过任何一条知识。
7.习惯跟踪最新的技术和业界新闻。
8.UI工具Expression Studio3。
9.最简单的学习方式,就是单刀直入,直接做要达到的事情,比如我要学编程,最多的事情就是看代码,我要学英语,做的最多的事情就是直接去使用英语。
10.确定开发方向,对于Client我推荐Silverlight和Phone方向,但是Asp.Net(网页程序)也是要学习的基础。
11.快速的搭建开发所用的环境Silverlight Tools,Mobile6SDK
12.善于使用最新的软件工具,比如RSS阅读器,WebCast的iReaper下载视频等等,Windows Live Writer记录笔记
13.安装Windows Server2008R2操作系统,搭建虚拟化开发环境。
14.安装Visual Studio2008Sp1和Visual Studio2010,精通C#打好基础
15.安装SQL Server2008sp1精通使用,标准SQL是基础,了解多维数据库和空间数据库,嵌入式数据库打好基础。
16.了解虚拟化是什么会使用Hyper-V Server。
17.了解云计算服务是什么,并体验其滋生出来的产品服务。
18.了解软件的开发流程,
19.了解软件架构,设计模式,建模符号UML
20.打好C#基础,打好设计模式基础,打好软件架构基础,打好数据库设计基础,打好产品开发意识,成本控制意识。
21.关于系统安全不要浪费时间,杀毒选用Nod32,MSE,习惯备份系统镜像,虚拟硬盘
22.如果要买台式机电脑,建议购买配置AMD处理器羿龙II4X,主板AMD790GX,DDR38G 金士顿,硬盘1T32M-64M缓存SATA7200,24LED显示器,因为AMD处理器大多都支持虚拟化技术,没有虚拟化是不行的。
23.不乱结交朋友,不炫耀自己的技术,忠诚热爱自己的技术。
24.精神--学习是一种信仰,一种追求,一个理想,不是应付生活,应付人生,应付答案,那么最后应付的人就是你自己。
25.对待做每一件事情都要以成功为结果,去努力做成功的事情,你才是成功的人,可想什么事情别人做都能成功,而如果换作是你做不是这个原因就是那个原因,那将会是多么悲惨的事情。
26.敏捷的思维模式很重要,成功的人的思维是一种定式的,模式化的,可想如果你不去锻炼自己的能
力,不去努力跟随和提高自己的理解力,当你在人中,别人所沟通的问题,你无法去理解,那么别人还会与你交流吗
27.追求更高,更远的目标,并将你的信心传递给每一个人,影响每一个人,你是一个可以成功的人,拒绝说出“哎~,能到工作就行啦,哎~,能呆着这里就可以啦”,这不是我们
家里人的性格
28.热爱我们的家庭,我们的传统,我们的追求,
永远不要忘记我们出生在一个工人家庭,并以
拥有像爷爷奶奶这样吃苦耐劳精神感到骄傲,
做宽容勤劳的人骄傲。
怎样学习软件开发技术
1区分计算机科学与计算机技术
“科学技术”往往是连在一起的,但事实上“科学”与“技术”是有区别的。
计算机科学主要研究理论,而计算机技术则是这些理论在实践中的应用。打个比方:编译理论是科学,而具体的编译器如VBC(微软公司开发的VB.NET程序编译器)就是技术了;操作系统原理是理论,而Windows就是理论应用于实践的产品,因而归结于技术范畴。
讲到这里,读者可能明白了,计算机科学家就是指那些从事计算机理论研究的人,目前,我国高校中
计算机系开设的大部分课程都属于计算机科学范畴的课程,比如《数据库原理》、《操作系统》、《计算机图形学》、《人工智能》、《算法理论》、《数据结构》等,而另一些课程则属于技术范畴:比如《Visual Basic程序设计》、《SQL Server数据库开发》等等。还有一些课程,比如《面向对象程序设计》、《软件工程实践》等往往同时涉及理论和技术,因而是“混血儿”。
“科学”与“技术”的区别,自然地将从事计算机工作的人分成了两大块:计算机科学研究者与计算机技术工程师。前者研究的是理论,是计算机科学,人数较少,他们从事的工作是往计算机科学大厦中添砖加瓦的工作,是新知识的发现者,一般而言,只有非常优秀的人才能进行理论研究工作,后者研究是技术,属于工程范畴,他们关注的是如何把一个好的软件,一个好的系统给实实在在地做出来,大部分人属于这个范畴。
计算机技术总体上又分为软件与硬件两大块,硬件工程师研究的是芯片、是集成电路、是板卡等“实实在在”可以“摸得着”的东西,而软件工程师则编写程序,驱动各种各样的硬件完成工作。
在计算机技术中,有一个并不严格但众所周知的“软硬定律”:
任何一项由软件完成的功能,也可以用硬件实现,反之也一样。
比如Java虚拟机,它原先属于软件范畴,但如果将整个虚拟机烧录到硬件芯片中,然后在它上面跑Java程序,那你说现在这个虚拟机是“硬件”还是“软件”?这个界限已经模糊了。
本书所介绍的.NET,属于软件技术范畴,换句话说,如果你想成为一名软件工程师,就可以看这本书。
2.NET与Java
Java是上世纪九十年代诞生的一种面向对象语言,它吸取了C++的许多长处,其最大的特性是“跨平台”,由于它很好地满足了网络时代信息系统对高级语言的要求,因而在实践中得到广泛应用。
Java经过近十年的发展,目前已在企业信息系统开发领域占据了主流地位,形成了一整套完整的技术体系,取得了巨大的成功。
.NET是微软推出的一种新的软件运行平台,它包括一整套应用范围广泛的技术,旨在迎接Java所带来的挑战。.NET给软件开发带来了很多新的技术,尤其是它的“混合语言”开

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。