background image

          程序员可以分为很多种,像 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 方面的东西都可以对照参考,就不多说了,这也是我这几

年来的一些心得。总之

,学海无涯,每当接触一些新的东西,就会发现自己的不足,同时也就觉得基础知识的重要。

说实话

,像我们做应用开发,用别人的东西,在现在这种情况下,新的技术层出不穷,稍不注意就会被甩开,这也是没

有办法的事情。