一名有前端工程师,除了掌握自身知识体系外,在业余时间也应该了解下后端的知识时间,由于前端与后端工作是最最密切相关的,多学习些后端知识对自身也是大有好处的。

1、后端语言

后端语言用来写后台的三巨头:php、JAVA、ASP.NET三门语言各有特色,php轻量级开发,适合开发论坛和bbs的后台。java就不用说了,比较大型的项目的后台都是用java写的。工作的需求也是很大,但是从业的人员也是 非常多的,ASP.NET是微软提出的开发后台的一门技术。但是因为跨平台的特性不好的原因。是干不过Java的不过听说最近微软最近在搞跨平台性。你是前端工程师的话,可以考虑学习node.js,它给前端转全栈算是一条路吧JAVA的话学习要花费很大的精力和心血。毕竟大牛比较多,但是现在主要需求还是Java吧。

2、数据库

要懂得数据与数据库的交互过程,日常表的一些操作。 了解一下数据库的优化知识,对于使用数据库的Web站点来说,数据库性能关系整个web应用的性能,如果数据库性能不佳,其他的优化工作也是徒劳无功。所以优化数据库性能, 对提高整个web应用的效率有着举足轻重的作用。

1、 表的设计要规范,即要符合数据库设计范式。

2、 适当建立索引,在频繁作为检索条件,更新较少的字段上建立索引,以提高查询速度。

3、 分表查询,有水平分割、垂直分割。

4、 读写分离,读(read)、写(create、update、delete)。

5、 建立存储过程。

这里特别想提到的是拆分表格这一点。最简单的诸如,根据用户ID的最后1位的数字将其拆分成10个表,即 0,1,2,3,4,5,6,7,9。 这种平行的拆分方式,一方面,可以解决单个数据库并发连接数的限制,另外一方面可以控制单表的大小。很有效的一种优化方式,特别在于解决高并发的需求。

3、负载均衡技术

单台Web服务器处理能力有限,单台服务器承受的压力达到极限时,需要有更多的服务器分担工作,我们需要想办法将流量合理分配到更多的服务器上。 任何的负载均衡技术都要想办法建立某种一对多的映射机制: 一个请求的入口映射到多个处理请求的节点,从而实现分而治之(divide and Conquer)。 这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。 采用不同的机制建立映射关系,可以形成不同的负载均衡技术,常见的包括:

  • CDN

  • HTTP重定向

  • 基于DNS的轮询解析

  • 反向代理服务器

4、缓存技术

随着网络的发展,数据越来越多,从而导致运算的压力越来越大,为了解决这一问题,就需要合理分级计算资源,充分利用已有资源。缓存的工作实际上计算资源的合理分配。 缓存 (Cache) 原意是指可以进行高速数据交换的存储器。当CPU处理数据时,先到 Cache 中寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器中读取数据了。 现在缓存的概念已被扩充,凡是位于速度相差较大的两种介质之间,用于协调两者数据传输速度差异的结构,均可以称之为 Cache 。 在 web 世界,理论上每一层都可以被缓存。以php应用为例:

底层有CPU缓存,磁盘文件系统缓存

数据库层有 Table Cache,Query Cache Apache和Ngix的缓存

应用程序代码级别的Smarty实现的文件缓存

基于HTTP协议和浏览器自身实现的浏览器缓存

基于NoSQL系统的缓存(redis, memcached)

如果你现在也想学习前端开发技术,在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加我的Q群链接里面看一下,希望能够对你们有所帮助。有我做前端技术这段时间整理的一些前端学习手册,前端面试题,前端开发工具,PDF文档书籍教程,需要的话可以私聊我获取。

更多推荐

前端需要了解的后端知识