心有多大,舞台就有多大!
标签 Tag : 开发

十步让你成为一名优秀的Web开发人员(转)

<Category: 技术回收站> 2 条评论

原文地址:http://www.cnblogs.com/JasonDeignVip/archive/2010/04/23/1718361.html

如果你已经是一名优秀的Web开发人员,那请路过即可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。

第一步:学好HTML
(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人员的基本条件。

学习资源:

HTML Dog (http://htmldog.com/)

HTML入门指南 (http://www.w3.org/MarkUp/Guide/)

W3C HTML学习教程 (http://www.w3schools.com/html/)

第二步:学好服务器端脚本语言
服务器端脚本编程也是Web开发人员的基本功之一,你只需挑选一个服务器端脚本语言,然后学好它,目前流行的服务器脚本语言有:

Java(J2ee http://www.csdn.com/

C#(asp.net http://www.cnblogs.com

PHP (http://php.net/)

Python (http://www.python.org/)

Ruby (http://www.ruby-lang.org/en/)

第三步:学好SQL
要构建动态页面就必须使用到数据库,但这么多数据库产品,该如何是好呢?别担心,它们都会遵循标准的SQL原则,学习SQL的资源包括:

W3C SQL学习教程 (http://www.w3schools.com/SQl/default.asp)

MySQL主页 (http://www.mysql.com/)

SQL维基百科 (http://en.wikipedia.org/wiki/SQL)

第四步:学好CSS
涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。

学习资源:

HTML Dog (http://htmldog.com/)

CSS禅意花园 (http://www.csszengarden.com/)已有中文版图书。

第五步:学好JavaScript
今天大部分Web开发人员都喜欢使用 jQuery(http://jquery.com/),学习JavaScript的基本语法,以及如何使用JavaScript编程将会提高你的技能。

学习资源:

webmonkey.com上的JavaScript 学习资源 (http://www.webmonkey.com/tutorial/JavaScript_Tutorial)

W3C JavaScript学习教程 (http://www.w3schools.com/JS/default.asp)

第六步:学好正则表达式
虽然它并不像其它知识那么重要,但学习了正则表达式后,如果使用得当将会节省你很多时间,从验证到高亮显示它够能帮到你。

第七步:学习一点Unix和Linux的基本知识
这并不是必须的,但知道一点Linux命令不会伤害到你,或许你还不知道,大部分Web服务器都运行在Unix和Linux平台上,如果我是你,我会去学习一些基本的Linux命令的。

第八步:了解Web服务器
你不必在这上面花太多精力,但对Apache的基本配置,.htaccess配置技巧有一些掌握的话,将来必定受益,而且这方面的知识学起来也相对容易,不会花多长时间。

第九步:熟悉版本控制系统的用法
熟悉使用一种优秀的版本控制系统将很有用处,你在实际工作中就会发现精通一种版本控制系统是多么幸福。

第十步:学好Web框架
当你掌握了HTML,服务器端脚本语言,CSS和 JavaScript后,就应该找一个Web框架加快你的Web开发速度,使用框架可以节约你很多时间,如果你使用PHP,可选的框架有 CakePHP,CodeIgniter,Zend等,Python程序员喜欢使用Django和 webpy,Ruby程序员喜欢使用RoR。

怎么样,从最简单的HTML到Web框架,内容还是不少吧,要想精通这里的每一样技术,都得下苦功夫才行。

加油哦  伙计们!

本文来自: 十步让你成为一名优秀的Web开发人员(转)

HTML 5指引下一代网络应用开发标准

<Category: IT新闻记事> 发表评论

最近Mozilla在宣传Firefox3.5时经常使用“升级网络(upgrade the )”这样的主题,如果你认真查看一下Chrome、Safari和Opera近期的宣传页面,也不难发现这样的字眼。

我的确希望网络能逐步从一系列的静态网页进化到活灵活现的数字家园。希望它能够包罗万象,从今天的e-mail到明天的电子表格,但从理想到现实显然还需要一段时间。

浏览器的未来的确是闪亮的,而且正在迅速发展。网络开发者们急着让他们的网站动起来,或者建立起各种各样的花哨的Web应用,同时他们也不得不面对在普通Web浏览器上运行缓慢的尴尬,在碰到不支持新技术时也是无可奈何。
阅读这篇文章的其余部分 »

本文来自: HTML 5指引下一代网络应用开发标准

十个习惯 让你精通新的开发技术

<Category: 技术回收站> 发表评论

Ben Watson,知名开发者。任职于GeoEye,是其所属开发团队的领导者。本文发表于他自己的博客,阐述了十种学习新技术的方法。

1、要看书

在成千上万的编程图书中,可能很大一部分根本毫无用处。但是仍然有很多图书对你的()能力有很大的提升。我一直坚持,相比在网络上查找很多有用信息,在同类图书中查找要来得更容易更快捷。阅读技术图书可心更好地抓住核心内容。对于理论,架构和设计等方面来说,图书也一样很有帮助。只不过要找到高质量的、权威的信息,就不如网络上可供查找的范围广。

2、读代码

这也是我很喜欢的一种方式。如果我并没有几年的专业编程工作经验,在学习之初我并不会去读很多复杂的代码。如果我要是早些开始学习,我将是一个比现在更好的程序员。但是,开始时我会从一些开源项目里,去学习那些源代码(当然,这些代码不能与我的工作有关,也不是我自己写的)。要从自己会使用到的,或者自己感兴趣的程序开始这项工作。我是从 Paint.net 这个网站里开始学习的,而且已经积累了很多关于 .NET 的编程技术。

读别人的代码可以为你提供更多不同的工作思路,这比你完全凭自己思考得到的工作方式要多。

3、写代码

谨记,要写大量的代码。从根本上来讲,最好的学习方法就是实践。如果不写代码,你根本不能把(某种语言中)内在的东西学习透彻。学习之初,可以从一些技术指南和图书中照搬一些尽量简单的程序。当然,这种照搬是要自己完全手工输入,而不是复制和粘贴,这两种之间的效果差别是很大的。这种方法的主旨就在于,使知识内在化,并思考其用法,而不是盲目照抄。学习过程中,要时常查找新的 API 调用方法,这其实是简单的事情。

最重要的是,要写一个你自己的程序,不管它是一个简单的游戏,或者是一个参与开源项目的程序,还是一个公为你自己使用的简单插件。用不同的方式来写程序,尽量尝试使用新的技术,新的技巧,新的设计方式。一定要让现在的项目比以往的项目更好。想要成一个优秀的开发者,这一点是核心。

4、与其他开发者交流

像Apple,微软,Google 等大公司一样的新闻描述的一样,(与其他开发者交流)可以让你解决一些复杂的问题。虽然这并不能让你感觉到自己已经成一个团队或是社区的成员,但是这种方法可以让你接触到更多不同的想法。

不同类型的项目要求不同的设计方法,代码技术,开发流程和设计思想。如果你工作在一个小团队里,你不必与太多的人接触,只要在用户群会议中找到一些人(来讨论)即可。如果这样还不行的话,参与到在线论坛中与其他人讨论(这时你需要更努力地寻找高质量的讨论内容)。

5、教会别人

相对于仅仅读代码之类的工作,教其他人学习可以让你更深入地学习某个技术,这种方法有着非凡的效果。教会别人某个技术,同样也会让你更专注于这种技术,并且可以比别人更深层次地理解它。同样你也会面对一些问题。

“如果你不能向一个六岁的儿童解析清楚一个概念,那么其实是你并没有完全理解它。”Albert Einstein说。

教学场景可以是无穷无尽的:与工作搭档一对一交流,休息碰面,非正式周会,学习茶会,教室,讨论发表会,等等。每周在相同理念开发者之间举办一次30分钟的非正式会议怎么样?每周,让几个人来就他们想要更深入了解话题,向大家传授这些技术知识,并且展开讨论。如果你知道你将要向团队成员们传授正学学习的知识,你是不是更想要了解这项技术的每个细节呢?

6、收听网络电台

如果你有空闲的时间,可以订阅网络电台节目。我现在最喜欢的编程节目就是.Net Rocks。这个节目还会做一些视频节目,叫做dnrTV 。这样会让你即时捕捉到最新最好的技术。一个人是不能学习到所有知识的,而网络电台刚是一个学习了解广泛知识的途径。

7、阅读博客

博客远远比阅读者要多,但是其中有一些却是极其优秀的。我这里不并不是要推荐博客,因为网络上已经有了足够多的博客。这是与真正在开发你所喜欢和使用的软件的开者联系的好方法。

8、学习新的语言

即使你已经在C(++,#) / JAVA 等语言上有很好的造诣,仍然有很多其他可以解决问题的编程语言。学习新的语言,是对你已有思维方式的挑战。这不仅仅是另一种语言,更是对思维的重新架构。的确,所有的语言最后都会被编译成汇编程序,但是这并不意味着高级语言毫无价值。

9、学习不正确的方式

除了要学习应该怎么做,还要学习不应该怎么做。经常阅读 Dailywtf.com ,学习你并不知道的经验与教训。学习适当的面向对象设计方式,代码写作方式和必须要写的代码等,是很好的方式,但是如果不细心的话也容易养成不良习惯。学习认识不正确的思路是负责项目开发至关重要的一环。

维基百科对很多觉的不正确方式有十分透彻的分类。

10、要谦虚。

,意味着:

◆用更好的知识代替不完美的知识;
◆增长你所不知道的知识。

只有承认自己有所不足,才能有学习的动力。归根到底,就是谦虚,不对吗?如果你开始认为你已经掌握了所有需要的知识,那么你就危险了。真正的学习是如饥似渴地追逐知识并使其内在化,这需要很大的努力。我们都知道这一点,但是要必须时常不断地提醒自己。

本文来自: 十个习惯 让你精通新的开发技术

十大最吃香的网站开发技术

<Category: 技术回收站> 发表评论

1. Framework knowledge (架构知识)

架构是大型网站开发的重要部分。开发者已经从Rails, Django等公司提供的网站架构工具中收益,因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术(像Rails, Django, CakePHP, Symfony等),你的择业面将非常广阔。

2. Widget Development (窗体小部件开发)

窗体小部件(Widgets)是一个嵌入网页的迷你应用程序,通常也可以下载到Windows或者Mac桌面下运行。它让数据变得便与携带而且更具交互性。比较出名的像Yahoo Widgets和AOL Music Widgets。窗体小部件开发除了需要掌握网络应用程序开发所需的语言知识,还需要精通Javascript和Flash知识。

3. Custom CMS themes (内容管理系统主题定制)

如今越来越多人开始使用CMS(内容管理系统,例如Wordpress和Drupal)来构建他们的网站。可以想象不可能大家都用CMS提供的默认主题,为了让自己的CMS网站在外观设计上独树一帜,就需要一些专门给CMS开发主题的技术人员。

4. CMS Customizations and plugin development (内容管理系统的定制以及插件开发)

同样随着CMS的流行,对CMS的功能定制以及插件开发的需求也越来越大。

5. PSD to XHTML services (PSD转换XHTML的服务)

在建站中,许多公司是先用Photoshop设计好网站的外观原图,然后再转换成XHTML。这需要很强的CSS/HTML知识。

6. Javascript Plugin creation(Javascript的插件开发)

Javascript的Framework非常流行,因为它使Javascript的代码开发变得简单。就比如说现在流行的Javascript Framework – jQuery,如果你在它的基础上开发优秀的插件,那么你的插件也会跟着流行起来。

7. Facebook/MySpace applications (Facebook/MySpace 应用程序开发)

Facebook/MySpace两大社交网站在美国红遍半边天。给他们开发应用程序,不用说一定是相当热门的。

8. iPhoneapplications (iPhone 应用程序开发)

同样给iPhone开发应用程序,也一直都可以被大量下载,因此也是很赚钱的活。

9. E-commerce integration (电子商务一体化)

如今电子商务网站(像Ebay,Amazon)与在线银行服务系统(像Paypal和Google Checkout的)之间的配合越来越紧密,因此电子商务交易平台的开发也是相当有前途的。

10. Flash and Actionscript Knowledge (Flash和Actionscript知识)

越来越多的公司采用Flash来制作自己的网站、展现自己的产品,因为精美的动画总是容易吸引人们的眼球。因此Flash动画技术也必然迅速发展。

本文来自Adam的博客:http://www.61dh.com/blog

本文来自: 十大最吃香的网站开发技术

标准的软件开发过程

<Category: 技术回收站> 发表评论

 软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达14种之多,在每个阶段需要编写哪些文件,以及这些文件的主要内容见下:

  1.可行性与计划研究阶段

  可行性研究报告:在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益分析、制订开发计划,并完成应编制的文件。

  项目开发计划:编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、 所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作。

  2.需求分析阶段

  软件需求说明书:软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。内容包括对功能的规定对性能的规定等。

  数据要求说明书:数据要求说明书的编制目的是为了向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。

  初步的用户手册:用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。

  3.设计阶段

  概要设计说明书:概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。 运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。

  详细设计说明书:详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。

  数据库设计说明书:数据库设计说明书的编制目的是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。

  测试计划初稿:这里所说的测试,主要是指整个程序系统的组装测试和确认测试。本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。

  4.实现阶段

  模块开发卷宗(开始编写):模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。

  用户手册完工

  操作手册:操作手册的编制是为了向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。

  测试计划终稿:

5.测试阶段

  模块开发卷宗(此阶段内必须完成)

  测试分析报告:测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载。

  项目开发总结报告:项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。

  6.运行与维护阶段

  开发进度月报的编制目的是及时向有关管理部门汇报项目开发的进展和情况,以便及时发现和处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以分项目组为单位按月编写。

  对于一项软件而言,有些文件的编写工作可能要在若干个阶段中延续进行。

  鉴于软件开发是具有创造性的脑力劳动,也鉴于不同软件在规模上和复杂程度上差别极大,本指南认为在文件编制工作中应允许一定的灵活性,并不是14种文件每种都必须编写。

  文件编制的衡量因素

  ◆在因素总和较低的情况下,项目开发总结报告的内容应包括:程序的主要功能、基本流程、测试结果和使用说明。

◆测试分析报告应该写,但不必很正规。

◆数据要求说明和数据库设计说明是否需要编写应根据所开发软件的实际需要来决定。

  例2:为了避免在软件开发中文件编制的不足或过分,一个简便的办法是把对软件文件的编制要求同软件的规模大小联系起来,这就是本例的出发点。软件的规模不妨分为四级:

  1.小规模软件源程序行数小于5 000的软件;

  2.中规模软件源程序行数为 10 000~ 50 000的软件;

  3.大规模软件源程序行数为 100 000?500 000的软件;

  4.特大规模软件源程序行数大于500 000的软件。

  对上述的四级软件的文件编制要求分别列于表O3。

  至于源程序行数为 5 000~ 10 000, 50 000~ 100 000的软件,其文件编制要求介于两级之间,可根据一个软件产品的具体情况,由项目负责人参照表O3的规定,确定需要编制的文件种类。

  对于源程序行数大于500 000的特大规模软件,可进一步把本指南规定的十四种文件按实际需要扩展成更多种类。

本文来自: 标准的软件开发过程