如何才能成为一名真正的
Web 程序员
程序员可以分为很多种,像
Unix 程序员、Windows
程序员,或是
C++程序员、Delphi
程序 员,等等。
今天我想谈的是
Web
程序员,一名真正的
Web
程序员应该懂得那些方面的知识, 应该注意学习哪些东西。 也
许有些朋友会说,我知道
Asp、Jsp
,会做网站、会做
bbs
,这应该叫
Web
程序员了吧。 确实,我承认,这些
技术是一名
Web
程序员应该具备的;但是,你如果仅懂得这些,却只 能叫做
Asp
程序员、 程序员,
Jsp 而不
是真正意义上的
Web
程序员。 现在的世界是属于
Internet
的,大部分的应用基于
Internet,大家可以想
想,
Yahoo、Microsoft
、 像
Amazon
那样的网站, 其访问量之大、应用之复杂,需要什么样的技术才可以
支撑,难道仅仅是硬件的功劳么。 我想在
Windows
平台下来谈谈
Web 程序员应该掌握的技术
1. 首先,就是上面提到的各种脚本,asp、jsp、php
等等,这些东西大同小异,基本可以举 一反三。
2.
数据库, 相信做
Web
的人肯定用过,像
Access、Sql Server、Oracle。很多人会用各种数据库,但是
仅限于写一些
sql,select、update、insert
,用
ADO
来操作,如果这样,就算会用
100
种数 据库又有什
么用呢? 你应该考虑用户量、访问速度、内存消耗,这些东西和你的
sql
密切相关,我经常见到很多 分页程序
根本不去考虑数据库中有多少条数据,统统
select
出来,很明显,当你从数据库中 查出
1
万条数据和
100
条数据,占用的内存是不同的。 另外,数据库连接池和事务机制是非常重要的,应该知道数据库用什么来保证事
务,连接池 如何实现,这些都是商务应用的关键。譬如,目前很多的应用服务,像
weblogic、MTS
,都 包含事
务处理,可以说好的事务处理决定了他们的竞争力。
3.
组件技术 我想是现在的
Web 应用推动了组件技术的发
展。以前,从老式的静态库、动态库
(dll)
,到现 在的
COM/DCOM
,再到正在兴起中的
Web Service;从单机
调用,到基于内部网的分布式 调用,到现在基于
Internet
的分布式计算。现在的应用都是基于组件的
n 层结
构,最明显的 就是
COM
和
JavaBean
。 这些东西体现了软件架构的发展,以前是基于单机的应用,然后是
C/S
结构,到现在的
B/S 结构。我记得李维曾经说过,程序员一定要注意软件技术的发展趋势,只有这样,才不至于
被淹没在技术的洪流中。我想,作为
Web
程序员,一定要明白
COM 的原理,如何实现这
种调用、如何进行分布式调用。说实话,我觉得
COM
还是比较复杂的,否则微软为什么要 提供
ATL
和
VB
呢,要搞明白,应该学学
C++
,因为
VC
中提供的
ATL
库可以很明显的说 明
COM
的内部运行机制。
4. 网络
技术 这可以说是
Web
程序员最应该懂得东西。起码,应该知道
Web
服务器的机制,要明白
Http 协议。就拿
IIS
来说,要懂得
web
应用程序运行的进程安全和
IIS
的关系,懂得
ISApi
的作 用。 如果有时间,就看看
TCP/IP
,看看
winsock,这些都是底层的网络的东西。
我所说的这些都是基于微软技术下的东西,其他的像
Java
方面的东西都可以对照参考,就 不多说了,这
也是我这几年来的一些心得。总之,学海无涯,每当接触一些新的东西,就会 发现自己的不足,同时也就觉得基
础知识的重要。说实话,像我们做应用开发,用别人的东 西, 在现在这种情况下, 新的技术层出不穷, 稍不注
意就会被甩开, 这也是没有办法的事情。 任何
Web 开发人员需要必备的技巧主要有以下这些技术。
开发
Web
应用程序的技术已经变得更成熟、更复杂了。现在,构建一个
Web
应用程序不仅 仅需要简单的
HTML
技术了。数据库访问、脚本语言和管理都是一个
Web
程序员需要具备 的技术。让我们来看看要成为一个
市场上受欢迎的
Web
开发人员都需要些什么技能吧。 自从
CERN
(欧洲粒子物理研究所) ,日内瓦附近的高能
物理研究中心,在
1991
年发布了
Web 以来,Web
技术已经从静态的内容和
Common Gateway
Interface(CGI
)发展成
servlet
技术和
JavaServer Pages 了。然而,在这个竞争更激烈的社会中,
一个
Web
程序员需要更多 的知识。例如,如果在面试中,你提到你熟悉
XML
并在
JNDI 方面有些经验(这两
种技术 初看似乎同
Web
编程没有很紧密的关系) ,那么你就会给你未来的老板留下更深的印象。设 想你已经了
解了
Java
编程语言和面向对象的编程,下面还有两组技术是一个
Web
开发人员 日常工作中所需要的。第一组
包括每个
Web
程序员必须具备的技术。第二组包含要想成为 一个高级程序员所应该掌握的技术。 基本技能 如果
想称自己是个
Web
开发人员,下面就是必须具备的技术。
HTML(HyperText Markup Language
)
HTML 几
乎是显示在浏览器上所有内容的语言。 难怪
HTML
就好像是一个
Web
程序员的生 存本能一样。如果你仍需要在
你的
HTML 中查找
或 ,那么你真的需要提高你的
HTML
技 术 了 。
HTML
的 当 前 版 本 是
4.01
, 你 可 以 从
http: //www.w3.org/TR/1999/REC-html401-19991224/
了解更多关于它的内容。
Servlets
和
JSP
Java servlet
技术是开发
Java Web
应用程序的主要技术。它是由
Sun Microsystems
在
1996 年
开发的,当前的版本是
2.3
,但人们正在为版本
2.4
做准备。
JSP
是
servlet
技术的扩展, 现在的版本是
1.2 (2.0
版将很快定下来) 有人认为
JSP
是
servlets
。 的替代,但实际并不是这样的。
Servlets 和
JSP
是一起用于复杂的
Web
应用程序的。 用
Java
进行
Web
编程的一个好的开端就是学习
servlet 技术。
即使你打算在你的
Web
应用 程序中只运用
JSP
页面,你仍需要学习
servlet
技术。在更复杂的
Web 应用程
序中,
JSP
页 面只用于显示,
JavaBeans
和自定义标签库用来嵌入商业逻辑。 你也必须精通
JavaBeans 而
即: 和自定义标签库。
javascript javascript
是运行于所有的主要的浏览器中的脚本语言。 你用
javascript 来进行客
户端的编程。 客户端编程中最重要的工作就是确认用户输入。 运用客户端输入验证的好处是减少服务器的 工作
量并提高响应时间。另外,
javascript 可以用于重新定向(redirection
) 、
cookie
处理、 控制
applets
、创建导航树、打开一个浏览器的一个新的实例、等等。
SQL(Strutured Query Language)和
JDBC(Java Database Connectivity
) 如今,大多数
Web 应用程序都包括访问关系数据库中的数据。作
为一个
Web
程序员,你需 要知道如何存储、得到并操作数据库中的数据。有时侯,你也需要设计数据库,构建
数据库 中的表和其它结构。
SQL
就是用来操作数据库中数据的语言。 你通常需要编写
SQL
语句 (常 常是动态