当前位置: 首页 > news >正文

后端开发基础概念

后端开发基础概念

目前处于项目上手阶段,在学习项目过程中,有一些一知半解或者不明白含义的专业名词或者缩写,在此汇总。里面的内容很多都是基于个人理解,水平有限如果有出错的地方还请各位大佬批评指正。
2023年8月31日00:34:22,已经比较晚了,后续的内容之后再补充吧,一口吃不了个胖子。

常见缩写总结

  • PO:Persistent Object,持久层对象,用于映射数据库中的Java类。通常用于表示数据库中一条记录的Java对象,通常具有与数据库中表相同的字段和数据类型。常常作为DAO(数据访问对象)层的数据模型,以及和数据库交互的对象。PO对象中的属性与数据库表中的列相互的对应,每一行数据库表数据对应一个PO对象,PO对象中的字段值就是对应的列值。
  • VO:Value Object,值对象,主要负责业务之间的值传递。VO通常表示程序中的某个值或者一组值,例如用户的姓名、年龄、地址等。VO通常用于在不同层之间传递数据,例如在Controller层和Service层之间传递数据。VO对象通常是PO对象中提取出来的一部分数据,用于与前端或其它层之间的展示和传递。
  • DAO:Data Access Object,数据访问对象,负责与数据库的交互。DAO是整个程序中与数据库交互的核心部分。DAO负责将数据库中的数据转换为Java对象,并将Java对象的数据保存至数据库中。DAO的主要作用是隔离上层业务逻辑和下层数据访问的细节。在Java开发中,通常使用Hibernate等ORM框架来实现DAO层。DAO的主要任务就是实现数据库的增删改查等基本操作,同时提供一些高级查询功能。

关于DAO与PO的区别:
DAO层主要提供的是访问底层数据源的方法,这些方法可以被Service层调用;PO主要是纯对象本身,不涉及具体的增删改查操作。

  • API:Application Programming Interface,应用程序接口。为应用外部提供功能支持。
  • APP:Application
  • MVC:
  • DDD:

常见技术简明介绍

  • Redis:Remote Dictionary Server,远程字典服务。redis是一个key-value存储系统,支持push/pop,add/remove以及取其交集并集和差集以及更丰富的操作。是高性能的key-value数据库。我的理解就是面向企业级开发的HashMap,主要面向数据库数据的存取/查找。为什么快?

完全基于内存操作;
C语言实现,优化过的数据结构,基于集中基础的数据结构,redis做了大量的优化,性能极高;
使用单线程,无上下文切换成本;
基于非阻塞的IO多路复用机制。

  • Spring:一个开源的J2EE应用程序框架,
  • SpringMVC:
  • SpringBoot:
  • MyBatis:一款优秀的持久层开源框架,其让开发者可以专注于SQL语句本身,而不再过多的关注类似于比较原始的servlet+jsp对应的JDBC中涉及到的数据库的链接以及关闭等细节操作,简化开发流程,提高了后端开发的工作效率。

MyBatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatement)配置起来,通过Java对象和statement中的sql进行映射生成最终执行的sql语句,最后由MyBatis框架执行sql并将结果映射到Java对象并返回。

  • SpringIoC:
  • AOP:
  • RabbitMQ:一种消息队列,可以处理点对点消息队列和发布/订阅模式的消息队列;
  • Kafka:
  • Dubbo:Alibaba开发的开源服务管理框架,支持丰富的服务治理能力。依然很抽象,如何使用?
  • MQ:
  • MySQL:
  • XDB-Router:
  • ES:
  • ZK:

相关文章:

后端开发基础概念

后端开发基础概念 目前处于项目上手阶段,在学习项目过程中,有一些一知半解或者不明白含义的专业名词或者缩写,在此汇总。里面的内容很多都是基于个人理解,水平有限如果有出错的地方还请各位大佬批评指正。 2023年8月31日00:34:22…...

ELK原理和介绍

为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化…...

FBX SDK 开发环境配置 visual studio 2022

FBX | Adaptable File Formats for 3D Animation Software | Autodesk. 下载windows的sdk并安装. 创建一个c console 工程 设置include目录 添加预处理宏 FBX_SHARED1 添加fbx sdk lib 目录 添加依赖lib : libfbxsdk-md.lib libxml2-md.lib zlib-md.lib 配置完毕....

vue面试题_vue2和vue3的区别

1、数据绑定原理不同 vue2:vue2的数据绑定是利用ES5的一个API:Object.definePropert() 对数据进行劫持,结合发布订阅模式的方式来实现的。 vue3:vue3中使用了ES6的Proxy API对数据代理。相比vue2.x,使用proxy的优势如…...

Shiro整合SpringBoot,实战下的应用场景

文章目录 前言一、springBootshiro环境准备1.数据库2.ssmp环境搭建3.实体类4.三层搭建5.初始化测试数据 二、Shiro过滤器1.Shiro认证过滤器2.Shiro授权过滤器 三、springBootshiro身份认证1.创建Realm,重写认证方法doGetAuthenticationInfo2.创建shiro配置类3.Postman测试 四、…...

C语言——全局变量和局部变量重名了会怎么样

前言 &#xff08;1&#xff09;今天在交流群里面看到这样一个问题: 为什么这个程序中下面我定义的void型函数smart在全局变量前声明了&#xff0c;但是在man函数中调用了smart函数&#xff0c;m的值打印出来还是0。 #include<stdio.h>int m; void smart(void);int main(…...

linux下vi或vim操作Found a swap file by the name的原因及解决方法--九五小庞

在linux下用vi或vim打开Test.java文件时 [rootlocalhost tmp]# vi Test.java出现了如下信息&#xff1a; E325: ATTENTION Found a swap file by the name ".Test.java.swp" owned by: root dated: Wed Dec 7 13:52:56 2011 file name: /var/tmp/Test.java modif…...

通过RD Client远程连接windows电脑踩坑点

通过RD Client远程连接windows电脑操作的个人踩坑点&#xff0c;记录下来&#xff0c;防止下一次还犯。 配置&#xff1a; win10专业版腾讯云服务器Ubuntu22.04小米平板RD client 首先是安装frp 这一部分参考的是&#xff1a;通过RD Client远程连接windows电脑&#xff08;…...

学习node之——如何在项目中使用MySQL、前后端的身份认证

上一篇文章只写了一丢丢&#xff0c;这篇才是正片&#xff0c;look look look 一、使用mysql模块操作数据库 1、查询数据 这里连接数据库的用户和密码都是我们在安装mysql时配置的密码。每个人的users表格里面数据不同&#xff0c;结果也会不一样哟&#xff01; // 导入mys…...

AUTOSAR从入门到精通-【应用篇】参照AUTOSAR架构的柴油车后处理集成电控系统软件设计与研究(续)

目录 3.3底层驱动模块开发 3.3.1利用S-Function编写底层驱动模块 3.3.2编写TLC文件来控制自动代码生成过程...

Linux 内核动态打印调试(dev_info、 dev_dbg )

目录 前言 1 printk消息级别 2 调整内核printk打印级别 3 dev_xxx函数简介 4 配置内核使用动态打印 5 动态调试使用方法 6 动态打印调试的基本原理 &#x1f388;个人主页&#x1f388;&#xff1a;linux_嵌入式大师之路的博客-CSDN博客&#x1f389;&#x1f389;&…...

深入浅出AXI协议(3)——握手过程

一、前言 在之前的文章中我们快速地浏览了一下AXI4协议中的接口信号&#xff0c;对此我们建议先有一个简单的认知&#xff0c;接下来在使用到的时候我们还会对各种信号进行一个详细的讲解&#xff0c;在这篇文章中我们将讲述AXI协议的握手协议。 二、握手协议概述 在前面的文章…...

Ansible学习笔记5

copy模块&#xff1a;&#xff08;重点&#xff09; copy模块用于对文件的远程拷贝&#xff08;如把本地的文件拷贝到远程主机上。&#xff09; 在master的主机上准备一个文件&#xff0c;拷贝文件到group1的所有主机上。 这个用的频率非常高&#xff0c;非常有用的一个模块…...

LeetCode 面试题 02.06. 回文链表

文章目录 一、题目二、C# 题解 一、题目 编写一个函数&#xff0c;检查输入的链表是否是回文的。 点击此处跳转题目。 示例 1&#xff1a; 输入&#xff1a; 1->2 输出&#xff1a; false 示例 2&#xff1a; 输入&#xff1a; 1->2->2->1 输出&#xff1a; true …...

linux环境没有curl或者telnet命令解决方法与区分linux环境类型

如何区分你当前使用的 Linux 系统是 Ubuntu、CentOS 还是 Alpine&#xff0c;查看 /etc/os-release 文件 [rootlocalhost ~]# cat /etc/os-release NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_I…...

golang channel

channel是不同协程之间异步通信的数据结构。 基本用法 1 构造 ch:make(chan int)//无缓冲 ch:make(chan int,10)//有缓冲2 读操作 val:<-ch <-ch val,ok:<-ch3 写 var data int ch<-data4 关闭 close(ch)5 多路复用 select{ case <-parent.Done():child.…...

高等职业学校物联网实训室建设方案

一、概述 1.1专业背景 物联网&#xff08;Internet of Things&#xff09;被称为继计算机、互联网之后世界信息产业第三次浪潮&#xff0c;它并非一个全新的技术领域&#xff0c;而是现代信息技术发展到一定阶段后出现的一种聚合性应用与技术提升&#xff0c;是随着传感网、通…...

Python基础学习第四天:Python注释

创建注释 注释以 &#xff03; 开头&#xff0c;Python 将忽略它们&#xff1a; 实例 #This is a comment print("Hello, World!")运行实例 注释可以放在一行的末尾&#xff0c;Python 将忽略该行的其余部分&#xff1a; 实例 print("Hello, World!")…...

Puppeteer中使用Stealth.min.js库

这里需要安装npm install puppeteer-extra puppeteer-extra-plugin-stealth&#xff0c;然后&#xff0c;在启动浏览器时&#xff0c;Puppeteer 会自动应用 Stealth.min.js 插件的功能。 const puppeteer require(puppeteer-extra); const StealthPlugin require(puppeteer-…...

JVM ZGC垃圾收集器

ZGC垃圾收集器 ZGC&#xff08;“Z”并非什么专业名词的缩写&#xff0c;这款收集器的名字就叫作Z Garbage Collector&#xff09;是一款在JDK 11中新加入的具有实验性质[1]的低延迟垃圾收集器&#xff0c;是由Oracle公司研发的。 ZGC收集器是一款基于Region内存布局的&#…...

【Python】安装 Python 环境

需要安装的环境主要是两个部分&#xff1a; 运行环境&#xff1a;Python开发环境&#xff1a;PyCharm 一、安装 Python 1、找到官方网站 Welcome to Python.org 2、找到下载页面 选择 "Download for Windows"&#xff1a; 现在主流使用的 Python 版本是 Python…...

S2-Pro在Windows系统的一键部署与简易客户端开发

S2-Pro在Windows系统的一键部署与简易客户端开发 1. 引言 如果你是一名Windows用户&#xff0c;想要快速体验S2-Pro的强大能力&#xff0c;但又不想折腾复杂的命令行操作&#xff0c;这篇文章就是为你准备的。我们将从零开始&#xff0c;带你完成两个关键步骤&#xff1a; 在…...

AI赋能软件测试:基于PyTorch视觉模型实现自动化GUI测试脚本生成效果演示

AI赋能软件测试&#xff1a;基于PyTorch视觉模型实现自动化GUI测试脚本生成效果演示 1. 效果亮点预览 想象一下这样的场景&#xff1a;一个AI系统正在自动测试你的软件界面&#xff0c;它能像人类测试工程师一样"看"懂屏幕上的每个元素&#xff0c;发现那些传统脚本…...

从农田到实验室:大疆P4M多光谱数据与ASD地物波谱仪实测数据对比实操指南

从农田到实验室&#xff1a;大疆P4M多光谱数据与ASD地物波谱仪实测数据对比实操指南 当无人机掠过农田上空&#xff0c;搭载的多光谱传感器正在以厘米级分辨率记录作物的生理状态。这些数据能否真实反映地表反射特性&#xff1f;本文将以大疆P4M多光谱无人机与ASD FieldSpec系…...

鱼鱼刘怀旧手游|武林外传十年之约:同福灯火未熄,江湖老友归来

鱼鱼刘怀旧手游是国内人气老牌怀旧游戏专属平台&#xff0c;汇聚多款经典正版授权复刻手游&#xff0c;严格遵循端游原版设定匠心 1:1 还原复刻。本次特意为广大新手玩家准备了详细游戏攻略指南 ——岁月辗转&#xff0c;一晃十年。当年七侠镇的青石板还留着脚步&#xff0c;同…...

Apifox供应链投毒攻击--完整解析

&#x1f534; 安全应急通告&#xff1a;Apifox 桌面端供应链投毒与高危凭证窃取事件 一、 事件概述 近期监测到 Apifox 公网 SaaS 版桌面客户端遭遇严重的供应链投毒攻击。攻击者通过劫持合法的运行追踪模块&#xff0c;向用户下发具备凭证窃取、动态执行与持久化能力的恶意 J…...

Word文档自动更新日期技巧

设置Word文档自动显示当天日期打开Word文档后&#xff0c;可以通过插入日期字段实现每次打开时自动更新为当天日期。方法1&#xff1a;使用日期字段在Word文档中定位光标到需要显示日期的位置。点击菜单栏"插入"→"文本"→"日期和时间"。在弹出的…...

HunyuanVideo-Foley成本效益分析:自建服务与使用商用API的对比

HunyuanVideo-Foley成本效益分析&#xff1a;自建服务与使用商用API的对比 1. 引言&#xff1a;音效生成的技术选择困境 在视频制作领域&#xff0c;高质量音效往往能决定作品的最终质感。HunyuanVideo-Foley作为先进的AI音效生成技术&#xff0c;为企业提供了两种主要使用路…...

**发散创新:基于微应用架构的轻量级权限控制实战设计**在现代前端开

发散创新&#xff1a;基于微应用架构的轻量级权限控制实战设计 在现代前端开发中&#xff0c;**微应用&#xff08;Micro Frontend&#xff09;*8 已成为构建复杂单页应用&#xff08;SPA&#xff09;的标准方案之一。它允许团队独立开发、部署和维护各自的功能模块&#xff0c…...

【人生底稿 03】2012 末日传说与我踏入 IT 的起点

接上《人生底稿》系列&#xff0c;本篇记录一段真实的成长碎片&#xff0c;不严格按时间线更新&#xff0c;只为记下一个农村少年&#xff0c;一步步走向社会的真实轨迹。 在参加某科技公司 ITMS 培训之前&#xff0c;我先经历了一轮面试 —— 上机题 技术面&#xff0c;分数…...