大家好,我是日成传媒小杨君,我来为大家解答以上问题。
web开发需要学习的内容:
1.前端知识。最好了解一些前端知识(HTML,CSS,JavaScript等。).但是在一些分工明确的公司,有的开发人员只做后端开发,不了解前端知识也没关系。这时候就需要前端和后端开发者的配合了。毫无疑问,前端开发人员掌握一些后端知识或者后端开发人员了解一些前端知识,可以使项目调试过程更加顺畅和高效。
2、Linux基础。由于在主流情况下项目部署都是使用的Linux系统,比如项目有一个Bug,在本地Windows上复现不了,就得***到部署的机器上想各种办法进行复现与分析。尽管Python是跨平台的,但各平台之间还是有不小的差异,因此掌握一些基础的Linux操作还是非常有必要的。
3.数据库系统。Web应用一般离不开数据库的添加、删除、修改和搜索,一般使用数据库。除了掌握这些常见的操作,读者还应该了解一些数据库的原理。虽然我们平时用ORM,可能不会直接写SQL语句,但归根结底都是在数据库中执行SQL语句。只有了解SQL语句,才能设计出更合理的表结构,写出更好的SQL语句,更好地利用ORM提供的各种功能。
4.缓存系统。访问一个网站,一般会有热点内容,比如微博的热搜。将热点内容缓存到内存中,然后直接从内存中读取并返回给查询用户,无疑会大大提高效率。有些开发者可能认为缓存系统很简单,其实不然。如果他们对每个缓存系统的内存分配方式、键消除算法以及底层网络协议的细节有深入的了解,就要注意缓存失效、缓存穿透、缓存雪崩等一系列可能出现的问题。
5.HTTP协议。Web开发遵循HTTP协议。例如,浏览器的缓存行为可以通过诸如Expires、Cache-Control、Last-Modified和Etag之类的字段来设置。例如,要实现一个下载功能,如果你不知道HTTP协议中的响应头和Content-Disposition的一些约定,你可能不知道如何开始。
6.网络协议(TCP/IP协议)。常见的TCP“三次握手”、“四波”等流程,每一步的原理都要清楚。
7.数据结构和算法。算法可以说是程序员的内功。只有更好的掌握算法,才能写出更高效的程序。如果你写程序的时候不考虑性能,只是觉得你的程序可以用,那么这样的程序远远达不到商业使用的标准。比如队列、栈、树等最基本的数据结构。操作它们的算法在编程过程中非常常见。
8.操作系统。Web应用程序将在操作系统的一个或多个进程中运行。比如从日志中看到有一个接口访问特别慢,怎么分析?影响因素很多,网络慢,服务器电流负载大,程序算法复杂度高,效率低。