以下内容均来自和gpt的对话,感恩gpt老师的“耐心”解答,让我这辈子第一次成为了勇于提问的学生,感恩~
由于我对后端的学习非常浮于表面,目前想选一个具体的知识点去钻研,之前面试时面试官给了我一些范围,包括但不限于:框架对比、优化查询速度、多线程分布式、高并发等。
由于我整个知识体系没有建立起来,无法选择接下来的学习内容,我决定先了解后端的发展过程,了解它最开始它包括哪些技术,因为遇到了什么问题,所以增加了什么环节,涉及到了哪些技术。并且看看自己目前处于什么阶段,下一步最应该学习哪一部分的技术,所以有了这一次和gpt的问答。
内容可能非常小白,但也许有点用的吧,也许~
下面是我本次对话的知识点总结,如有错误,欢迎批评指正。
后端开发的发展过程及主要技术点
一、初始:基础的后端开发
1.1 服务器、数据库和编程语言
- 最初,后端开发主要涉及服务器(如Apache、Nginx)、数据库(如MySQL、PostgreSQL)和一种服务器端编程语言(如Java、Python、Ruby)。
- 这一阶段的核心是理解如何处理HTTP请求,执行业务逻辑,与数据库交互(CRUD操作:创建、读取、更新、删除),并返回响应。
1.2 框架的出现
- 为了简化开发过程,出现了许多框架,如Spring(Java)、Django(Python)、Rails(Ruby)。
- 框架提供了标准化的方式来构建和部署网站和应用程序,包括路由、模板、ORM(对象关系映射)等工具。
1.3 提问环节
Q1.3.1:为什么会出现这么多种框架、服务器、编程语言?
- 不同的编程语言有各自的特点和优势,适用于不同类型的项目。例如,Java适用于大型企业级应用,Python适合快速开发和数据科学。
- 不同的框架针对不同的编程语言和设计哲学。例如,Spring适合Java生态,Django适合Python开发者。
- 服务器软件如Apache、Nginx等各有所长,比如Nginx在处理静态内容和高并发方面表现更佳。
二、进阶阶段:性能和优化
2.1 缓存和数据库优化
- 随着应用规模的扩大,性能问题开始显现。这时,引入了缓存系统(如Memcached、Redis)来提高数据检索速度,减少数据库负担。
- 数据库的查询优化、索引的使用也成为关键。
2.2 异步处理和多线程
- 为了提高应用的响应速度和处理能力,开始使用异步编程和多线程技术。
2.3 提问环节
Q2.3.1:什么是缓存系统?
临时存储频繁访问的数据,以便快速访问。它通常存储在内存中,访问速度比磁盘存储(如数据库)快得多。能减少对数据库或其他主要数据源的访问次数,从而提高数据检索的速度和减少延迟。