开课吧: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学习资料,免费
开课吧:Web开发要学习哪些基础知识?相关推荐
- 学python需要什么基础知识-没学过Python先要学习哪些基础知识?
零基础学Python应该学习哪些入门知识 关于零基础怎么样能快速学好Python的问题,百度提问和解答的都很多,你可以百度下看看.我觉得从个人自学的角度出发,应从以下几个方面来理解: 1 为什么选择学 ...
- 一个Web开发的客户端基础技术测试Demo
最近参加了一个Web开发的客户端基础技术测试,虽然对于做前台开发的程序员来说比较简单,但对于一直做后台代码编写的程序员想掌握前台开发的基础来说,应该是一个比较好的Demo.对于Web初学者来说,也是一 ...
- 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)
[书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 }:YKf: ...
- 名师讲坛—Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)
名师讲坛-Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax) 基本信息 作者: 李兴华 王月清 出版社:清华大学出版社 ISBN:9787302231585 ...
- OpenGL开发之旅基础知识介绍
最近由于手机项目中需要用到OpenGL ES的知识,所以这段时间正在研究OpenGL的相关知识.因为OpenGL ES是OpenGL的剪裁版本,所以我直接从OpenGL入手,然后再去看OpenGL E ...
- java web开发需要学习哪些知识_java web开发需要学习哪些知识?
现在世界已经进入一个以web为核心的阶段,掌握一门相关技术是非常有用的,那么java web开发需要学习哪些知识呢?下面小编就来给大家分享一下java web开发的知识. 1.面向对象分析设计思想 J ...
- 微信小程序开发数据缓存基础知识辨析以及运用实例
微信小程序开发数据缓存基础知识辨析以及运用实例 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的 ...
- Bootstrap响应式Web开发笔记01——基础入门
Bootstrap响应式Web开发笔记01--基础入门 Bootstrap响应式Web开发笔记02--移动端页面布局 Bootstrap响应式Web开发笔记03--Bootstrap栅格系统 Boot ...
- 开课吧:Java开发学习路线-基础知识
一般来说想要成为Java开发工程师,需要先了解清楚Java开发学习路线,而基础知识部分是整个路线里面最最重要的部分,也是后续进行框架学习.能看懂开源项目的前置基础,这部分是最不能忽视的! 基础知识: ...
最新文章
- PCL:英文参考链接
- 机器学习项目总结.pptx
- Vue.js not detected 解决办法
- finally块的问题(finally block does not complete normally) (转)
- SQL2005迁移账户密码粗鲁设置
- python集合_Python集
- java写小游戏代码可复制
- uml通信图画法_UML之通信图
- 也谈VC中ModifyStyleModifyStyleEx无法改变控件的Style)
- Python实现电影抢票系统需要几行代码?猜对有奖。
- 小白如何做一个Python人工智能语音助手
- 北京上空出现三个太阳?专家:冰晶云对太阳光散射形成“幻日”
- 全国计算机科学与技术讲师电话,计算机科学与技术学院
- 中国移动家庭智能网关超级账号密码(广西桂林)
- android2012系统,压倒性份额四核技术 Android系统2012前瞻
- linux命令行连接百度网盘快速上传下载数据(bypy)
- 股市筹码分布的实现效果
- ABAP 如何发布odata服务
- 源代码的学习(如何学习)
- ARM Linux下编译freetype、sdl、sdl_ttf