开课吧:Web开发要学习哪些基础知识?

今天带来的知识点主要是让大家在学习过程中有一个清晰的思路,如果想在网络后端开发的道路上走得更远,还需要修炼自己的内功,这些基础知识是很重要的。

前端知识

最好能了解一些前端知识(HTML,CSS,JavaScript等)。但在一些分工非常明确的公司,有些开发人员只做后端开发,不懂前端的知识也是可以的,这时需要前后端的开发人员进行配合。毫无疑问,前端开发人员掌握一些后端的知识或者后端开发人员了解一些前端的知识,能使项目联调过程更顺畅、效率更高。

Linux基础

由于在主流情况下项目部署都是使用的Linux系统,比如项目有一个Bug,在本地Windows上复现不了,就得ssh到部署的机器上想各种办法进行复现与分析。尽管Python是跨平台的,但各平台之间还是有不小的差异,因此掌握一些基础的Linux操作还是非常有必要的。

数据库系统

Web应用一般离不开对数据库的增加、删除、修改和查找,一般都会用到数据库。读者除了掌握这些常见的操作外,最好能对数据库的原理有一些了解,虽然我们平时使用的是ORM,可能不会直接编写SQL语句,但归根结底到最后,都是在数据库中执行SQL语句,只有理解了SQL语句,才能设计出更合理的表结构,才能写出更优秀的SQL语句,才能更好地使用ORM提供的各种功能。

缓存系统

网站访问一般会出现热点内容,比如微博的热搜,将热点内容缓存到内存中,然后直接从内存中读取返回给查询的用户,这样无疑能极大地提高效率。有的开发人员可能觉得缓存系统比较简单,其实不然,如果深入了解各缓存系统的内存分配方式、Key淘汰算法、底层网络协议细节等,就要注意可能发生的比如缓存失效、缓存穿透、缓存雪崩等一系列问题。

HTTP协议

由于Web开发就是遵循HTTP协议来进行的,比如可以通过Expires,Cache-Control,Last-Modified和Etag等字段来设定浏览器的缓存行为。再比如实现一个下载的功能,如果不知道HTTP协议中的Content-Disposition这个响应报头和一些约定,就可能不知道应该如何下手。

网络协议(TCP/IP协议)

常见的TCP“三次握手”,“四次挥手”等过程,每一步的原理都要能够弄清楚。

数据结构和算法

算法可以说是程序员的内功,只有更好地掌握了算法,才能编写出更高效的程序。如果编写程序时不考虑性能,觉得自己的程序能用就行了,那么这样的程序远远达不到商业使用的标准。例如,数据结构中最基础的比如队列,栈,树等以及操作它们的算法在编程过程中非常常用。

操作系统

Web应用会运行在某个操作系统的一个或多个进程中。比如从日志中看到有一个接口访问时特别慢,该怎么进行分析?影响的因素非常多,可能是网络缓慢、可能是服务器当前负载过高、可能是程序算法的复杂度高而效率低等。

web学习资料,免费
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值