毕业前必须掌握

数据结构、计算机组成原理、汇编语言、数据库基础、操作系统原理、编译原理
高等数学、线性代数、概率论与数理统计、离散数学、数值分析
Web开发的主流的“三巨头”是.net、Java和PHP


1:过硬地掌握一门编程语言:比如你用 ASP.net ,那就掌握C#或者VB,用PHP,就掌握PHP。语言的掌握,就是靠不断的实践,写够了5万行代码,自然就掌握了。

2:掌握一个开发环境:当然说到开发环境,比如Windows上的Visual Studio是超级强大的,实际上这里说的开发环境,除了能够写程序之外,更重要的是掌握足够的调试经验,这个同样也是需要实践经验磨练的,和上一条一样,写够了足够多的行数,自然你的调试经验就丰富了。

3:过硬的SQL语言基本功:Web开发,绝 大多数离不开数据库,所谓Web程序,绝大多数都是根据需要,把一堆数据,按照要求存储到数据库中,在需要的时候,再取出来,并显示的好看一些(怎么存取 由后台决定,怎么显示好看,由前后台共同决定),就可以了。因此,小到一个留言簿,大到一个超级大系统,都离不开数据库的支持。因此,SQL语言,一定要 搞熟,要能够根据各种稀奇古怪的要求,写出正确的SQL查询语句,这也是个功夫,需要不断积累一些经验。

4:基本的数据库的配置、管理经验:上面第3 条说的是能够用SQL语句在程序中访问数据库,此外,还需要一些对数据库的配置、管理经验,理论上说,有一个专业的说法,叫做DBA,数据库管理员,专门 做这个,但是作为开发人员,多少也需要了解一些,至少基本的配置管理操作要了解,至少要熟悉一种数据库系统,比如SQL Server、My SQL等。

5:对网络机制的理解:要做Web开发,和以 前开发的单机运行的程序相比,一个最大的区别,就是有存在客户端和服务器的分别。用户在浏览器上,按了一个按钮,可能的结果是先在客户端运行了一些 Javascript代码,然后又传到服务器上,服务器又开始运行一些代码,然后把一些数据传回到客户端,结果客户端又开始运行另一些 Javascript代码,最后才给用会显示出正确的结果。那么这个过程,你就必须要非常清楚,在什么时刻,什么条件下,在哪里,运行了哪个程序的哪行代 码。 这和以前在一台计算机上一个程序,从第一行运行到最后一行,是很不一样的。

这里的关键问题是,一定要对HTTP协议,有一定的了解,比如你一定要清楚 “请求”和“响应”分别是怎么回事,服务器和浏览器之间是如何传递数据,并协同工作的。这个不用了解的非常深入,但是至少要在概念上非常清楚,否则无法深入理解Web开发的实质。

6:对“领域问题”有比较好的理解力:所谓 “领域问题”,就是你要开发的系统,实现的具体功能是什么,比如你做一个“学生学籍管理系统”,那么就要对学校管理学生的具体方法、制度、规则深入、完整 地理解,然后才能设计出一个合适的系统,适合这个需求,理论上来说,这个工作就比较“高级”了,在一个团队中,常常有“系统分析员”或者“系统架构师”的 说法,其实也没有那么玄乎了,只是一定要真正能够理解用户的需求,才能做出一个正确的选择。因为客户并不懂技术,就要靠系统分析人员,来理解用户的需求。 这一步做不好,结果将会导致整个项目陷入泥潭,后果不堪设想。

7:本质上来说,有了上面前5点,已经完全可以做一名很好的Web开发人员了。第6点已经不仅仅限于技术层面了。我们这里当然主要谈技术,就技术层面来说,还有两点值得一提,对于Web开发特别有用。

下面两点的重点都是提供开发人员的开发效率。都是对于广大战斗在第一线的“码农”来说,基本上没有什么其他成本,唯一的成本就是你的时间,所以要想尽办法提高你的生产效率。用这几天时髦的说法:“哥卖的不是代码,卖的是时间!”

A:Web开发框架。所谓框架,就是根据一些 相对通用的、固定的开发模式,设计出的一套程序库,开发人员可以直接利用这些框架提供的程序进行开发,从而大大减少工作量。在上面说的“三巨头”中,各自 都有很多不同的框架,适用于不同类型的开发需求。在对Web开发有了一定的经验以后,就可以使用一些框架,来加速你的开发效率,即所谓提高你的“生产 力”。比如在.net平台上,最近微软推出的 ASP.net MVC ,就属于这样的一个Web开发框架,实现了MVC模式的开发,当然MVC在JAVA上,和在Ruby on Rails前几年已经有了相应的框架。在这种框架上做开发,具体为什么可以提供生产效率,就不是本文篇幅可以说完的了,有兴趣的读者,可以自己了解一下。

B:数据访问层的开发效率加速。实际上,统计 表明,现在大多数Web开发工作,绝大部分工作是围绕着数据库中的数据的增、删、改、查来进行的。这些工作本质上都是通过SQL语言实现的,因此上面的第 3点中,特别提到了“过硬的SQL语言”的功夫,对一个开发人员的重要性。然而,最近几年出现了不少数据访问层的开发框架,有一个通用的名称叫做 “ORM”即“对象关系映射”框架,它的作用就是通过易于理解的高级语言支持的面向对象的操作方式,避免或减少编写难于理解、管理的SQL语句,从而可以 大大提高开发和调试效率。同样,在“三巨头”上,有各自的不同的实现。比如.net上的 Linq To SQL,以及Entity Framwork都是这样的工具,使用他们以后,可以使开发人员不再直接编写,或减少直接编写SQL,可能会少量地降低运行的效率,但是可以大大提升开发 效率。因此,对于开发人员来说,这些工具,也是值得关注的。还是那句话:对于程序开发来说,基本上没有什么其他成本,唯一的成本就是你的时间,所以要想尽 办法提高你的生产效率。

当然,ORM不是万能的,大多数情况下,如果没有SQL基础,使用ORM还是会有问题,特别是效率问题。这就好像如果你有汇编语言的基础,再写C语言的代码,和不懂汇编的人写出来的,肯定是不一样的

你可能感兴趣的:(毕业前必须掌握)