ASP.NET学习路线图

虫虫 发表于 2009-04-28 09:26:48

最近在给人讲asp.net的课程,在网上转一个asp.net学习路线图

如果你已经有较多的面向对象开发经验,跳过以下这两步:

第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!

第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模 型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。 出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。 在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。

第一步:学习HTML与CSS

这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。 学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

第二步:学习JavaScript.JavaScript不是Java

它 主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的 HTML代码,从而达到动态修改网页显示特性的目的.JavaScript在目前的网站开发中用得很多,非常重要。另外,它也是目前非常流行的AJAX技 术的基础。

第三步:学习计算机网络原理

找一本大学教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术

会设计Web页面需要结合先前打好的面向对象技术的基础,至少掌握以下内容
(1) 各种Web控件的使用方法
(2) 理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。
(4) ASP.NET实现事件驱动的内幕
(5) 自定义用户控件

再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

第五步 掌握数据库技术

具体地说,要学习以下内容:
(1) 学会使用SQLServer2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建
存储过程
(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法
(3) 学习数据绑定控件的使用

第六步 理解多层架构

这 时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。可 以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。有的朋友 问:学习架构是不是必须学习设计模式。

我 的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模 式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案 就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步 学习XML与Web

先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。

学到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

第八步 学习AJAX

学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

第九步 学习RIA技术

RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一 路行来都是微软路线。不过目前学习它主要是为了技术储备。估计此技术的普及需要2到3年的时间.

阅读20次 评论1条 个人主页 扔小纸条 文件夹: ASP
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

.Net几大优点

虫虫 发表于 2009-04-28 08:46:40

一:什么是.NET?它包括什么?

.Net是为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。

.Net主要包括公共语言运行时(Common Language Runtime)和.Net构架类库

 

二: .NET的主要优点有哪些?

    .Net的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持.

    <a>.Net支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得

       以重用,目前.Net支持的语言达二十多种。

    <b>.Net通过将各语言先编译成中间语言(IL),然后再执行时用即时编译器(Just In Time)将之编译成本

       地平台代码来实现异构平台下对象的互操作,目前.Net支持的平台有Windows,LinuxUnix的支持正

       在开发中。 

    <c>.Net通过公共语言运行时(Common Language Runtime)来实现资源对象,类型的安全.

    <d>.Net通过对HTTP,XMLSOAPWSDLInternet标准的强劲支持提供在异构网络环境下获取远程服务,

       连接远程设备,交互远程应用的编程界面.

 

三: .Net中的公共语言运行时(Common Language Runtime)指什么?它在.Net中处什么位置? 

    CLR(Common Language Runtime)公共语言运行时是整个.net framework构建的基础,是实现.Net跨平

    台,跨语言,代码安全等核心特性的关键。它实际上是驻留在内存里的一段代理代码,负责在.net

    整个执行期间的代码管理工作,比较典型的有:内存管理,线程管理,远程管理,代码强制安全类型

    等。这些都可称得上.net framework的生命线。实际上,CLR代理了一部分操作系统的管理

    功能。

 

四..Net构架类库是什么?包括哪些内容?

    <a>.Netl构架类库是基于运行时面向对象的特性而建造的,和CLR紧密集成的一族可重用类(Class)的集

        合。它大大简化了软件开发的难度,而且很容易与第三方组件无缝集成.

    <b>.Net架构类库主要包括对一下编程模型的支持:1.控制台应用程序 2.脚本与宿主应用程序

       3.Windows Form应用程序 4.asp.net应用程序 5.WebService应用程序.

 

五..Net支持的开发语言有哪些?.Net语言的互操作性是指什么?

<a>Net声称支持市面上20多种语言,但目前只有微软官方发布的C#,Visual Basic.Net,Managed C++,和

Jsript,其他厂商声称正在开发中的支持工具有COBOL,Eiffel,Perl,Smalltalk,Python。

<b>.Net语言的互操作性是指遵循CLR规范的语言在对象继承方面的支持,即用一种语言在.Net平台下开

发的类可在另一语言中重用,这通过一种称作微软中间语言MIL来实现,即语言编译器首先将该语言

编译成微软中间语言,再在相应平台下编译出本地代码。这一切都是在CLR的规范下进行的。

.Net与COM的关系是什么?.Net是否意味着COM的终结?

COM定义了组件对象间通信的二进制标准,.Net通过组件内置的类型系统提供了类似的机制,它为此提供

了另一个途经。.Net并不意味着COM的终结,但必将大大减少开发人员对COM的依赖。.Net 支持COM

和.Net组件之间的互操作性,实际上可通过Runtime Callable Wrapper(RCW)来实现在.Net中获取COM组

件,通过COM Callable Wrapper(CCW)来实现在COM中获取.Net组件。

 

七..Net的中间语言(IL)是什么?它在.Net平台中起什么作用?开发人员可以用中间语言(IL)编程吗?

.Net中的中间语言是指可以在普通语言运行时规范下,.执行时通过即时(Just In Time)编译器转化为本

地代码的,与CPU独立的一族指令集合。它在.Net平台中是实现语言互操作的一个核心环节,所有.Net平

台的语言都要先被编译成中间语言(IL)。程序员也可以直接利用中间语言(IL)来编程,但不推荐那样

做,中间语言对理解.Net对象某些行为和程序的调试很有帮助

 

八 ..Net中的自动垃圾收集是什么?它给.Net平台下的编程带来什么变化?

.Net垃圾收集器负责整个.Net运行时受管代码的内存分配与释放任务。它通过一定的优化算法来选择收

集的对象和时间。程序员只有在释放大量受管资源时可以进行立即强制垃圾收集,在释放非受管资源时

采用终止化(Finalize)操作来处理,需要在程序运行中释放的应该实现Dispose()方法,并明确调用。

其它时间将资源的回收交由.Net垃圾收集起来做。

 

九..Net的受管(Managed)代码与非受管(Unmanaged)代码指什么?他们的编码有什么区别?

.Net的受管代码(Managed Code)是指符合普通语言运行时(Common Language Runtime)规范,在内存中受

运行时代码代理进行内存管理,线程管理,远程管理,代码强制安全类型的代码。非受管代码指对内

存,文件,数据库等非受管资源进行操作的代码,他们通常不受运行时代码代理管理,是不安全的。对受

管代码的编程只需专注于编程的逻辑,对于内存等资源的管理交由普通语言运行时(Common Language

Runtime)来负责,而对非受管代码的编程,则要开发人员精心负责各种非受管资源的分配和回收工作。

关键词(Tag): .net
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

优秀程序员的十个习惯

虫虫 发表于 2009-03-25 08:56:20

兄弟没有忙什么,这几天在网上看到一篇文章还不错,给大家分享一下吧!!!

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人能够成为一个优秀 的编码人员,他们非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个 条目成为你的习惯,那么你才能真正算得上是优秀程序员。

1. 学无止境。就算是你有了10年以上的程序员经历,你也得要使劲地学习,因为你在计算机这个充满一创造力的领域,每天都会有很多很多的新事物出现。你需要跟 上时代的步伐。你需要去了解新的程序语言,以及了解正在发展中的程序语言,以及一些编程框架。还需要去阅读一些业内的新闻,并到一些热门的社区去参与在线 的讨论,这样你才能明白和了解整个软件开发的趋势。在国内,一些著名的社区例如:CSDN,ITPUB,CHINAUINX等等,在国外,建议你经常上一 上digg.com去看看各种BLOG的聚合。

**

2. 掌握多种语言。程序语言总是有其最适合的领域。当你面对需要解决的问题时,你需要找到一个最适合的语言来解决这些问题。比如,如果你需要性能,可能 C/C++是首选,如果你需要跨平台,可能Java是首选,如果你要写一个Web上的开发程序,那么PHP,ASP,Ajax,JSP可能会是你的选择, 如果你要处理一些文本并和别的应用交互,可能Perl, Python会是最好的。所以,花一些时间去探索一下其它你并熟悉的程序语言,能让你的眼界变宽,因为你被武装得更好,你思考问题也就更为全面,这对于自 己和项目都会有好的帮助。

3. 理性面对不同的操作系统或技术。程序员们总是有自己心目中无可比拟的技术和操作系统,有的人喜欢Ubuntu,有的人喜欢Debian,还有的人喜欢 Windows,以及FreeBSD,MacOSX或Solaris等等。看看我的BLOG。只有一部分优秀的程序员明白不同操作系统的优势和长处和短 处,这样,在系统选型的时候,才能做到真正的客观和公正,而不会让情绪影响到自己。同样,语言也是一样,有太多的程序员总是喜欢纠缠于语言的对比, 如:Java和Perl。哪个刚刚出道的程序员没有争论去类似的话题呢?比如VC++和Delphi等等。争论这些东西只能表明自己的肤浅和浮燥。优秀的 程序并不会执着于这些,而是能够理性的分析和理心地面对,从而才能客观地做出正确的选择。

4. 别把自己框在单一的开发环境中。 再一次,正如上面所述,每个程序员都有自己忠爱的工具和技术,有的喜欢老的(比如我就喜欢Vi编辑程序),而有的喜欢新的比如gedit或是Emacs 等。有的喜欢使用像VC++一样的调试器,而我更喜欢GDB命令行方面的调式器。等等等等。程序员在使用什么样的工具上的争论还少吗?到处都是啊。使用什 么样的工具本来无所谓,只要你能更好更快地达到你的目的。但是有一点是优秀程序员都应该了解的——那就是应该去尝试一下别的工作环境。没有比较,你永远不 知道谁好谁不好,你也永远不知道你所不知道的。

5. 使用版本管理工具管理你的代码。千万不要告诉我你不知道源码的版本管理,如果你的团队开发的源代码并没有版本管理系统,那么我要告诉你,你的软件开发还处 于石器时代。赶快使用一个版式本管理工具吧。CVS 是一个看上去平淡无奇的版本工具,但它是被使用最广的版本管理系统,Subversion 是CVS的一个升级版,其正在开始接管CVS的领地。Git 又是一个不同的版本管理工具。还有Visual SourceSafe等。使用什么样的版本管理工具依赖于你的团队的大小和地理分布,你也许正在使用最有效率或最没有效率的工具来管理你的源代码。但一个 优秀的程序员总是会使用一款源码版本管理工具来管理自己的代码。如果你要我推荐一个,我推荐你使用开源的Subversion。

6. 是一个优秀的团队成员。 除非你喜欢独奏,除非你是孤胆英雄。但我想告诉你,今天,可能没有一个成熟的软件是你一个人能做的到的,你可能是你团队中最牛的大拿,但这并不意味着你就 是好的团队成员。你的能力只有放到一个团队中才能施展开来。你在和你的团队成员交流中有礼貌吗?你是否经常和他们沟通,并且大家都喜欢和你在一起讨论问 题?想一想一个足球队吧,你是这个队中好的成员吗?当别人看到你在场上的跑动,当别人看到你的传球和接球和抢断,能受到鼓舞吗?

7. 把你的工作变成文档。 这一条目当然包括了在代码中写注释,但那还仅仅不够,你还需要做得更多。有良好的注释风格的代码是一个文档的基础,他能够让你和你的团队容易的明白你的意 图和想法。写下文档,并不仅仅是怕我们忘了当时的想法,而且还是一种团队的离线交流的方法,更是一种知识传递的方法。记录下你所知道的一切会是一个好的习 惯。因为,我相信你不希望别人总是在你最忙的时候来打断你问问题,或是你在休假的时候接到公司的电话来询问你问题。而你自己如果老是守着自己的东西,其结 果只可能是让你自己长时间地深陷在这块东西内,而你就更本不可以去做更多的事情。包括向上的晋升。你可能以为“教会徒弟能饿死师父”,但我告诉你,你的保 守会让你失去更多更好的东西,请你相信我,我绝不是在这里耸人听闻。

8. 注意备份和安全。 可能你觉得这是一个“废话”,你已明白了备份的重要性。但是,我还是要在这里提出,丢失东西是我们人生中的一部份,你总是会丢东西,这点你永远无法避免。 比如:你的笔记本电脑被人偷了,你的硬盘损坏了,你的电脑中病毒了,你的系统被人入侵了,甚至整个大楼被烧了,等等,等等。所以,做好备份工作是非常非常 重要的事情,硬盘是不可信的,所以定期的刻录光盘或是磁带可能会是一个好的方法,网络也是不可信的,所以小心病毒和黑客,不但使用软件方面的安全策略,你 更需要一个健全的管理制度。此外,尽量的让你的数据放在不同的地方,并做好定期(每日,每周,每月)的备份策略。

9. 设计要足够灵活。 可能你的需求只会要求你实现一个死的东西,但是,你作为一个优秀的程序,你应该随时在思考这个死的东西是否可以有灵活的一面,比如把一些参数变成可以配置 的,把一些公用的东西形成你的函数库以便以后重用,是否提供插件方面的功能?你的模块是否要以像积木一样随意组合?如果要有修改的话,你的设计是否能够马 上应付?当然,灵活的设计可能并不是要你去重新发明轮子,你应该尽可能是使用标准化的东西。所谓灵话的设计就是要让让考虑更多需求之外的东西,把需求中这 一类的问题都考虑到,而不是只处理需求中所说的那一特定的东西。比如说,需要需要的屏幕分辨率是800×600,那么你的设计能否灵活于其他的分辨率?程 序设计总是需要我们去处理不同的环境,以及未来的趋势。我们需要用动态的眼光去思考问题,而不是刻舟求剑。也许有一天,你今天写的程序就要移植到别的环境 中去,那个时候你就能真正明白什么是灵活的设计了。

10. 不要搬起石头砸自己的脚。程序员总是有一种不好的习惯,那就是总是想赶快地完成自己手上的工作。但情况却往往事已愿违。越是想做得快,就越是容易出问题, 越是想做得快,就越是容易遗漏问题,最终,程序改过来改过去,按下葫芦起了瓢,最后花费的时间和精力反而更多。欲速而不达。优秀程序员的习惯是前面多花一 些时间多作一些调查,试验一下不网的解决方案,如果时间允许,一个好的习惯是,每4个小时的编程,需要一个小时的休息,然后又是4个小时的编码。当然,这 因人而异,但其目的就是让你时常回头看看,让你想一想这样三个问题:1)是否这么做是对的?2)是否这么做考虑到了所有的情况?3)是否有更好的方法?想 好了再说,时常回头看看走过的路,时常总结一下过去事,会对你有很大的帮助。
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

ZZ IT学习力

虫虫 发表于 2008-07-04 10:33:52

自从《执行力》一书畅销之后,开始有很多书都流行取个「XX力」的名称,我也仿效这些作风,弄个「IT学习力」。不管处于任何行业,都必须每隔一段时间充实自己的技能,以免被淘汰。对于IT界来说,技术的「半衰期」更是相当短,所以「IT学习力」相当重要。

就如同CMM用五个层次来评估软件成熟度一样,我将IT学习力分成五个层次,分别描述如下:

【幼稚班】这个等级的人,相当被动,不会主动注意IT新知,不会主动学习IT技术。他总是等别人告诉他什么东西重要,等别人开班授课,等人教导。有任何技 术问题,不会去查网络,不会去查书,也不会动手做实验,只会开口问人,而对方回答不知道的时候,他也就算了,没有追根究柢的精神。

在这个等级的人,如果不进入下一个等级的话,通常不会在IT产业待太久(除非他已经熬成婆,成为中阶以上的主管了),毕竟IT产业可没这么好混。IT产业的人,学习力至少要在小学等级。

【小学】这个等级的人,已经具有主动学习的精神,但是英文能力不佳,限制了信息的取得与吸收。他们一看到英文就头痛,会去逛天珑书局,但只逛右手边(中文区),除了结账时,才会进入左手边(原文书与柜台区)。这个等级的人相当多。

其实,要离开这个阶段进入下一个阶段,对许多人来说,还真是满不容易的。毕竟英文阅读能力的培养,不是两三个月就办得到。更何况许多人在学生时代就对英文产生恐惧感,早就放弃英文了。因为英文不好,而限制了IT学习能力,真的很可惜。

我还发现,这个等级的人对许多「IT名人」或「知名IT作家」趋之若鹜,有偶像崇拜情节。他们把IT名人的话奉为圭臬,但往往只是复述偶像的话,却又说不出个道理来。

【中学】这个等级的人,习惯看IT英文书。习惯上Amazon.com网站注意最近有出版哪些IT英文书,以及读者对这些书的评价如何。这个等级的人,一 个月至少会买一本IT原文书。如果他所喜欢的IT原文书国内没进口,就会心急如焚,直接到Amazon.com等国外网站购买。

他还相当熟悉一些国外的知名作家和他们的作品,可以如数家珍地说出「Mr. X的上一本书是讲Y技术的;今年他会推出Z语言书籍的第二版,估计年底前出版。」

我还发现,IT学习力在小学和中学等级的人,似乎都很喜欢参加「技术研讨会」,还会真的把研讨会赠送的JavaT-Shirt穿上身、.NET背包背出门。搭捷运时遇到一身「研讨会赠品」行头的人,我都会忍不住说出「Oh! My God」。

【大学】这个等级的人,习惯看英文文件,并提前学习有可能会用到的技术。英文书的出版速度已经不能满足他们,他们往往抢先在任何英文书出版之前,就先学该技术,因此,他们必须透过英文文件学习。他们也会常常阅读官方关键人士的Blog

官方网站充斥着各种免费的文件,这些文件的阅读难度介于Spec(规格书)和商业书籍之间。最常见的这类文件包括了:User's GuideUser's ManualThe Whitepaper。这些通常是由官方的技术人员所编写,欠缺IT出版社专业编辑与美工的参与,所以阅读的质量距离商业书籍还有一段距离。

【研究所】这个等级的人,习惯看英文版的论文、SpecWorking Draft(工作草案)。这些资料通常份量不多,但很精确,也相当不容易阅读。许多文件都会交互参考,甚至有许多外部参考文件。

许多时候,他们还会去阅读源码,从源码中了解文件没提到的地方,或解决有疑义的问题。能够进入这个阶段,其实已经相当不容易,在IT产业算是菁英中的菁英了。

幼儿园学习力的人必须等官方把源码写完,公布严谨精确的Spec,几个月后官方依据Spec写成比较易懂的文件,半年后某专业作家用英文写出一本商业书 籍,再过一年后国内授权将这本书翻译成中文,再过半年后某培训单位找来老师开班授课。想想看【研究所】等级和【幼儿园】等级的信息接收速度差多少?精确性 又差多少?接受信息的速度差,得到的知识精确度也差,就表示没有竞争力。

评估一下你自己的IT学习力在那个层次,并积极往下一个层次,看看自己欠缺的是什么能力,然后给自己一段时间,逼自己在这段时间内进步到下一个等级。选择进入IT产业,你就走进了这样的宿命。

 

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

SQL Server2005导入MDF文件

虫虫 发表于 2008-06-23 11:11:51

在Sql Server Management Studio里连接上数据库后,选择新建查询,然后执行语句 
   EXEC sp_attach_db @dbname = N'DBNAME',
    @filename1 = N'D:\FileName.mdf',
    @filename2 = N'D:\
FileName.ldf' ;
数据就可以导入sqlserver2005了。

但这时导入之后,你会发现这个数据库的属性是只读的,所以在导入之前需做如下的

配置:

打开 SQL Server Configuration Manager, 打开SQL Server SQLEXPRESS 的属性

在内置帐号处,把“网络服务”改成“本地系统”,重新启动SQL Server 2005 Express 后,再附加(Attach)数据库一切正常。

总结:之所以附加(Attach)上的数据库为“只读”,是因为启动SQL Server 的默认的启动帐号“网络服务”对所附加(Attach)的数据库文件的权限不够造成的

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

BC30807: 不再支持“Let”和“Set”赋值语句

虫虫 发表于 2008-06-18 15:45:16

.NET与ASP的兼容问题:
1、BC30807: 不再支持“Let”和“Set”赋值语句
2、无法创建组件“adodb.connection”仅可在带有 <%@ Page aspcompat=true %> 页指令的页上创建单元线程组件
 
 
一、ASP原码(假设文件名为conn.asp)

<!--********conn.asp*********-->

<%
   dim conn
   dim sql as string
   set conn=server.createobject("adodb.connection")
   sql="driver={sql server};server=(local);uid=sa;pwd=;database=school"
   conn.open(sql)
   %>

 


 

二、把上面的代码复制到.NET中(假设文件名为conn.aspx)

<%@ Page Language="vb"  AutoEventWireup="false" Codebehind="Conn.aspx.vb"

Inherits="wuliu.Conn"%>
<%
   dim conn
   dim sql as string
   set conn=server.createobject("adodb.connection")
   sql="driver={sql server};server=(local);uid=sa;pwd=;database=school"
   conn.open(sql)
   %>

编译出现的错误如下:

1:BC30807: 不再支持“Let”和“Set”赋值语句

2:无法创建组件“adodb.connection”仅可在带有 <%@ Page aspcompat=true %> 页指令的页上创建单元线程组件

 


 

三、解决办法(添加下面红色的字并且去掉set)

<%@ Page Language="vb" aspcompat=true AutoEventWireup="false" Codebehind="Conn.aspx.vb"

Inherits="wuliu.Conn"%>
<%
   dim conn
   dim sql as string
   conn=server.createobject("adodb.connection")
   sql="driver={sql server};server=(local);uid=sa;pwd=;database=school"
   conn.open(sql)
   %>

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

李开复:21世纪最需要的7种人才

虫虫 发表于 2008-05-20 16:19:38


        我们都知道21世纪最有价值的是人才,是什么人才呢,就是我今天要演讲的题目。一个真正的创新实践者每一次在创新的时候都忘不了实践,在实践的时候也忘不了创新,这样的人,我想是21世纪不可缺少的人才。最后我做一个总结:在21世纪里面,我们需要认真读书的同学,但是我们更需要创新实践的人才。
我们都知道21世纪最有价值的是人才,是什么人才呢,就是我今天要演讲的题目。我想我这个演讲有一个很大的假设就是21世纪需要的人才与20世纪、19世纪有着很大的差别,因为21世纪有几个很重大的革命发生。在21世纪我们更多的工作是靠我们脑力的创造,是靠平等的竞争,已经没有国界的差别,世界被铲为平地,任何一个国家的人都可以和另外一个国家的人合作或者竞争,而他们都可以接触到、使用到、共享到同样的信息。不像过去,谁能独占信息他就能对另一个人或者对那个公司发挥相当大的价值。

  今天的信息是因为共享才能发挥它真正的潜力。所以在这样的情况下,每个人都可以自由地选择,平等地竞争,他们会积极地去获取自己的信息,追求自己的兴趣。他们期望自己工作的公司采取的不再是控制式的管理,而是放权式的管理。因为在21世纪,一个人他是靠自己的脑力创造财富,他很聪明很有创意,他跟全世界每一个人平等地竞争,然后每一个人都有同样的信息,没有一个人会愿意在一个不公平的控制下做一个公司的齿轮。每个人都会希望发挥自己的潜能,他希望自己到一个公司工作,这个公司能够放权地让每一个员工做自己的事情。还有呢,21世纪什么都改变得非常快。你才认为说某某一个技术或者某某一个公司是很火热的,忽然一个新的技术或者一个新的公司已经出来了。这都是因为互联网,每个国家,每个领域之间的边界因此在不断地消除,世界各地的人们可以一起工作,竞争和合作。所以在这样的一个环境之下,21世纪需要的不再是19、20世纪听话,没有自己意见,努力有毅力的所谓的蓝领或者白领工人,更需要的是我的演讲要谈到的7种人。

  1.创新实践者——What matters is not innovation , but useful innovation。

  这7种人中的第1种是创新实践者。在今天谈到的所有人时,我都会引用一句我认为很好的话。那么第一句话是谁说得呢,是我说的。这句话跟创新有关,待会还会谈到。我想说的是在21世纪真正有价值的人是能够创新的人。他不是一个只会使用别人的方法做事情的人,他不是那种只会听话做事情的一颗棋子,一个齿轮。因为,在如今的竞争之下,一个公司唯一可以延续的竞争优势就是它的创新。任何东西都可以很容易地被模仿,只有创新很难被模仿。而创新一旦被模仿,你唯一的办法就是继续地创新。所以一批有生命力的能够持续创新的员工是唯一能够带给企业持续竞争力的财富。

  你们可能会说,李开复是不是要讲Google,讲其他科技公司要学计算机科学,要做最高深的研究这才是创新呢?其实不是的。在每一个领域都可以创新,也就是这些每一个不同领域的创新,让每一个工作变得多彩多姿。我可以举个例子。如果你在美国加州101公路硅谷段上开车,你可能会看到一个广告牌。整个广告牌上面没有公司名也没有任何广告词,只简简单单刷着“(在‘e’的数列中所能找到的第一个十位数质数).com”。很多在硅谷工作的聪明人开车看到了这个广告,他们回家就会去算,有些用计算机来算,有些用数学方法来推算,算出来答案以后登陆这个网站一看,发现另外有一个更难的题目。然后他们再做了这道题目,又会到达另外一个网站,就着样做了一个题目又一个题目,最后他们发现自己到了一个很特殊的网站,这个网站就是Google的招聘网站。我们可以从这个例子看到,在Google这样一个创新的公司,它的创新其实远远不止在于一个工程部门。你可以看到招聘,市场都是充满了创意的。

  关于创新还有一点要注意的,21世纪的创新必须实时、实践。因为我们有了互联网的存在,每个公司的步伐都非常快。如果你花很多的时候去做一些验证,一些用户调查,再花一两年的时间才把一个东西编出来再做测试,一个产品四五年做出来以后很可能已经过时了。所以在这21世纪,光做一个创新者是不够的,要做一个创新实践者。这就回答了我上面那句话:What matters is not innovation, but useful innovation。只是为了创新而创新是没有意义的,要做有用的创新才是有意义的。

  记得我在SCI公司的时候,曾经犯过的一个最大的错误就是只想到创新,没有想到实践。我们做了一个非常酷的三维浏览器,今天可能都还没有人在使用。当时,我们每次演示的时候,观众的下巴都会掉下来,说:哇,怎么会做这么酷的一个东西!但是我们忘记了这么酷的东西却是没有市场的。最后结果是相当的失败,让我也有了一个很惨痛的经验,尤其是当我看到一百多名员工失去他们工作的时候,让我下了一个决心,就是上面这句话。

  我们虽然要创新,但是不是为了创新而创新,而是为了做有用的事情而创新。我们如果回顾历史,可以看到许多成功的人才,他们有些创新,有些实践,有些左脑发达,有些右脑发达。但是那些真正对世界有重大贡献的人,我想他们不仅是创新者,也是实践者,比如说爱迪生,比尔盖茨,Larry 和Sergey,都是很好的例子。一个真正的创新实践者每一次在创新的时候都忘不了实践,在实践的时候也忘不了创新,这样的人,我想是21世纪不可缺少的人才。

  2.跨领域合成者——What matters is not analysis but synthesis。

  第2点呢,我想非常需要的是跨领域合成者。刚才听到了竺可桢学院,它本身是多学科的,强化班也是由来自不同专业的同学组成的。这点确实也是非常符合了所谓的合成者。相信在中国的未来,在全世界的未来,我们更需要的人才不只是那些把一个学科学得非常非常深的,而是那些把自己学科学好,同时能够与其他领域做一个跨领域结合的人才。原因其实非常简单,如果是世界上有1000种知识,这个知识本身你可以学得很深,但是两个人的知识通过交叉碰撞又可以产生新的知识,三个人的碰撞就能产生十亿个组合。

  以计算机为例,如果你是学计算机的,又对心理学感兴趣,这样一个跨学科的合成,你可能对用户界面或者可用度测试会有一些贡献。所以,很多新的领域的产生,都是靠过去的两种学科所交叉碰撞出来的,这是一个很好的机会。如果把一门学科学得太深了,可能会去钻牛角尖,反而失去创新实践的机会。真正重要的不是analysis,不是要分析得很深,而是synthesis,怎么样有合成的机会。

  所以,对各位同学我的建议就是,当然读好你的专业是有必要的,但是同时要考虑下是否还有别的什么专业是你有兴趣的。这两个专业最新的思想能不能结合起来,做一些即有创意又可以实践的东西,这可能是最有成长空间的一些机会。

  3.高情商合作者——EQ is 9 times more important than IQ。

  第3种最需要的人是高情商合作者。EQ is 9 times more important than IQ,这句话来自Daniel Goleman的《EQ》这本书。《EQ》这本书谈到情商和智商的一些差别,还有哪个比较重要。他做了一个研究,找了几千个企业的领导者。他研究是什么因素让这些非常优秀的领导者和普通的领导者有所区别。他研究的结论最重要的差别不在于IQ,而是比IQ要更重要9倍的EQ,即情商。

  情商包括了怎样与人合作,包括了对自己的一种自觉,包括了对自己的一种管理,也包括了和别人团结合作以及社交的一些能力。EQ的重要性在21世纪是非常显著的,因为在21世纪,我们需要全球的合作,需要跨领域的合成。比如说你学的是心理学,你要跟学计算机的人合作才能做得出用户界面。跨领域的合作,跨国度的合作,跨语言的合作,这些都是必须要的。所以,过去也许在很多的环境里面,你作为一个孤僻自傲的天才会得到很大的重视,但是这个情况现在已经在大大地改变了。

  过去,我曾在我的人才观里提到,在这个信息社会里,与过去的工业社会很大的一个差别就是信息社会最好的一个人才,一个程序员、一个科学家,可能比普通人生产力好个3倍、5倍、10倍或者20倍甚至更多。但是我想在这里补充的一句话就是说,即使他在技术方面好个多少倍,如果他是一个孤僻自傲、不能合作,甚至引起团队无法工作的人,那么他对这个团队,反而是一个负面的效果。

  当我们做管理的时候,我们也必须考虑到,如果你要建立一个非常健康的团队,不管是在Google工作还是未来的Google Camp,一定要在每个人很客观高情商地愿意与他人合作,尊敬别人的前提之下,才可能有很好的结果,尤其是在21世纪这样一个情商和合作是那么重要的世纪里面。所以,我对各位同学的建议是,在你可以抓住的每一个机会里,多参与社团工作,多建立一些与人合作的基础,无论是在上课,还是参与社团项目,或是暑期工作的机会。让自己除了读书之外,多做一个能够与人团结、合作、客观、尊敬别人、聆听别人的一个高情商的学生。

   4.高效能沟通者——The man who can think and does not know how to express what he thinks is at the level of him who cannot think。

  第4种人是高效能的沟通者。一个人如果有思想但是不能表达自己,他其实就是一个没有思想的人,这句话其实相当的有道理。我想在座很多理工科的同学以前可能认为只要有思想就够了,不过这句话告诉我们你只有思想不能沟通,其实你是没有思想的。这句话其实并没有夸张,在21世纪全世界都是信息的前提下,很好的信息传播渠道还是经过人。人怎么传播信息的,靠沟通。一个人他的沟通能力很好,他可以把一个很难懂的信息很好地传播给别人。一个人沟通能力很差,他就无法传播信息,因此别人可能看不起他,认为他没有思想。所以沟通能力是非常需要学习的。

  这种沟通的能力怎么得到呢,我可以给同学们几个很好的建议。你沟通的时候一定要理解你的听众,你要知道你的听众在想什么,听众从你的讲话中能得到什么好处,即What’s in it for you。还有要注意说话的方式,不要用说教,而应该采取引导的方式。当你与别人沟通的时候,你要先想好你主要要传达的Message是什么,用听众能够接受的方式表达出来。

  5.热爱工作者——If you find a job you love , you will never work a day in your life。

  第5种非常需要的人才是热爱工作者。因为在全球被铲平之后,每一个人都是平等的。如果你能够做一个工作是你非常热爱的,那么你可能在睡觉、洗澡、吃饭时都在想你的工作。你可能就会更有热情去做你的工作。你不认为你的工作是一个枯燥的事情,而是可以享受的事情。所有就有这么一句话,有一天有个美国朋友到我的办公室来说你们的孔夫子实在是太聪明了。我说怎么回事呢。他说你看他讲的这句话多有道理啊:If you find a job you love, you will never work a day in your life。我就跟他说谢谢你夸奖我们的孔夫子,不过我实在想不起来孔夫子说了这句话。

  后来当天开车回家的时候我才想到可能是“知之者不如好之者,好之者不如乐之者”这句话。但是今天看起来,我认为可能这句英文的翻译还更贴切一些,在21世纪更能够被更多的人理解。因为如果你真的很爱你的工作,你就不是在工作了,你是在享受了。如果你是在享受的话,你一定会有更多的热情投入,更多的时间投入,更乐意去做更多的工作。到了星期五可能不想回家,到了星期天可能就想来上班了。那么你想比别人做得差可能都很困难。

  我们能看到的是,如果你能找到你的最爱,你的一生都会过得比较快乐。所以各位同学,如果你们还没找到你们的最爱,我的建议是保持一颗好奇的心,多去尝试不同的事情。然后要理解你的专业和你的工作不见得是完全一样的。要多做咨询,了解有什么样的公司,什么样的环境,什么样的工作你毕业后可以从中选择。如果你在一个你喜欢的专业里面呢,珍惜它,好好地去找一份未来相应的工作。如果是在一个可以选择的十字路口,比如说考研,出国等等,这个时候你要好好地去选一个你真正喜欢的专业,而且也许把刚才谈到的跨领域合作的概念借鉴过来。并不是说我过去学的是一个不喜欢的专业,我就要从文科转到理科。也许你可以找到一个更好的跨越的台阶。如果你不喜欢你的专业呢,你也可以在这个专业里面尽量找一个大专业里面的小专业,也许是你比较喜欢的;或者你可以在一个你认为你比较喜欢的专业和你现在不喜欢的专业之间的交叉学科找一些机会。所以不管怎么样,最后能够找到你爱的事情,你就能发挥你的潜力,成为21世纪需要的热爱工作者。

  6.积极主动者——In a few hundred years , the most important event those historians will see is that for the first time , people will have a choice. They will have to manage themselves。

  第6种是积极主动者。这句话是Peter Drucker所说的。他说几百年之后,历史学家回顾今天,他们会说这个世纪里最重要的事情,不是互联网,而是人有了选择。有了选择就要积极主动,然后需要管理自己。这是最重要的一点,这也就是我们从工业社会转变到现在的信息社会所发生的最重要的事情。一个积极主动者他对自己的一切一定要负责,因为如果你自己不在乎,没有别人会比你更在乎,没有人会比你更知道你想做什么。在来到大学之前,一切都是消极,由父母来决定的。进入大学之后,要开始对自己的一切负责。不去解决也是一种解决,不做决定其实也是一种决定,这个决定就是让自己走入一个消极而不是积极的方向。
  在我出书的时候许多人喜欢让我把他们的座右铭写在书上,当我有时间的时候我也会尽量配合,但是有一句话我绝对是不写的,这句话就是沉默是金。因为在今天的环境里面,每个人需要合适地推销自己,让别人知道你的成果。因为如果你不表达,那其实别人就会认为你没有思想。当然,在适当的环境里,你才能做适当的表达,并不是要你抢别人的机会,也不是要你过分地做一个出头鸟。但是,如果你有一些想法有一些思想一定要表达出来。

  在这个21世纪里,每个人都有想法,都有信息。那些最有信息或者最有想法的人可能会得到很多或者更多的注意。比如说在这次成立Google Camp的时候,工作人员有一天来找我说我们这个Google Camp有一些想法你觉得怎么样?当时我记得非常清楚的就是我在全国20多个高校做巡回演讲的时候在那些学校见到了一些非常积极主动的同学。我就跟他说,你去下面四个学校见见曾经主持我办的活动的同学吧,因为我认为他们是积极主动的,是符合Google Camp的精神的。我认为他们会给你很多想法,也许他们会成为我们的Google Camp的骨干。所以,如果你们在想,怎么挑到这四个学校的呢,很大的原因就是当时我做巡回演讲的时候这是四个让我感触最深最积极主动的学校,最优秀的同学。所以这是一个活生生的今天在Google Camp成立的时候发生的例子。

  我们可以看到正是因为当时有这么一批积极主动的同学让我们今天有机会在浙大成立这个Google Camp。积极主动者,他并不只是积极地等待机会,他还需要积极地把握机会,为自己创造机会。这点可能是中国的学生,中国的员工最需要常常提醒自己的地方。前一阵我们在中国差不多招了三十多个员工,工作了三四个月。有一天我们在聚会,他们就问我说:开复,你对我们这三十个刚开始的关门弟子有什么建议没有。我的回答是:从技术方面,从对公司的理想、价值观认同以及努力方面,我都非常非常的满意。但是,如果要讲一点我希望你们未来可以做的更好的,我希望你们未来能够更加积极主动,要提出你们的想法。

   7.乐观向上者——The glass is half full or half empty depending on whether you’re pouring in or out

  最后我想讲的是乐观向上者。这句话来自美国的一个喜剧演员Bill Cosby,他是这么说的,我们常说一杯水是一半满的还是一半空的,其实要看你是继续把水注进杯子里,还是把水从杯子里面倒出去。如果你在继续注水的话,你会期望着水位上升;如果你在倒水的话,你会想到很快杯子就会空掉了。其实这告诉我们的是一个人的思想,是一个乐观的人,还是一个悲观的人。如果你是一个乐观向上的人,你会总告诉自己未来会更好。台湾有位企业家叫做张忠谋,他是台基电的董事长,他最近写了一篇文章,我觉得里面有些很有哲理的话。他有个朋友请他提几个字挂在墙上。然后张忠谋就跟他说,我的字写得不好,但是我随便帮你写几个字,然后他就写了“常想一二”这四个字。他朋友说什么叫“常想一二”呢。然后张忠谋就告诉他说,你没有听过吗?我们都说人生不如意之事十有八九,我要告诉你常想那剩下那一二比较如意的事情。他说他从小就看了很多大人物的传记,他发现了一个规律,凡是成功者都是受苦受难的。然后他们的生命几乎就是人生不如意事十有八九的真实写照。但是他发现这些人之所以能够成功,就是因为他们保持了正面的思考,通过“常想一二”,他们能够超越苦难。苦难对他们来说反而成了生命中最好的养料,为他们未来的成功做了良好的铺垫。
  所以这些成功者在面对苦难时的坚持、乐观和勇气是最重要的。人生的如意或不如意,更重要的不是取决于人生的际遇而是思想的瞬间。所以,人生的真正品质取决于你有没有“常想一二”这种乐观的思维方式,观点反而比这个事实更重要。这是他很有哲理的一篇文章,我想你用Google可以搜索得到。

  其实在21世纪,还有很多其他的理由要做一个乐观向上的人。因为21世纪是一个更实时善变的环境,我们尝试的事情会碰到很多很多的失败。我们都听到说Google很酷,有一个20%的Project,每一个人都有20%的时间做自己想做的事情。但是,如果我们做一个统计,我想一定会发现,这个20%自己想做的Project绝大多数一定是失败的。如果你没有一个良好的心态,不能客观地说我学到了一个Lesson有助于我做下一个项目时,那你很快就会处于一个非常沮丧的心态。所以Google公司不但不惩罚失败,还鼓励每个人客观地从失败中爬起来。我们要有一种心态,要认为挫折不是一种惩罚,而是一个学习的机会。

  当我回顾我一生的职业生涯,我想我学到最多的绝对不是来源于我的成功。反而是我在读博士的时候被评为最坏的老师,在一个公司做了一个很酷的技术却没有用,导致公司被卖掉、员工失业等等失败的经历让我学到了很多,超过了我在语音识别或者其他领域所取得的成就。所以一定要把握每一个失败的时候,让自己过渡好每一个痛苦的时期。然后要能有正面的思想,要站起来,要正视自己的错误,能够从错误中学习。

  最后我做一个总结:在21世纪里面,我们需要认真读书的同学,但是我们更需要创新实践的人才。我们需要每一科的专才,但是我们更需要跨领域合成者。我们需要高智商的人,但是更需要高情商的人。我们需要每一个学生能够高效能地理解,但是未来你们更需要高效能地沟通。
  毕业后,当然要找一个热门的工作,但是更重要的是你要热爱你的工作。不要再继续做一个只会被动听话的学生,而要做一个积极主动的学生。不要只是做一个小心翼翼的人,而要做一个乐观向上的人。

http://news.csdn.net/n/20080514/115923.html

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

一些源码网站

虫虫 发表于 2008-05-20 16:10:15

优秀网站源码、编程源码下载网站大集中

1.51源码:http://www.51aspx.com/

2.源码之家:http://www.codejia.com/

3.源码网:http://www.codepub.com/

4.虾客源码:http://www.xkxz.com/

5.多多源码:http://www.morecode.net/

6.洪越源代码:http://www.softhy.net/

7.锋网源码:http://www.fwvv.net/

8.代码爱好者:http://www.codefans.com/

9.爱源码:http://www.aiyuanma.com/

10.酷源码:http://www.kyuanma.com/

11.搜源码:http://www.soucode.com/

12.拉基源码:http://www.lajicode.com/

13.源码开发网:http://www.codedn.com/

14.源码天空:http://www.codesky.net/

15.源码吧:http://www.asp88.net/

16.绿色源码:http://code888.cn/

17.9号源码中心:http://www.9code.com/

18.网馨源码:http://www.asppsa.com/

20.源码天下:http://www.pccode.net/

21.需要源码:http://www.needcode.cn/

22.华夏源码:http://www.haocpu.com/

23.天新网:http://codes.21tx.com/

24.源码网:http://www.yuanma5.com/

25.无忧源码:http://www.5uym.com/

26.中国下载站:http://www.cnz.cc/

27.资源吧:http://www.ziyuan8.com/

28.启明星源码:http://www.codewww.com/

29.我要源码:http://www.xia51.com/

30.清秋源码:http://www.asp678.com/
收藏: QQ书签 del.icio.us 订阅: Google 抓虾