网页制作的前端和后台要学会什么?

柔柔上课别睡觉


网页制作的前端需要学习

1、html语言

首先要学这个,任何网页的显示都要靠html语言来表达,浏览器解释html语言显示在我们面前。

2、服务器架设

要制作网页就需要架设服务器来调试你做出来的网页,有iis等很多种,可以在网上搜索得到。

3、css语言

用网页制作三剑客做出来的东西,css大部分是自动生成的,很难理解,需要学习基本的css知识,是步入高手的必经之路。css控制着网页图片、表格、文字等等内容在我们面前的显示样式,比如颜色,边框,大小等。

4、divcss布局

这个东西是走向专业制作的必经之路,网页元素靠它来搭建基本框架,像百度空间,QQ空间的皮肤等就是利用这个来做的。

5、数据库

走向动态网页的基础,比如百度知道的提问回答这些,都涉及数据库的读、写、改、删。常见的数据库有mysql、mssql、access等。数据库是所有软件的基础,80%以上的应用程序都涉及数据库,而作为网页制作来说没有必要学得很深,够用就行。

6、动态语言,asp,php,jsp,.net(c#等)

要操作数据库,交互就需要动态语言,现在好多动态语言像php都有“框架”,用框架建站好比用活动板房的零件建房子,全部自己写好比一块一块砖砌房子。

7,java

网页里面的验证码,弹窗,特效等就靠它了,一个没有java的页面基本没有,这个也有好多的框架可用,这个语言是难的,也是强大的,网页木马,病毒大多用这个语言。

8、平面涉及软件

flash,photoshop等,页面美化还要靠图片等东西。

这些个东西你会一个,或者一个都不会,都能做出一定水平的网页(用三剑客,或者直接用word做好后另存为htm文件就行),要深入的学,这些知识基本的。


网页制作的后端需要学习

1. 学习一门语言

语言的选择有很多种,为了方便您的选择,我将它们进行了分类。对于刚接触后端开发的新手,我强烈建议你们选择一门脚本语言,因为它们的需求很多且上手较快。最好的选择当然是Python,它的需求正在急速增长,有大量的职位可供选择。

2. 学以致用

最后的学习方法就是动手实践。一旦你选择了语言,然后对其有了基本的了解,开始使用它。运用它进行尽可能多的练习,写一些小程序练手,熟悉它。下面是一些小例子,可以帮助你开始。

* 实现一些bash中你常用的命令, 比如ls的功能

* 写一个从reddit的/r/programming频道抓取数据并将之保存为JSON格式的小程序

* 写一个程序将目录结构保存为JSON文件。

* 根据上面生成的JSON文件,生成目录结构。

* 想想日常工作中的任务,尝试将之自动化。

3. 学习包管理器

一旦你了解了语言的基础,同时用它写过些示例程序,接着学习该语言的包管理器。包管理器可以帮助你使用第三方库,同时你也可以通过它发布自己的库以供他人使用。

假设你选择的是Python,你应该已经学习了Pip。Node.js有NPM或Yarn、PHP有Composer,Ruby有RubyGems。无论你选择了什么,进一步去学习它的包管理。

4. 规范以及最佳实践

每一种语言有其规范以及最佳实践。你需要掌握这个东西。比如Python有PEP8跟Google Python代码规范。Node.js各社区有不同的规范。其他语言的状况也大同小异。

5. 安全

务必要掌握安全最佳实践。读读OWASP指南,了解不同的安全问题,同时要知道如果避免这类问题。(你选择的语言)

6. 实践

现在你已经掌握了语言基础,最佳实践,安全相关以及包管理,你可以去开发自己的库供他人使用了。如果你用Python,你需要发布在Pypi,如果是Node.js,你需要发布在Npm。

到此,你可以在Github上找一些项目,参与进去。

* 重构,实现你学到的最佳实践

* 修复已知的问题

* 添加新的功能

7. 测试

测试分很多种,要了解每一种测试的类型以及其目的。但是现在,首先学习单元测试以及综合测试,应用在你的程序中。此外,还要了解不同的测试术语,比如mocks,stubs等等。

8. 实践-测试

为你所写的所有程序编写单元测试,特别是在Github上参与的项目。

同时,学习覆盖率的概念,计算测试代码的覆盖率。

9. 关系型数据库

学习利用关系型数据库保存你的数据。在学习之前,首先掌握数据库相关的术语。比如:keys,indexes,normalization,tuples等。

可供选择的数据库很多,你只需要掌握一个,其他的也会变得很简单。流行的有MySQL,MariaDB(MySQL分支,与之非常相似),PostgreSQL。推荐选择MySQL开始。

10. 动手时间 - 实践

到了将所学融合的时候了。

创建一个简单的应用,运用你所学的一切。实现一个想法,可能是创建一个简单的博客站点,实现一下的特性:

* 账户系统——注册&登陆

* 注册用户可以创建blog

* 用户可以查看自己创建的所有的blog

* 用户可以删除自己发布的blog

* 保证用户只能看到自己发布的blog,不能看其他人的

* 为应用编写单元/综合测试

* 为查询创建索引。分析查询,确保索引生效

11. 学习一个框架

根据你的项目类型以及你的语言的不同,你可能会需要一个框架辅助开发。(也可能不需要)。每种语言都有不同的选择,选择一个合适的即可。

如果你选择了Python,建议你选择Django,对于微框架,建议Flask。

对于Node.js,最知名的框架是Express.js。

12. 实践-框架

利用选择的框架重构你的博客应用。不要忘记了集成测试代码进来。

13. 学习NoSQL(not only SQL)数据库

首先了解什么是NoSQL,以及它们与关系型数据库的差别,同时为什么需要它们。NoSQL数据库也有多种选择,了解并比较它们之间的特性以及不同之处。常用的有MongoDB,Cassandra,RethinkDB,Couchbase。建议选择MongoDB开始。

14. 缓存

学习如何在你的程序中实现应用级的缓存。了解如何利用Redis或Memcached实现缓存,同时在你的博客应用中实现缓存功能。

15. 创建RESTful APIs

了解REST,学习如何编写RESTful APIs,阅读关于REST的白皮书。(By Roy Fielding)。理解REST不仅仅是HTTP APIs。

16. 学习不同的认证方法

学习不同的认证以及认证方式。你需要明白它们是什么,它们的不同点,以及它们适用的场景。

* OAuth--Open Authentication

* Basic Authentication

* Token Authentication

* JWT--JSON Web Tokens

* OpenID

17. 消息代理

学习消息代码,了解什么时候以及为什么使用它们。有很多可供选择,最知名的是RabbitMQ & Kafka。建议从RabbitMQ开始学习。

18. 搜索引擎

随着应用程序规模的增长,简单的查询已经无法满足要求。这个时候,你需要用到搜索引擎。同样有多种选择,每一种有自己的特点。

19. 学习使用Docker(容器)

Docker可以为你的开发提供巨大的便利。它可以让你的开发环境与生产环境保持一致,可以让你的系统保持干净,可以加速你的编码,可以测试部署。Docker的好处,请自行google。从现在开始,学习Docker。

20. Web服务器的知识

到了这个时候,你可能已经处理过服务器相关的问题。这一步骤主要是了解不同的服务器之间的差异,局限,以及不同的调优方法。

21. 学习Web Sockets

虽然不是必须,但是具备Web Sockets的技能是有好处的。学习编写实时的web应用。可以在博客应用中,实现即时更新blog列表。

22. 学习GraphQL

学习GraphQl的APIs。了解它与REST的不同,然后为什么它被称之为REST 2.0。

23. 研究Graph数据库

Graph模型具备非常好的灵活性——在处理数据间的关系的时候。Graph数据库提供高速&高效的存取以及查询。学习了解Neo4j或者OrientDB。

24. 不停探索

在你的学习以及实践过程中,肯定会碰到路线图里没有提及的东西。你只需要保持开放以及饥渴去学习新的东西。

时刻谨记,学习的关键是实践。多动手!刚开始的时候,你可能会感觉不大好,随着你的坚持以及时间的推移,你会变得越来越好。


困难群众代表


网页设计是伴随着互联网的发展,衍生出来的一个行业。互联网发展得越迅速,网页设计也会随之发展得迅速,那么网页设计就业前景也就可想而知了。网页设计是要分前端和后台的,网页设计师是前台后台都要学习的,学习的内容主要包括:

一、网页设计前端包括:网站Logo图标的制作、网页顶部图片的制作、网页背景图片的制作、网页中SWF动画制作、WEB网页页面制作、网站导航栏设计等等;HTML网页构架与窗口布局制作、常用工具栏设计、创建页面以及页面制作,超级链接、表格设计、框架技术;CSS 层叠样式表;DIV+CSS网页布局;个人和工作室网页;企业类型网页;门户类网页。

二、网页设计前端JS交互开发,Jquery使用Jquery框架的扩展、结合各种事件和对象的选择。

三、服务器的组建:使用apache搭建PHP网页服务器,MySQL服务器。

网页设计师只有前端和后台都系统学习了才能更好的结合运用,才能做出好的作品!




宇波波夫


很高兴能够回答你的问题目,本人也是一个从技术员转型到前端开发,目前在管理层做产品管理

首先我们先了解一下整个产品的一个框架。

前端:就是你浏览网页能够看到的图形化的东西通过浏览器展现出来。

这一部分的组成,主要结构是html+css这是干什么呢?就是画出整个页面的图片或者是文字,还有布局。

那展现出来的数据是通过什么样的程序来实现的呢?就是通过JavaScript.

前端开发主要是静态用户界面加上一些动态效果,不涉及数据逻辑!

比如如:一个登陆页面: 前端开发只要做好静态页面部分 ,加上鼠标移入输入框、移出输入框的颜色变化

Javascript主要就是来调用后台数据库里面的数据,这个中间有一个桥梁我们通常称之为一个API,用文字描述的话,通常称为接口。

前端三大语言: HTML, CSS和 JavaScript

现在web前端三大框架Angular、React、Vue

下图就是我目前在做的一个公司产品:

那么这些API我们也是需要有人在后端通过各种编程语言来进行开发,开发的人员就称之为后端开发。

后端开发人员也可能会参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。

他可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。

后端开发人员通常的工作是从数据库或其他数据源写入、读取和处理数据,因此拥有SQL等技能会非常重要。这里包含各种主流数据库的熟悉运用掌握一门是不够的。

比如:mysql,SQL Server,Oracle Database,mongodb等

以最简单的Java为基础你要知道集合(Map、List、Set、Queue)、并发包(线程池、线程、并发工具类(Tools、Sepehone))、JVM(GC、JMM、运行时数据区域)、NIO,定时器等基础知识集合(Map、List、Set、Queue)、并发包(线程池、线程、并发工具类(Tools、Sepehone))、JVM(GC、JMM、运行时数据区域)、NIO,定时器等基础知识

这还只是冰山一角,最基础的部分你还要熟悉网络这一块。后端要说的实在是太多了,因为后端是一个涉及性比较全面的一个职业,哪怕是16进制二进制这种都是平时经常用的。

像下面这些网络协议都是基础知识要熟练掌握。

TCP 报头格式

UDP 报头格式

TCP/UDP 区别(不仅是宏观上的,还要了解各自的机制)

HTTP 状态码(熟悉使用场景,比如在缓存命中时使用哪个)

HTTP 协议(一些报头字段的作用,如cace-control、keep-alive )

OSI 协议、TCP/IP 协议以及每层对应的协议

SESSION 机制、cookie 机制

TCP 三次握手、四次挥手(面试官最喜欢问的,建议每天手撸一遍,而且不只是每次请求的过程,各种 FIN_WAIT、TIME_WAIT 状态也要掌握)

打开网页到页面显示之间的过程(涵盖了各个方面,DNS 解析过程,Nginx 请求转发、连接建立和保持过程、浏览器内容渲染过程,考虑的越详细越好)

http 和 https 区别 (https 在请求时额外的过程,https 是如何保证数据安全的)

IP 地址子网划分

POST 和 GET 区别

DNS 解析过程

后端开发人员——至少对于Web开发——也需要擅长他们正在使用的技术栈的服务器端语言。

例如,虽然前端Web开发人员更多地专注于HTML,CSS和JavaScript,而后端开发人员需要更多地了解PHP Web框架,Ruby on Rails,ASP.NET MVC或任何正用于构建应用程序的服务器端Web开发框架.

好了就说这么多,希望我这些只是能对你有所帮助,当然了这些都是需要在职业生涯中不断去学习掌握的一些技能。活到老学到老。

如果你将成为一个资深的程序员,或者是正在转型成为程序员的话,我建议你从前端慢慢开始做,慢慢去熟悉,从一些个人网站或者是个人的博客部署这方面去先学习了解一下,现在各种组件教程也都有。

加油吧!


分享到:


相關文章: