zoukankan      html  css  js  c++  java
  • Web基础知识和技术

    WEB是一个外延广泛的概念,不单单指网站,乌徒帮专注拥有WEB界面的网站开发,帮助初学者或已经进入开发的朋友们提供参考讨论平台,然而并不一定能将所有的WEB知识讲全讲透,只是能满足初涉者的建站需求,能到这一步,frustigor也算满足了。

    Web网站建设一文中笔者大概谈到了一个网站能搭建起来,作为一个小型的开发者,都需要做哪些工作。显而易见的是,这些工作并非一个人就能完成,往往需要一个有各方面技术基础的团队,人数不多,然而却是必须的。那么在网站建设领域,需要拥有哪些技术和知识呢?

    一、对网站及网站建设抽象概念的理解

    任何一门学科都有相应的概念,网站建设也不例外。从事多年网站建设的老手以经验作为知识,而刚刚步入网站建设领域的初学者可以通过阅读书籍,查阅资料获得知识。我曾遇到过很多想学网站建设的朋友,他们基础为0,然后问我后台程序如何如何,数据传递如何如何,而当我告诉他一个简单的方法或思路时,他连我口中所说为何都不知道,更无从谈程序处理。有人说网站建设很容易,不就是做网页,管理网站么?也有人说做网站很难,根本做不出好的作品。前者必定是不懂网站建设的朋友, 而后者也不必太过拘泥于当前,只需一步一步提高自己的知识,逐渐知识专研,才能实现蜕变。

    WEB不等于网站!

    在我看来,除非是已经从事网站建设多年的朋友,但凡是初学者,都应该先寻找一本关于WEB基础知识的理论书籍看一看。通过理论的学习,可以理解网站得以存在和运行的基础条件,在后期开发中不至于丈二和尚。

    从我个人来看,这些知识包括WEB相关观念、发展历史、基础理论、计算机网络、互联网基础等等,虽然没有直接涉及网站建设,却是网站赖以生存的理论。例如很简单的例子,什么是网站?什么是域名?http和IP地址?宽带和带宽?移动互联网?3G?这些概念性的基础知识,是网站建设的基础,是房子基石下面的大地。

    二、WEB基础知识已经是大海

    没有人是全才,全才就是废材!很多朋友见到我听过我是搞网站的,便会用电脑技术大师的眼光来审视我,然而我想说的是:MB不是学技术的都是修电脑的好不好!搞网站跟修电脑扯不上半点关系,别人学计算机的也不是修电脑的,为什么普通人眼中喜欢修电脑的呢?这个问题至今我还没有答案,可能修电脑的搬来搬去,肌肉比较大块而符合人体美吧。。。

    在WEB知识大海中,笔者只会提出涉及到我们网站建设和开发的知识,除此之外的技术一旦提出,便会有人很SB的去学习,举例,我在刚接触网站建设时,无意之间了解到linux的知识,于是狂热的学习热情驱使我花了几个月的时间掌握linux的命令,在linux上配置各种软件,实现linux服务器,然而两年过去了,linux的命令我几乎已经忘光,除了服务器配置还偶尔用,其他软件的安装和配置也都忘光。我想说的是,早期学习我们要切记两点:1、我们要什么就学什么,不要偏离跑道,很多知识等到你有迫切需求的时候,会迫使自己去学习;2、不要试图走捷径,一个星期的入门教程其实是给已经入门的人们去温故知新的,0基础学习者到入门的时间是3个月到半年方能做出作品。

    另外,我想对那些已经拥有网站,基础却很差的朋友们一个建议,在有时间的情况下静下心来看一本有关html+css+javascript的书,它们对你来说已经够用了,无论你使用的是什么网站系统,认真冷静的看一本不厚不薄的网页表现层的书,绝对能应付你的简单的修改。

    三、一个早期的网站建设者可能具备哪些技术

    在学习网站建设的早期,几乎由一个人承担了网站的策划、开发、维护、管理、运营,而他的角色更是让人感到力不从心,从技术到美工到编辑到运营,简直就是一场自我的博弈。然而当你拥有了一个小的作品的时候,成功的喜悦能暂时抹去你的痛苦,并激励你学习更多的东西,促进你的成长。

    如果你下定决心要开始建设自己的网站,并且想通过自己一手之力,而非借助他人来完成自己的网站,那么你可能需要掌握以下的一些技术或知识:

    1、HTML

    你不得不承认,大学里的老师从dreamweaver开始教网页设计是一种错误的理念,这让学习者将工具看的很重要,甚至将网页设计完全认同为使用好这些开发工具。之所以要从开发工具开始教,是因为开发工具能即时的将制作的效果给学习者看,并有利于讲解。如果你已经脱离了大学,或还没有开始上网页设计课程,那么直接学习HTML是件可以考虑的事。

    HTML不单单是网页结构代码,而是一套超文本的理念,随着HTML5的兴起,它也不单单是超文本了,而是有语义的超文本,HTML也是可以有感情的。当然,这是网页背后的事,作为初学者,你只需要了解各个标签起到什么效果、使用时需要注意哪些,并不必掌握所有的标签,而是掌握到可以满足你的写作需求的那些标签。做好了这些,等以后慢慢即可接触更多的知识。

    2、CSS

    不要把CSS看的很难,因为太依赖写作工具软件,所以初学者会认为css很难,其实css是件很简单的事,就像一个人穿衣服一样,它让网页拥有不同的布局、颜色、线条、隐现。css=class的时代也过去了,随着HTML5的发展,css也变得开始有语义,有动作,可以实现一些动态的效果。

    那么你是要学HTML5么?

    HTML5并不是HTML4的不同版本,而是一种新的理念,在HTML4的基础上增减了一些标签,如果你想要学习HTML+CSS,并不会太多的深入研究其他WEB技术的话,那么选择HTML5+CSS3是一项不错的决定,当然,学习HTML5会变得很困难,因为所有的HTML5的书籍都把读者当做是已经非常了解HTML+CSS+JavaScript的,因而,如果你只是想入门,那么学习html传统教程吧,学完之后,看看HTML5都增减了哪些标签即可。

    3、JavaScript

    即使javascript是编程,你也无法绕过它,因为你必须自己尝试着理解网页上的动作是怎么发生和执行的。如果你只希望掌握网页的色彩、布局、线条的话,那么只需要了解javascript能帮你做什么,以便于你不用拼命考虑这些效果是不是css来完成的。这样你就不用深入学习javascript了。然而事实是几乎所有的学习者都有强烈的征服欲,所以学习javascript是必经之路,即使你曾经绕过,但也不得不在后期某个阶段后头重新走过一遍。

    javascript本身就包含了很多知识,因为javascript就已经涉及到跟设备打交道的部分,通过脚本调用系统资源实现一些动作和效果。而在学习javascript之前,你最好有编程的经验,如果没有,那么肯定需要在第一次学习中花更多的时间。

    ajax、jquery都是javascript的延伸学习部分,当有一天,你会需要它们。

    而当学习完这些,你就已经可以制作一个非常漂亮,并且还拥有一定功能的网站了,虽然没有后台,虽然没有用户活跃,然而能够在互联网上看到自己的作品,已经是件非常了不起的事情了。

    相关技术:flash制作、PS图片处理

    四、进入到网站开发和运营阶段需要掌握哪些技术

    当拥有一个静态的网站之后,自然而然会产生一个问题:我怎么去更新自己的网站,拥有更多的内容?

    于是,学习者开始接触CMS、blog、论坛等现成的网站系统,并希望利用它们可以打造出自己的网站,开始运营,甚至希望从中获利。于是通过学习,不仅制作出了自己的漂亮的页面,而且开始不断更新内容,打造一个有氛围有风格的网站,进入到推广和运营阶段。

    等等,似乎一切来的太快了!是的,其实当你开始拥有这样的一个网站的时候,你就会发现,这些系统虽然满足里你更新内容的需求,然而你新生的一些功能需求又无法满足了,于是你走上了一条不归路,开始反复纠结,进入徘徊期,直到最后决定选择一套技术进行深专研究,并重新审视自己,学习后台开发技术。

    那么在这个过程中,你又会开始接触哪些技术呢?

    1、一门网络编程语言:ASP或PHP或JSP或其他编程语言

    而作为初学者,我们一般在ASP和PHP中选择,更多的人选择PHP,因为它更流行。这时,你将接触到后台,接触到调用数据,增减数据,和数据库打交道,并无时无刻不再思考一些程序处理逻辑。

    前台表现的东西并不是已经到了十全十美出神入化的境界,然而后台的需求已经战胜了一切,如果你不去取数据出来,那么网站就是死的没有生机的一样。可是你必须经历一场新的洗礼,如果你有编程基础,那么这条路将走的很顺利,并花掉很少的时间,或许一个星期就能入门,记住,是入门!而当利用这些知识和技术实现了数据的插入、获取、删除之后,你渴望新的功能,例如排序,例如检索,例如不同风格的调用,总之就是一些以前从来没想过的,现在却因为动了一些调用的知识而不断冒出来的新的需求。

    网络编程语言不止这3P,还有很多其他语言。它们要做的,既不是表现,也不是数据,而是在表现和数据之间进行数据处理。

    2、一个数据库工具:或许是MSSQL,或许是MySQL,或许是其他

    数据库在你之前或许是从来没考虑过,从来没想过的一件事,但是现在你必须考虑了,你的数据放在哪儿?数据库里!

    学习数据库并没有想象的那么难,可是你不得不买一本关于SQL的书,去学习SQL语句怎么写,并不断的通过搜索引擎查找资料,完成不同的数据调用。记住,这个时候还是在谈入门,我们几乎在每一项技术中处在入门的位置,但不必为此懊恼,因为这是必经之路,能走到此处的入门,已经很不易了。

    国内目前在数据库方面的人才还是很匮乏了,而从事数据库工作的,几乎都来自计算机专业,并且在行业中积累了丰富的经验。

    相关技术:开发测试软件、数据库软件、网站空间、开发文档、手册

    相关知识:开源CMS或网站系统、模板制作、开发工具、SEO、网站性能、站长;python、Ruby、SQL、服务器配置...

    五、进入到项目开发阶段你所要思考的问题

    在上一章中我们依稀可以看到一个小型项目的开发过程,你不得不考虑一些技术性问题,于此同时,你还要考虑除了技术之外的诸如策划、设计、运营、管理等等方面的问题,这个时候你常常渴望拥有一个团队。

    而乌徒帮要帮你解决的是技术上的问题,即使你的IDEA非常出色,甚至在你看来是改变世界的项目,然而你仍然需要考虑自己的技术团队是否能够实现,并且有足够的空间让你的团队成员自由发挥。更重要的是,项目从无到有,技术的因素占的越多开发的时间越短,技术的因素占的越少,项目的内涵更丰富更有价值,这并不矛盾,即使你的技术因素很少,但对于那些技术因素占据很多的项目,或许你的技术成本比他们还要高。

    而我的观念是:用自己最熟悉最拿手的技术,去完成最多的功能,实现最终的效果。一味追求高技术含量是不对的,facebook的技术含量很高吗?不是表现在使用先进技术上,而是表现在处理能力运行性能上。作为网站开发的学习者,用掌握的技术去实现自己的项目才是最关键的所在,任何异想天开的冲动,都会浪费你的时间和精力。

    你可能要面临的技术选择:1、用什么开发语言,2、是否使用ajax,3、用什么操作系统,4、注重页面表现还是注重运营和站内氛围,5、使用什么开发框架,6、使用什么脚本框架,7、手机端开发...

    我们所有的设想都建立在你单兵作战或两三个人小团队作战的前提下,哪一天你进了大公司,请忘记这一切,因为你会发现那些工作看上去那么简单。

  • 相关阅读:
    马拉车算法
    n皇后问题(回溯算法)
    求解最大升序子序列问题(动态规划)
    利用二进制进行快速乘法:俄罗斯农名乘法
    Redis、MySQL、Hive、Hbase的区别,数据库和数据仓库的区别
    MySQL数据库
    算法工程师的Bug与Debug
    复习KNN并实现
    文本领域数据增强技术
    Fasttext模型总结
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3170346.html
Copyright © 2011-2022 走看看