《程序员必看文章.doc》由会员分享,可在线阅读,更多相关《程序员必看文章.doc(11页珍藏版)》请在金锄头文库上搜索。
1、java程序员必看文章2011年5月2日 by oucao 程序员必看文章几篇以前在网上找的挺不错的评论文章.我个人觉得这几篇写的都不错.今天再次拿出来或许你曾经看过或看过好些遍.不过我再倡议大家多看几遍.固然有些长.耐烦点. 但程序员必看文章你一定会有收获.如何才干成为一名真正的Web程序员程序员能够分为很多种,像Unix程序员、Windows程序员,或是C+程序员、Delphi程序员,等等。今天我想谈的是Web程序员,一名真正的Web程序员应该懂得那些方面的学问,应该留意学习哪些东西。或 许有些朋友会说,我晓得Asp、Jsp,会做网站、会做bbs,这应该叫Web程序员了吧。的确,我供认,这
2、些技术是一名Web程序员应该具备的;但是, 你假如仅懂得这些,却只能叫做Asp程序员、Jsp程序员,而不是真正意义上的Web程序员。如今的世界是属于Internet的,大局部的应用基于 Internet,大家能够想想,像Yahoo、Microsoft、Amazon那样的网站,其访问量之大、应用之复杂,需求什么样的技术才能够支撑, 难道仅仅是硬件的功绩么。我想在Windows平台下来谈谈Web程序员应该控制的技术1. 首先,就是上面提到的各种脚本,asp、jsp、php等等,这些东西大同小异,根本能够触类旁通。2. 数据库,置信做Web的人肯定用过,像Access、Sql Server、Orac
3、le。很多人会用各种数据库,但是仅限于写一些sql,select、update、insert,用ADO来操作,假如这样,就算会用100种数据库又有什么用呢?你应该思索用户量、访问速度、内存耗费,这些东西和你的sql亲密相关,我经常见到很多分页程序基本不去思索数据库中有几条数据,通通select出来,很明显,当你从数据库中查出1万条数据和100条数据,占用的内存是不同的。另外,数据库衔接池和事务机制是十分重要的,应该晓得数据库用什么来保证事务,衔接池如何完成,这些都是商务应用的关键。譬如,目前很多的应用效劳,像weblogic、MTS,都包含事务处置,能够说好的事务处置决议了他们的竞争力。3.
4、组件技术我 想是如今的Web应用推进了组件技术的开展。以前,从老式的静态库、动态库(dll),到如今的COM/DCOM,再到正在兴起中的Web Service;从单机调用,到基于内部网的散布式调用,到如今基于Internet的散布式计算。如今的应用都是基于组件的n层构造,最明显的就是 COM和JavaBean。这些东西表现了软件架构的开展,以前是基于单机的应用,然后是C/S构造,到如今的B/S构造。我记得李维曾 经说过,程序员一定要留意软件技术的开展趋向,只要这样,才不至于被吞没在技术的激流中。我想,作为Web程序员,一定要明白COM的原理,如何完成这种 调用、如何停止散布式调用。说实话,我觉
5、得COM还是比拟复杂的,否则微软为什么要提供ATL和VB呢,要搞明白,应该学学C+,由于VC中提供的 ATL库能够很明显的阐明COM的内部运转机制。4. 网络技术这能够说是Web程序员最应该懂得东西。最少,应该晓得Web效劳器的机制,要明白Http协议。就拿IIS来说,要懂得web应用程序运转的进程平安和IIS的关系,懂得ISApi的作用。假如有时间,就看看TCP/IP,看看winsock,这些都是底层的网络的东西。我 所说的这些都是基于微软技术下的东西,其他的像Java方面的东西都能够对照参考,就不多说了,这也是我这几年来的一些心得。总之,学海无涯,每当接触一 些新的东西,就会发现本人的缺乏
6、,同时也就觉得根底学问的重要。说实话,像我们做应用开发,用他人的东西,在如今这种状况下,新的技术层出不穷,稍不留意 就会被甩开,这也是没有方法的事情。任何Web开发人员需求必备的技巧主要有以下这些技术。开发Web应用程序的技术曾经变得更成熟、更复杂了。如今,构建一个Web应用程序不只仅需求简单的HTML技术了。数据库访问、脚本言语和管理都是一个Web程序员需求具备的技术。让我们来看看要成为一个市场上受欢送的Web开发人员都需求些什么技艺吧。自 从CERN(欧洲粒子物理研讨所),日内瓦左近的高能物理研讨中心,在1991年发布了Web以来,Web技术曾经从静态的内容和Common Gateway
7、Interface(CGI)开展成servlet技术和JavaServer Pages了。但是,在这个竞争更剧烈的社会中,一个Web程序员需求更多的学问。例如,假如在面试中,你提到你熟习XML并在JNDI方面有些经历(这 两种技术初看似乎同Web编程没有很严密的关系),那么你就会给你将来的老板留下更深的印象。想象你曾经理解了Java编程言语和面向对象的编程,下面还 有两组技术是一个Web开发人员日常工作中所需求的。第一组包括每个Web程序员必需具备的技术。第二组包含要想成为一个高级程序员所应该控制的技术。根本技艺假如想称本人是个Web开发人员,下面就是必需具备的技术。HTML(HyperTex
8、t Markup Language)HTML简直是显现在阅读器上一切内容的言语。难怪HTML就仿佛是一个Web程序员的生存本能一样。假如你仍需求在你的HTML中查找或,那么你真的需求进步你的HTML技术了。HTML的当前版本是4.01,你能够从http:/www.w3.org/TR/1999/REC-html401-19991224/理解更多关于它的内容。Servlets和JSPJava servlet技术是开发Java Web应用程序的主要技术。它是由Sun Microsystems在1996年开发的,当前的版本是2.3,但人们正在为版本2.4做准备。JSP是servlet技术的扩展,如今的
9、版本是1.2(2.0版将很快定下来)。有人以为JSP是servlets的替代,但实践并不是这样的。Servlets和JSP是一同用于复杂的Web应用程序的。用 Java停止Web编程的一个好的开端就是学习servlet技术。即便你打算在你的Web应用程序中只运用JSP页面,你仍需求学习servlet技 术。在更复杂的Web应用程序中,JSP页面只用于显现,而JavaBeans和自定义标签库用来嵌入商业逻辑。即:你也必需通晓JavaBeans和自 定义标签库。javascriptjavascript是运转于一切的主要的阅读器中的脚本言语。你用 javascript来停止客户端的编程。客户端编程中
10、最重要的工作就是确认用户输入。运用客户端输入考证的益处是减少效劳器的工作量并进步响应时间。另 外,javascript能够用于重新定向(redirection)、cookie处置、控制applets、创立导航树、翻开一个阅读器的一个新的实 例、等等。SQL(Strutured Query Language)和JDBC(Java Database Connectivity)往 常,大多数Web应用程序都包括访问关系数据库中的数据。作为一个Web程序员,你需求晓得如何存储、得到并操作数据库中的数据。有时侯,你也需求设计数 据库,构建数据库中的表和其它构造。SQL就是用来操作数据库中数据的言语。你通
11、常需求编写SQL语句(常常是动态的),把它们传送到数据库效劳器,并得 到返回的数据(假如有的话)。运用Java言语,你需求用JDBC来协助Web应用程序和数据库效劳器停止通讯。JDBC有两局 部:JDBC Core API(Application Programming Interface)和JDBC Optional Package API。第一组用来执行根本的数据操作,如创立一个衔接或读取、更新并删除一个表中的记载。第二组提供更高级的数据库衔接功用,如衔接池、事务和 RowSet。JDBC的当前版本是3.0,API包含在J2SE v. 1.4中。Web Container管理和应用程序部署
12、你 的servlets和JSP页面在一个叫做servlet/JSP container或Web container的引擎中运转。你至少需求晓得如何为测试以及消费运转部署你的Web资源。例如,假如你运用Tomcat,你需求理解的一件事就是如何 映射配置文件(server.xml)中的应用程序,使Tomcat晓得如何调用你的JSP页面。另外,你需求晓得在哪里保管你的库以及如何创立应用程序 部署描绘符。XML(eXtensible Markup Language)XML是计算机范畴中一个胜利的后起之秀。由 World Wide Web Consortium在1996年开发,XML如今曾经是用于数据交
13、流和可扩展数据构造的一个普遍的、公认的规范了。XML在Java Web开发中扮演着一个重要的角色。例如,每个应用程序的部署描绘符都是XML格式的。而且,假如你在开发Web servies,你就会用到SOAP(Simple Object Access Protocol),它主要是基于HTTP和XML的。另外,在Web应用程序中,XML也可能用于存储分等级的数据。Model 2构造这种技术在该类别中是最先进的。倡议用这种构造来构建相当复杂的Java Web应用程序。Model 2构造是基于Model-View-Controller设计范例的。高级技术下面这些技术能够将你同初学者区别开来。JSTL(
14、JSP Standard Tag Libraries)、Jakarta Taglibs项目和其它库为 了加速应用程序的开发,你应该经常重用代码。简单地说,代码重用就是,假如有人曾经编写了用来执行某些功用的代码,你最好就去用那些代码,而不要本人编写 了。因而,JSP能够让你运用自定义标签。你能够运用几个库,最受欢送的是Apache的Jakarta Taglibs项目中的库。从http:/jakarta.apache.org/taglibs/index.html能够下载这个包,你在开端创立 新类前,能够运用在这个包中找到的任何现成的东西。JSTL最近曾经成为了一个规范。其它标签库能够免费或以商业方
15、式得到。Apache的Struts项目Struts 是一个Apache资助的公共资源项目,它为构建Model 2 Java Web应用程序提供了一个构架。Struts为MVC构造提供它本人的Controller组件,将EJB、JDBC和JNDI用于Model,将JSP 和其它技术用于View。你能够从它的网站找到更多关于这个项目的更细致的信息:http:/jakarta.apache.org/struts /index.html。XHTML(Extensible HyperText Markup Language)XHTML 是努力将HTML和XML分离起来的一种技术。你能够把XHTML当作下一代的HTML。其当前的版本是1.0(第二版是于2002年8月1日发布 的),XHTML还没有像HTML那么盛行,但它在未来会发挥更重要的作用。依据Web设计专家Molly Holzschlag的观念,推进各个公司转向XHTML的主要缘由是美国的关于公开访问(accessibility)的法律。更多关于XHTML的信 息,参阅Holzschlag访谈。DHTML(动态HTML)DHTML能够允许人们在你的网站上停止更多的交互。例如,运用 DHTML,当用户挪动鼠标到一个链接上时,你就能够很容易地创立并显现子菜单。运