惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
D
Docker
WordPress大学
WordPress大学
罗磊的独立博客
J
Java Code Geeks
博客园 - 【当耐特】
博客园 - 司徒正美
雷峰网
雷峰网
H
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
T
Tailwind CSS Blog
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
Recent Announcements
Recent Announcements
B
Blog

博客园 - しovのんeТs

推荐一个很好的网盘,可以在不同电脑间同步文件! VS 2005 VS2008 颜色配置文件下载 在CSDN上看到一个贴子,觉得写得很对,放这里,常看看! ASP.NET 2.0中动态添加 GridView 模板列的例子 ASP.NET 2.0中动态添加GridView - しovのんeТs - 博客园 GridView中的鼠标特效 - しovのんeТs - 博客园 GridView动态绑定数据、编辑、修改、删除及分页功能 找到一个全能的免费空间!支持SQL和.net2.0 黑英语笑话 ASP.NET 页的客户端 实用体系结构:逻辑分层 准备学2.0在网上找了个Vs2005团除版的http下载地址! 太闷了,换个样子! 现在又要开始忙了! 三个月试用期终于过去了!前途迷茫! 唉,好忙啊,总有做不完的事啊! 公司的网站完成,做一次总结 网站项目管理 呵呵,随笔说明!
如何才能成为一名真正的Web程序员
しovのんeТs · 2006-06-11 · via 博客园 - しovのんeТs

程序员可以分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员,等等。今天我想谈的是Web程序员,我感觉目前的情况是这样,一般来说,做Unix的看不起做Windows的,做C++的看不起搞VB或是Delphi(而这两者又有些相互瞧不起)的,好像搞Web的是最惨的,处于食物链的底端。当然,这种情况到了2001年又有点变化,那就是懂Java的牛的不得了,一说起XXX懂Java、Jsp,大家就不禁有些敬仰。

我觉得这种情况很不正常,当然,我承认,搞Unix和C++的人由于长期接触底层编程,对操作系统方面的东西要比其他人清楚一些。但是,做底层开发的公司毕竟是少数,大部分中国公司都在做应用开发,需要的是熟悉各方面技术的全面人才。技术,关键是要解决问题,是要实用,而不是用来炫耀,毕竟一种技术包打天下使不可能的。

譬如说,微软的顾问,不见的就懂Unix、Java,但他们肯定是Windows领域的专家,微软的产品线很长,有操作系统、数据库、各种企业级Server等等,需要对这些东西的开发、耦合进行深入研究才可以做到;同理,IBM的专家,不见得非要熟悉VB、VC。

扯得有些远啦,对于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方面的东西都可以对照参考,就不多说了,这也是我这几年来的一些心得。总之,学海无涯,每当接触一些新的东西,就会发现自己的不足,同时也就觉得基础知识的重要。说实话,像我们做应用开发,用别人的东西,在现在这种情况下,新的技术层出不穷,稍不注意就会被甩开,这也是没有办法的事情。