后端入门记

小记:

  21年我找到实习的时候是以前端工程师的title拿到offer的,那时候我老说自己是程序员,甚至不记得是鹏哥还是杨哥说我的,有些太妄自菲薄了,我们应该自认为是工程师。那时候我还自嘲说这没什么大不了的,但是现在真觉得,我们应该有那么一点心气,作为一个软件开发工程师。

  我发现市面上大部分的教程都不好,讲不清又或者讲不全开发的全貌,又或者有人会直接告诉你就去学java,去学c,去学javascript,去学vue,去学spring boot,去学前端,去学后端。可是你都不知道那些是起什么作用就盲目去学有什么用呢?

  简而言之,开发分为两部分,一部分是面对客户端,一部分是面向逻辑端的。

  举个例子,我们现在要开发一个论文管理系统,学生可以用这个系统来提交自己的论文,老师可以用这个系统来管理学生的论文。那么要实现学生把自己的论文提交到这个系统来这个功能,这个过程中都发生了什么?用到了哪些技术和知识点呢?

在“学生提交论文”这个过程中,我们会用到:

  1. 前端技术:构建界面,上传数据。
  2. 网络通信:HTTP/HTTPS 协议传输数据。
  3. 后端技术:处理请求,验证数据,存储论文。
  4. 数据库:保存论文信息和元数据。
  5. 安全措施:登录认证,数据加密。
  6. 运维工具:容器化部署,监控系统。

而这里我们重点详解一下后端的部分:

简单来说:

  1. 后端开发是个大圈子
    后端开发指的是写所有不直接在浏览器或用户界面上显示的代码,包含:

    • 服务器开发
    • 数据库管理
    • 接口设计
    • 安全管理
  2. 服务器开发是后端开发的一部分
    服务器开发就是后端开发中专门处理网络请求、接收数据、做逻辑处理并返回结果的那部分。比如,前端发请求“我要提交论文”,服务器接收请求后,把论文存到数据库,告诉前端“存好了”。这个就是服务器开发的内容。

换个比喻

想象你要去快餐店点餐,流程是这样的:

  1. 你(前端)走到柜台(服务器),说“我要一份汉堡”。
  2. 柜台工作人员(后端开发的服务器部分)接收你的需求,告诉后厨(后端开发的数据库部分)去做汉堡。
  3. 后厨做完汉堡后,交给柜台工作人员(服务器),工作人员把汉堡交到你手上。

在这里:

  • 柜台(服务器开发)是整个后端的一个部分。
  • 后端包括柜台(服务器)和后厨(数据库)。

名词解析:
maven是什么?

Maven 是一个帮助程序员更轻松地管理和组织项目的工具。用最简单的话来说:

想象你在做一个大拼图,拼图里有很多小块。这些小块可能是别人已经做好的,你只需要拿来用就行。Maven 就像一个帮你找拼图块的助手,不仅能帮你找到它们,还会把它们摆在合适的地方,并保证它们都能正确地拼在一起。

用更具体的比喻:

  1. 自动获取工具:如果你在做模型需要胶水、颜料和零件,Maven 可以帮你一键买齐所有材料,你不需要自己一家家店去找。
  2. 统一标准:Maven 还会告诉你胶水放哪儿、零件怎么组合,按照一定的规则帮你整理工具和材料。
  3. 节省时间:以前你需要自己装零件、检查每个零件是否合适,现在 Maven 会帮你完成这些事,让你专注于拼模型的乐趣。

所以,Maven 是程序员用来管理代码、找工具(比如依赖的包),并快速搭建和运行项目的一种神器!

什么是 SpringBoot?

想象一下,你在家里想煮一碗面。如果没有工具,你需要:

  1. 自己生火。
  2. 自己造锅。
  3. 自己去找材料。

这样做非常复杂,对吧?

SpringBoot 就像一个“超级方便的厨房工具箱”。它已经帮你准备好了一切:

  • 火已经生好了。
  • 锅已经架好了。
  • 材料都已经洗好、切好了。

你只需要往锅里加材料,然后煮就行了!简单又快速。

那 SpringBoot 做什么呢?

SpringBoot 是用来帮你快速搭建一个软件项目的工具。比如说:

  • 你想做一个小程序来记录每天的花销。
  • 你想做一个餐厅的点单系统。
  • 你想做一个网站,让别人看到菜单。

这些都需要写很多代码,但 SpringBoot 帮你自动做好了很多复杂的准备工作,你只需要专注于实现功能。

为什么用 SpringBoot?

  1. 方便:SpringBoot 自己会帮你做好很多“底层”的事情,比如连接数据库、管理用户信息等等。就像快餐店一样,点单后很快就能上菜。

  2. 省时间:不用花很多时间去配置各种复杂的东西,像“加水”、“生火”这些都交给 SpringBoot 来做。

  3. 简单:对新手很友好,像搭积木一样,只要跟着模板来写就能做出你想要的东西。

举个例子:做一个点单系统

假设你有一个餐厅,想做一个“点单系统”:

  1. 以前你得手动写代码来:
    • 储存菜单信息。
    • 记录客户点的菜。
    • 计算总价。
    • 存进数据库。
  2. 用了 SpringBoot 后:
    • 你只需要告诉它:“这是我的菜单,这是我的数据库地址。”它就能自动帮你做好大部分的事情。
    • 你只要再写一小部分代码,就可以让点单系统上线!

SpringBoot 和 Java 的关系

SpringBoot 是 Java 的一个“工具”。就像:

  • Java 是做东西的“原材料”(像砖头、钢筋)。
  • SpringBoot 是“施工队”,它帮你快速盖房子。

什么是Mybatis?

MyBatis 和传统方式的区别:

在没有 MyBatis 的时候:

  • 开发者需要自己写很多冗长的代码来操作数据库,比如手动打开连接、写 SQL、处理结果集等等。

有了 MyBatis 后:

  • 开发者只需要专注于写 SQL 语句和逻辑,MyBatis 会帮你处理大部分重复性工作,比如数据的转换和连接的管理。

总结:

  • MyBatis 是一个帮助程序与数据库沟通的工具。
  • 它让操作数据库变得更简单、更高效,同时又非常灵活。
  • 适合需要自定义复杂 SQL 的场景,深受开发者和企业的喜爱。

什么是 config 包?

  • 在 Java 项目中,config 是一个通常约定俗成的包名,用于存放项目的配置类
  • 配置类的作用是集中管理项目中与配置相关的代码,比如:
    • 数据库连接池配置。
    • API 接口路径、白名单、黑名单等安全配置。
    • 应用启动时需要加载的初始化参数。

通过将这些配置代码统一放在 config 包中:

  1. 代码清晰:让项目结构更整洁,配置逻辑集中在一处。
  2. 易于维护:修改配置时,只需要调整这个包里的类,而不影响其他代码。

什么是 Druid

Druid 是一个数据库连接池的工具,它主要被用于管理和优化 Java 应用程序与数据库之间的连接。简单来说,它就像一个“中间人”,帮忙管理 Java 应用程序和数据库之间的数据传输,并提供各种强大的监控和管理功能。

  1. 数据库连接池
    假设数据库是一个餐馆,而 Java 程序是顾客。每次顾客想点菜,都需要一个服务员(数据库连接)去拿菜单(数据)。
    如果每次顾客都需要重新找服务员,就会非常浪费时间(每次都重新建立数据库连接)。
    Druid 的作用是:

    • 在“餐馆”里提前准备好一些服务员(数据库连接池)。
    • 当顾客来了,直接用现成的服务员(连接),大大提高效率。
  2. 性能监控
    Druid 还提供了一个监控后台页面(如你图片中的登录界面),你可以用它来:

    • 查看当前有多少“服务员”(数据库连接)在忙。
    • 哪些查询特别慢(性能问题)。
    • 有没有出错的请求(错误日志)。
  3. 安全功能
    Druid 提供了黑白名单、用户登录等安全功能,确保只有授权的人能访问数据库或监控页面。

什么是 AJAX?

最简单的话来说,AJAX 是一种技术,可以让网页在不重新加载整个页面的情况下,向服务器请求或发送数据。

为什么要用 AJAX?

想象一下,你在一个购物网站上填写收货地址。当你输入一个邮政编码时,网页自动加载出对应的城市名字,而你不用刷新整个网页。这就是 AJAX 的作用:

  1. 局部更新:只更新你需要的部分,而不是整个网页。
  2. 更快更流畅:减少等待时间,提升用户体验。
  3. 节省资源:只请求需要的数据,减少流量。

AJAX 就像一个快递员:

  • 你(用户)告诉快递员(浏览器)需要什么。
  • 快递员去仓库(服务器)拿到你要的东西。
  • 快递员把东西送回来,而你不用离开座位(不用刷新整个网页)。

这个技术让网页变得更“聪明”和“快速”,是现代网页开发中不可缺少的一部分!

为什么叫 AJAX

AJAX 是 "Asynchronous JavaScript and XML" 的缩写,意思是:

  • Asynchronous(异步):请求是非阻塞的,网页可以一边加载数据,一边让用户继续操作。
  • JavaScript:用 JavaScript 写的代码,用来发送请求和处理响应。
  • XML:早期用来传输数据的格式,现在更多使用 JSON。

虽然名字里有 XML,但现代开发中已经很少用它,大部分时候使用更简洁的 JSON 格式来传递数据。

什么是 CORS?

CORS(Cross-Origin Resource Sharing)是一种允许浏览器跨域访问资源的机制,用来解决不同网站之间无法直接请求数据的问题。

举例说明

没有 CORS 的情况:
  1. 你在 http://www.a.com 上的页面中,前端代码请求 http://www.b.com/api/data
  2. 浏览器阻止请求,报错:No 'Access-Control-Allow-Origin' header is present.
  3. 原因:浏览器默认禁止跨域请求,保护数据安全。
有 CORS 的情况:
  1. 如果 http://www.b.com 的服务器返回:

    Access-Control-Allow-Origin: http://www.a.com

  2. 浏览器检查到这个头信息,允许请求通过。
  3. 请求成功,返回数据。

总结

CORS 是一种服务器设置的机制,通过设置 Access-Control-Allow-Origin 等头信息,让浏览器允许跨域访问资源,解决浏览器的安全限制。

什么是微服务?

  • 微服务是一种软件开发的架构风格。
  • 把一个复杂的软件系统拆分成多个小型、独立的服务,每个服务专注完成一个具体功能。
  • 比如:
    • 订单服务:只处理订单相关逻辑。
    • 用户服务:管理用户信息。
    • 支付服务:专门负责支付和交易。

每个服务可以单独开发、部署和扩展,各服务之间通过网络通信(如 HTTP 请求或消息队列)进行协作。

导出Excel报表功能:

官网文档:http://poi.apache.org/

教程:https://www.yiibai.com/apache_poi

[入门数据分析的第一堂课]这是一门为数据分析小白量身打造的课程,你从网络或者公众号收集到很多关于数据分析的知识,但是它们零散不成体系,所以第一堂课首要目标是为你介绍:Ø  什么是数据分析-知其然才知其所以然Ø  为什么要学数据分析-有目标才有动力Ø  数据分析的学习路线-有方向走得更快Ø  数据分析的模型-分析之道,快速形成分析思路Ø  应用案例及场景-分析之术,掌握分析方法[哪些同学适合学习这门课程]想要转行做数据分析师的,零基础亦可工作中需要数据分析技能的,例如运营、产品等对数据分析感兴趣,想要更多了解的[你的收获]n  会为你介绍数据分析的基本情况,为你展现数据分析的全貌。让你清楚知道自己该如何在数据分析地图上行走n  会为你介绍数据分析的分析方法和模型。这部分是讲数据分析的道,只有学会底层逻辑,能够在面对问题时有自己的想法,才能够下一步采取行动n  会为你介绍数据分析的数据处理和常用分析方法。这篇是讲数据分析的术,先有道,后而用术来实现你的想法,得出最终的结论。n  会为你介绍数据分析的应用。学到这里,你对数据分析已经有了初步的认识,并通过一些案例为你展现真实的应用。[专享增值服务]1:一对一答疑         关于课程问题可以通过微信直接询问老师,获得老师的一对一答疑2:转行问题解答         在转行的过程中的相关问题都可以询问老师,可获得一对一咨询机会3:打包资料分享         15本数据分析相关的电子书,一次获得终身学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值