
程序员可以分为很多种,像Unix
程序员、Windows程序员,或是C++程序员、Delphi程序员,等等察祥。今天我想谈的是Web程序员,一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西。 \x0d\x0a\x0d\x0a也许有些朋友会说,我知道Asp、Jsp,会做网站、会做bbs,这应该叫Web程序员了吧。确实,我承认,这些
技术是一名Web程序员应该具备的;但是,你如果仅懂得这些,却只能叫做Asp程序员、Jsp程序员,而不是真正意义上的Web程序员。现在的世界是属于Internet的,大部分的应用基于Internet,大家可以想想,像Yahoo、Microsoft、Amazon那样的网站,其访问量之大、败困搏应用之复杂,需要什么样的技术才可以支撑,难道仅仅是硬件的功劳么。 \x0d\x0a\x0d\x0a我想在Windows平台下来谈谈Web程序员应该掌握的技术 \x0d\x0a\x0d\x0a1. 首先,就是上面提到的各种脚本,asp、jsp、php等等,这些东西大同小异,基本可以举一反三。 \x0d\x0a\x0d\x0a2. 数据库, \x0d\x0a\x0d\x0a相信做Web的人肯定用过,像Access、Sql Server、Oracle。很多人会用各种数据库,但是仅限于写一些sql,select、update、insert,用ADO来 *** 作,如果这样,就算会用100种数据库又有什么用呢? \x0d\x0a\x0d\x0a你应该考虑用户量、访问速度、内存消耗,这些东西和
你的sql密切相关,我经常见到很多分页程序根本不去考虑数据库中有多少条数据,统统select出来,很明显,当你从数据库中查出1万条数据和100条数据,占用的内存是不同的。 \x0d\x0a\x0d\x0a另外,数据库连接池和事务机制是非常重要的,应该知道数据库用什么来保证事务,连接池如何实现,这些都是商务应用的关键。譬如,目前很多的应用服务,像weblogic、MTS,都包含事务处理,可以说好的事务处理决定了他们的竞争力。 \x0d\x0a\x0d\x0a3. 组件技术 \x0d\x0a\x0d\x0a我想是现在的Web应用推动了组件技术的发展。以前,从老式的静态库、动态库(dll),到现在的COM/DCOM,再到正在兴起中的Web Service;从单机调用,到基于内部网的分布式调用,到现在基于Internet的分布式计算。现在的应用都是基于组件的n层结构,最明显的就是COM和JavaBean。 \x0d\x0a\x0d\x0a这些东西体现了软件架构的发展,以前是基于单机的应用,然后是C/S结构,到现在的B/S结构。我记得李维曾经说过,程序员一定要注意软件技术的发展趋势,只有这样,才不至于被淹没在技术的洪流中尺燃。我想,作为Web程序员,一定要明白COM的原理,如何实现这种调用、如何进行分布式调用。说实话,我觉得COM还是比较复杂的,否则微软为什么要提供ATL和VB呢,要搞明白,应该学学C++,因为VC中提供的ATL库可以很明显的说明COM的内部运行机制。 \x0d\x0a\x0d\x0a4. 网络技术 \x0d\x0a\x0d\x0a这可以说是Web程序员最应该懂得东西。起码,应该知道Web服务器的机制,要明白Http协议。就拿IIS来说,要懂得web应用程序运行的进程安全和IIS的关系,懂得ISApi的作用。 \x0d\x0a\x0d\x0a如果有时间,就看看TCP/IP,看看winsock,这些都是底层的网络的东西。 \x0d\x0a\x0d\x0a我所说的这些都是基于微软技术下的东西,其他的像Java方面的东西都可以对照参考,就不多说了,这也是我这几年来的一些心得。总之,学海无涯,每当接触一些新的东西,就会发现自己的不足,同时也就觉得基础知识的重要。说实话,像我们做应用开发,用别人的东西,在现在这种情况下,新的技术层出不穷,稍不注意就会被甩开,这也是没有办法的事情。
我们在前文中给大家指出了新手程序员在向技术高手蜕变的时候都会产生哪些思维上的误区。而今天我们就给大家带来了这些误区的解决方法。霍营电脑培训希望大家能够通过对本文的阅读,真正理解和成为高级程序员。
1、熟悉更多业务,不管是不是你负责的熟悉更多代码,不管是不是你写的
这样做有很多好处,举几个简单的例子:
需求分析的时候更加准确,能够在需求阶段就识别风险、影响、难点
问题处理的时候更加快速,因为相关的业务和代码都熟悉,能够快速的判断问题可能的原因并进行排查处理
方案设计的时候考虑更加周全,由于有对全局业务的理解,能够设计出更好的方案
2、熟悉端到端
比如说你负责web后台开发,但实际上用户发起一个http请求,要经过很多中间步骤才到你的服务器(例如浏览器缓存、DNS、nginx等),服务器一般又会经过很多处理才到你写的那部分代码(路由、权限等)这整个流程中的很多系统或者步骤,绝大部分人是不可能去参与写代码的,但掌握了这些知识对你的综合水平有很大作用,例如方案设计、线上故障处理这些更加有含金量的技术工作都需要综合技术水平。
“系统性”、“全局性”、“综合性”这些字眼看起来比较虚,但其实都是技术大牛的必备的素质,要达到这样的境界,必须去熟悉更多系统、业务、代码。
3、自学
一般在比较成熟的团队,由于框架或者组件已经进行了大量的封装,写业务代码所用到的技术确实也比较少,但我们要明白“唯一不变的只有变化”,框架有可能要改进,组件可能要替换,现有技术可能已经无法满足业务需求,或者你换了一家公司,新公司既没有组件也没有框架,要你从头开始来做。
这些都是机会,也是挑战,而机会和挑战只会分配给有准备的人,所以这种情况下我们更加需要自学更多东西,因为真正等到要用的时候再来学已经没有时间了。
作为一个Java程序员,你不希望自己一直生活在底层吧。现在学Java的朋友越来越多迅返,也就意味着,低级的Java程序员会越来越多。镇陪在发展过程中,不断亩旅饥会有低级Java程序员向高级Java程序员蜕变,而作为一个低级的Java程序员要向一个高级的Java程序员蜕变,有那么容易吗?今天就跟IT培训一起来看看,Java程序员如何变得更加高级?
作为一个Java程序员,没有谁不想成为一个更加高级的Java程序员,但是要成为一个高级Java程序员,却也不是那么容易,很多人在做Java程序员的时候,首先,倍感迷茫,不知道,自己到底要做什么?那么要成为Java程序员的第一步,就是要找到自己的目标,知道自己该朝什么样的方向前进。
找准目标之后,那么就是得培养自己的核心竞争能力,你未来打算从事技术方面的工作,还是打算从事管理方面的工作,还是打算从事教育培训,那么首先就得看你的核心竞争实力究竟是什么样子的,是代码水平、管理水平还是教育培训水平,不同方面,你的累积自然是得不一样的。
比如你是想在Java技术上有所施展,一行一行敲下代码,在庞大的结构中对一个个小结构负责,开发和维护一段代码本身需要Java程序员本身的专业技术水平,那么你的目标自然得定为不断提升自己的Java技术,让自己在Java技术上能够战胜其他人,成为Java技术行业的高级者。
评论列表(0条)