技术开发 频道

Web开发人员必须知道的10件事

        【IT168 技术】我最喜欢Web开发的一点是,它包括许多许多不同的技能。作为一个好的开发者,一定要好好学习,天天向上,因为我们有很多重要的技能要学习,而且它们总是在不停的发生变化。

  这里我列出了其中最为重要的10个技能,它们有点倾向于前端开发,但总体上适合所有的开发人员:

  • 正则表达式

  • 基本SEO

  • 不错的Javascript库

  • 跨浏览器调试

  • 图片处理和优化

  • 用有效的HTML/CSS进行布局(不适用表)

  • 版权/基本网络法规

  • Apache rewrite

  • 调试软件

  • 版本控制

  1. 正则表达式

  正则表达式 常用于字符串的解析.其最基础的运用便是文本中字符的查找与替换了。而这看起来并不算什么,正则表达式的多样性是其真正强大的原因。往往可以通过很多方法来优化你的正则表达式,这也意味着你的应用程序的性能的大幅提升。

  正则表达式适用于任何一种编程语言,像JavaScript的replace() ,PHP的 preg_replace(), Apache rewrites等等。

  奇怪是的只有为数不多的web开发者认为正则表达式相当有用,如果你还没有学习,那就准备好开始吧 learn regular expressions。

  2. 基本的搜索引擎优化

  对于网络开发者来说,了解搜索引擎优化的基本信息是必须的。虽然你可以预留导向你客户端的关键字,开发人员应该用有更合理的在页面上安排这些关键字的策略。这意味着,在整理前端的标记,好好利用 TITLE、META、h1和h2标签,同时在后端组织更加稳固的的链接和目录结构。

  3. 一个优秀的Javascript库

  即使你不太写Javascript代码,掌握一个优秀的Javascript库也会带来很大的帮助。无论是jQuery(我的最爱)、Mootools,还是其它什么库,都可以让你的Javascript开发工作事半功倍。首先,这些库都提供了跨浏览器的功能,使你可以直接上手,不需要再去管这方面的事情。而且,它们都提供了大量简单的动画,像在DOM中选择节点这类工作变得易如反掌。

  更大胆的Javascript程序员也许会想要接触Javascript UI语言。以上说的几种库都有相关的插件,但我个人推荐Dojo with Dijit。

  4. 跨浏览器调试

  为了让网站被更多的人看到,显然应该让它支持所有主流浏览器(IE6、IE7、IE8、FF2、FF3、Safari 4和Opera 9)。每个人都很厌恶跨浏览器调试,但最好的方式是预防,从有效的HTML和良好的reset样式表开始。就我来说,是使用* {magin:0; padding: 0}。不过,大家也可以使用其它更健壮的方式。

  另外,还应了解某些浏览器的怪癖。最著名的当然是IE家族,特别是IE6(没错,一直是它,依然是它)。尽管大多数问题可以归结为臭名昭著的haslayout bug,但你不能依赖某些笨拙的方式来解决它,例如* {zoom: 1}。

  5. 图片处理和优化

  尽管大多数程序员都是靠专业的设计师来设计图片,但懂点Photoshop对程序员来说也很重要。掌握一些图片处理技术之后,一些小修改就不需要再踢回给设计师,直接自己改了就是,而且,在修改设计时,你还会马上知道是否可行。

  图片优化是Photoshop技能里对web程序员最为重要的一项。图片的大小往往是对带宽最大的威胁,图片优化直接关系到网站的载入时间。Photoshop和Illustrator的「Save for Web」选项极大地简化了图片优化环节,大家只需要在PC上按下Ctrl-Alt-Shift-S或在Mac上按下Command-Alt-Shift-S即可进入这一向导。

  6. 使用有效的HTML/CSS进行页面布局(而非表格)

  我们需要重视:现在已经不是1996年了,即时是后端开发者也应该知道如何写好前端代码,——使用有效的 HTML 和 CSS——而非一堆表格。标记应当整洁,CSS 和其它类型的文档应当同 HTML 分离,这样,就不会有内联样式,特别是不会有 font>标签。

  初学者应当学学到 CSS 标签 以及 CSS 盒子模型。然后学学 W3C规则,了解如何写出合理的代码。

  你写的 HTML 应该符合 xHTML 规则;应该有着合理的嵌套、闭合且含有 alt 属性信息的图片标签等等。然后你可以去了解那些节点能够嵌套在其它节点中,已经其它的复杂内容。最后,你会发现 w3c 的HTML标记验证程序 不再报错,这样真的很爽。

  7. 版权/网络法规的基础

  虽然无需法学学位,但开发者最好能够对版权和网络法规有基本的了解。

  因为网页从本质上来讲,是一种出版物,而著作权则是网站最常见的法律问题。从用户生成的盗取Flicker 图片的内容到对纽约时报内容大段的引用,如果不想被起诉,或是收到投诉信件,你最好了解这些。当然,如果你想提起诉讼或是投递投诉信,你也最好了解这些 。

  除了著作权法之外,签订注册/使用主机托管或是软件的协议时,你最好也好好看看隐私协议和 COPPA(美国儿童网路隐私保护法) 的规定。

  8. Apache 重写

  Apache 的重写功能使原本凌乱的 URL 更加整洁(只要你了解正则表达式)。你可以将难看的地址: index.php?section=about&page=bioand 重写位更漂亮的:about/bio。

  不仅限于规整 URL,使用 Apache 的 mod_rewrite 能够很容易的将简单的一个页面变成包含路径的完整应用。只需要将查询的变量重写为路径即可。

  同样,你要注意: Apache 重写也是出了名的不好调试。重写规则无法包含任何调试信息,且常常忽略你引用的其它方法的信息。因此,重写也会导致一些无法追踪的错误。

  9. 调试工具

  一个好的调试器能让你更快的进行网页编程。

  当进行前端调试时,我喜欢用 Firebug ,你可以点击页面上的元素,它将统计样式表中的那些生效的设置。你可以添加或删除样式,同时也可以修改页面。

  Firebug 也可以用来调试 Javascript。作为 Javascript 的运行控制台,它能够更好的组织错误信息,显示 fromconsole.log() 的输出内容。最后,它还提供网络信息,显示页面元素加载事件,以及那些无法加载,无法获取的内容。

  我不知道如何进行后端调试,不过我听说 PHP 有个叫做 xDebug 的东东。

  10. 版本控制

  最后但很重要的一点, 一个好的程序员应该学会控制你的版本。版本控制不仅仅是对你工作的备份的一种途径,而且也是你跟其他开发者合作的重要方式。

  我个人比较喜欢 distributed as opposed to centralized (分布式相对集中)版本控制的方式, 因为它有两个不同层级的版本控制:你可以先将你的部分修改提交到本地存储中心,之后将所有的更改推送到服务器端存储。这样允许你在本地做一个小幅度不稳定的修改,然后将团队中的更新集中提交。

  如果采用分布式的版本控制我比较看好 Mercurial, 而如果是集中是的 Subversion很不错。

0
相关文章