智能GPT图书管理系统(SpringBoot2+Vue2)、接入GPT接口,支持AI智能图书馆
☀️技术栈介绍
☃️前端主要技术栈
| 技术 | 作用 | 版本 |
|---|---|---|
| Vue | 提供前端交互 | 2.6.14 |
| Vue-Router | 路由式编程导航 | 3.5.1 |
| Element-UI | 模块组件库,绘制界面 | 2.4.5 |
| Axios | 发送ajax请求给后端请求数据 | 1.2.1 |
| core-js | 兼容性更强,浏览器适配 | 3.8.3 |
| swiper | 轮播图插件(快速实现) | 3.4.2 |
| vue-baberrage | vue弹幕插件(实现留言功能) | 3.2.4 |
| vue-json-excel | 表格导出Excel | 0.3.0 |
| html2canvas+jspdf | 表格导出PDF | 1.4.1 2.5.1 |
| node-polyfill-webpack-plugin | webpack5中移除了nodejs核心模块的polyfill自动引入 | 2.0.1 |
| default-passive-events | Chrome 增加了新的事件捕获机制 Passive Event Listeners(被动事件侦听器) | 让页面滑动更加流畅,主要用于提升移动端滑动行为的性能 |
| nprogress | 发送请求显示进度条(人机交互友好) | 0.2.0 |
| echarts | 数据转图标的好工具(功能强大) | 5.4.1 |
| less lessloader | 方便样式开发 | 4.1.3 11.1.0 |
☃️后端主要技术栈
| 技术及版本 | 作用 | 版本 |
|---|---|---|
| SpringBoot | 应用开发框架 | 2.7.8 |
| JDK | Java 开发包 | 1.8 |
| MySQL | 提供后端数据库 | 8.0.23 |
| MyBatisPlus | 提供连接数据库和快捷的增删改查 | 3.5.1 |
| SpringBoot-Configuration-processor | 配置处理器 定义的类和配置文件绑定一般没有提示,因此可以添加配置处理器,产生相对应的提示. | |
| SpringBoot-Starter-Web | 后端集成Tomcat MVC | 用于和前端连接 |
| SpringBoot-starter-test | Junit4单元测试前端在调用接口前,后端先调用单元测试进行增删改查,注意Junit4和5的问题,注解@RunWith是否添加 | |
| Lombok | 实体类方法的快速生成 简化代码 | |
| mybatis-plus-generator | 代码生成器 | 3.5.1 |
| MyBatisX | MyBatisPlus插件直接生成mapper,实体类,service | |
| jjwt | token工具包 | 0.9.0 |
| fastjson | 阿里巴巴的json对象转化工具 | 1.2.83 |
| hutool | hutool工具包(简化开发工具类) | 文档 |
☀️架构

☀️项目简介
-
主要使用Vue2和SpringBoot2实现
-
项目权限控制分别为:用户借阅,图书管理员,系统管理员
-
开发工具:IDEA2022.1.3(真不推荐用eclipse开发,IDEA项目可以导出为eclipse项目,二者不影响,但需要自己学教程)
-
学校老师硬性要求软件的话,还是按要求来。可以先问一下是否可以选择其他软件开发。
-
用户账号密码: 相思断红肠 123456
-
图书管理员账号密码: admin 123456
-
系统管理员账号密码: root 123456
☀️项目详细介绍(亮点)
- 本项目采用前后端分离的模式,前端构建页面,后端作数据接口,前端调用后端数据接口得到数据,重新渲染页面。
- 后端已开启CORS跨域支持
- API认证使用Token认证
- 前端在Authorization字段提供token令牌
- 使用HTTP Status Code表示状态
- 数据返回格式使用JSON
- 后端采用权限拦截器进行权限校验,并检查登录情况
- 添加全局异常处理机制,捕获异常,增强系统健壮性
- 前端用Echarts可视化库实现了图书借阅的分析图标(折线图、饼图),并通过loading配置提高加载体验。
- 留言组件采用弹幕形式,贴合用户的喜好。
- 引入knife4j依赖,使用 Swagger + Knife4j 自动生成 OpenAPI 规范的接口文档,前端可以在此基础上使用插件自动生成接口请求代码,降低前后端协作成本
- 使用ElementUI组件库进行前端界面搭建,快速实现页面生成,并实现了前后端统一权限管理,多环境切换等能力。
- 基于MyBatis Plus框架的QueryWrapper实现对MySQL数据库的灵活查询,并配合MyBatisX插件自动生成后端CRUD基础代码,减少重复工作。
⭐用户模块功能介绍

-
图书查询功能:分页构造器缓解数据过大压力,后端可设置请求数防止爬虫请求数过大,服务器负载过大。模糊查询进行字段搜索。表格均可导出PDF和EXCEL。
-
读者规则功能:查询现有的借阅规则,借阅规则包括:借阅编号,可借阅图书数量,可借阅天数,可借阅图书馆,过期扣费/天。
-
查看公告: 可以查询图书管理员发布的公告列表,文字滑动⭐
-
个人信息: 可以查看个人的借阅证编号,借阅证姓名,规则编号,状态,可以修改个人账户的密码。
-
借阅信息: 可以查看自身借阅过的图书记录和归还情况
-
违章信息: 可以查询自身归还的图书是否有违章信息
-
读者留言: 实现留言功能并以弹幕形式显示
⭐图书管理员模块功能介绍

-
借阅图书: 图书管理员输入借阅证号(用户)和要借的图书编号和当前的时间,点击借阅。
-
归还图书: 输入图书编号查看图书是否逾期,并且可以设置违规信息,然后选择是否归还图书
-
借书报表: 用于查询已经借阅并归还的书籍列表,同样使用分页构造器和模糊查询字段,显示借阅证编号,图书编号,借阅日期,截止日期,归还日期,违章信息,处理人。
-
还书报表: 用于查询已经借阅但是还未归还的书籍列表,显示借阅证编号,图书编号,借阅日期,截止日期。
-
发布公告: 可以查询当前发布的公告列表,并进行删除,修改,增加功能,分页构造器用于缓解数据量大的情况。
⭐系统管理员模块功能介绍

- 书籍管理: 可以查询当前的所有图书,显示图书编号,图书昵称,作者,图书馆,分类,位置,状态,描述。可以进行添加,修改,删除图书。利用分页构造器实现批量查询。利用模糊查询实现图书搜索功能。利用插件实现PDF和EXCEL导出。
- 书籍类型: 显示查询当前的所有图书类型,可以进行添加,修改,删除图书类型,利用分页构造器实现批量查询,缓解数据压力。
- 借阅证管理: 可以查询当前的所有借阅证列表,也就是用户数量,可以进行添加,修改,删除操作。同样实现分页。
- 借阅信息查询: 可以查询当前已经完成借阅和归还的记录,显示借阅证号,书籍编号,借阅日期,截止日期,归还日期,违章信息,处理人。分页功能,PDF和EXCEL导出。
- 借阅规则管理: 可以查询当前所有的借阅规则,显示限制借阅天数,限制本数,限制图书馆,逾期费用,可以进行添加、删除、修改操作。
- 图书管理员管理: 显示当前的图书管理员列表,显示账号,姓名,邮箱,可以进行添加、删除、修改操作。
- 系统管理: 可以查询一个月内的借阅量,以一周为时间间隔,计算借阅量,用Echarts实现折线图的展示。
☀️数据库表设计
t_users表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| user_id | int(11) | 主键 非空 自增 用户表的唯一标识 |
| username | varchar(32) | 用户名 非空 |
| password | varchar(32) | 密码(MD5加密) 非空 |
| card_name | varchar(10) | 真实姓名 非空 |
| card_number | Bigint(11) | 借阅证编号 固定 11位随机生成 非空(后文都改BigInt) |
| rule_number | int(11) | 规则编号 可以自定义 也就是权限功能 |
| status | int(1) | 1表示可用 0表示禁用 |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_admins表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| admin_id | int(11) | 主键 非空 自增 管理员表的唯一标识 |
| username | varchar(32) | 用户名 非空 |
| password | varchar(32) | 密码(MD5加密) 非空 |
| admin_name | varchar(10) | 管理员真实姓名 非空 |
| status | int(1) | 1表示可用 0表示禁用 |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_book_admins表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| book_admin_id | int(11) | 主键 非空 自增 管理表的唯一标识 |
| username | varchar(32) | 用户名 非空 |
| password | varchar(32) | 密码(MD5加密)非空 |
| book_admin_name | varchar(10) | 图书管理员真实姓名 非空 |
| status | int(1) | 1表示可用 0表示禁用 |
| varchar(255) | 电子邮箱 | |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_books表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| book_id | int(11) | 主键 自增 非空 图书表的唯一标识 |
| book_number | int(11) | 图书编号 非空 图书的唯一标识 |
| book_name | varchar(32) | 图书名称 非空 |
| book_author | varchar(32) | 图书作者 非空 |
| book_library | varchar(32) | 图书所在图书馆的名称 非空 |
| book_type | varchar(32) | 图书类别 非空 |
| book_location | varchar(32) | 图书位置 非空 |
| book_status | varchar(32) | 图书状态(未借出/已借出) |
| book_description | varchar(100) | 图书描述 |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_books_borrow表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| borrow_id | int(11) | 主键 自增 非空 借阅表的唯一标识 |
| card_number | int(11) | 借阅证编号 固定 11位随机生成 非空 用户与图书关联的的唯一标识 |
| book_number | int(11) | 图书编号 非空 图书的唯一标识 |
| borrow_date | datetime | 借阅日期 Java注解 JsonFormatter |
| close_date | datetime | 截止日期 Java注解 JsonFormatter |
| return_date | datetime | 归还日期 Java注解 JsonFormatter |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_notice表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| notice_id | int(11) | 主键 非空 自增 公告表记录的唯一标识 |
| notice_title | varchar(32) | 公告的题目 非空 |
| notice_content | varchar(255) | 公告的内容 非空 |
| notice_admin_id | int(11) | 发布公告的管理员的id |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_violation表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| violation_id | int(11) | 主键 非空 自增 违章表记录的唯一标识 |
| card_number | int(11) | 借阅证编号 固定 11位随机生成 非空 |
| book_number | int(11) | 图书编号 非空 图书的唯一标识 |
| borrow_date | datetime | 借阅日期 Java注解 JsonFormatter |
| close_date | datetime | 截止日期 Java注解 JsonFormatter |
| return_date | datetime | 归还日期 Java注解 JsonFormatter |
| violation_message | varchar(100) | 违章信息 非空 |
| violation_admin_id | int(11) | 违章信息管理员的id |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_comment表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| comment_id | int(11) | 主键 非空 自增 留言表记录的唯一标识 |
| comment_avatar | varchar(255) | 留言的头像 |
| comment_barrage_style | varchar(32) | 弹幕的高度 |
| comment_message | varchar(255) | 留言的内容 |
| comment_time | int(11) | 留言的时间(控制速度) |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_book_rule表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| rule_id | int(11) | 主键 非空 自增 借阅规则记录的唯一标识 |
| book_rule_id | int(11) | 借阅规则编号 非空 |
| book_days | int(11) | 借阅天数 非空 |
| book_limit_number | int(11) | 限制借阅的本数 非空 |
| book_limit_library | varchar(255) | 限制的图书馆 非空 |
| book_overdue_fee | double | 图书借阅逾期后每天费用 非空 |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
t_book_type表
| 列名 | 数据类型以及长度 | 备注 |
|---|---|---|
| type_id | int(11) | 主键 非空 自增 图书类别记录的唯一标识 |
| type_name | varchar(32) | 借阅类别的昵称 非空 |
| type_content | varchar(255) | 借阅类别的描述 非空 |
| create_time | datetime | 创建时间 Java注解 JsonFormatter |
| update_time | datetime | 更新时间 Java注解 JsonFormatter |
🐼功能演示图
用户模块功能图
首页轮播图演示

图书查询演示

读者规则演示

查看公告演示

个人信息演示

借阅信息演示

违章信息演示

读者留言演示

智能推荐演示

图书管理员功能图
借阅图书演示

归还图书演示

借书报表演示

还书报表演示

发布公告演示

系统管理员功能图
- 由于篇幅受限,系统功能展示主要功能。
系统管理演示


智能分析演示

🐼部署项目
- 可以下载ZIP压缩包或者使用克隆(Git clone)
- 复制http或者ssh的链接(github建议ssh,gittee都可以)
- 在D盘新建一个文件夹,点击进入该文件夹,右键Git Bash Here

-
还没有下载Git或者不会Git的建议先看基础教程(30分钟左右)
-
输入git init 初始化git项目 然后出现一个.git文件夹
-
输入git remote add origin xxxxxx(xxx为刚刚复制的http或者ssh链接)
-
输入git pull origin master 从远程代码托管仓库拉取代码
-
成功拉取项目(前端后端都是如此)
-
前端项目注意依赖下载使用npm install 或者 yarn install (Vscode或者Webstorm)
-
后端项目注意maven依赖下载(IDEA(推荐)或者Ecplise)
-
前端npm 镜像源建议淘宝镜像源,后端maven镜像源推荐阿里云镜像源(非必选,但更换后下载快速)
🐼部署项目问题
⭐
- 乱码问题 项目采用的UFT-8
- 一般出现乱码就是UTF-8和GBK二者相反
- 请百度IDEA乱码和Eclipse乱码问题(描述清楚即可)
⭐
- 点击交互按钮,没有发生反应。
- 很明显,请求失败,浏览器打开开发者工具,Edge浏览器直接ctrl+shift+i,其他浏览器按F12
- 查看红色的请求和响应状态码问题
⭐
- 先阅读文档再进行问题的查询或者提问
- 提问有技巧,模糊的发言,让高级架构师找BUG也无从下手
- 开源免费, 定制化和调试项目付费。
🐼项目API接口文档
- 接口文档篇幅过大
- 本来想完全采用RESTFUL风格,做到一半忘记了
- 看清楚文档的基准地址
🐷其他
- 个人博客采用Hexo+Github托管
- 采用butterfly主题可以实现定制化
- 推荐有空闲时间的,可以花1-2天搭建个人博客用于记录笔记。
- 智能GPT图书管理系统(SpringBoot2+Vue2)、接入GPT接口,支持AI智能图书馆资源-CSDN文库
https://download.csdn.net/download/2302_81075415/88771932
相关文章:
智能GPT图书管理系统(SpringBoot2+Vue2)、接入GPT接口,支持AI智能图书馆
☀️技术栈介绍 ☃️前端主要技术栈 技术作用版本Vue提供前端交互2.6.14Vue-Router路由式编程导航3.5.1Element-UI模块组件库,绘制界面2.4.5Axios发送ajax请求给后端请求数据1.2.1core-js兼容性更强,浏览器适配3.8.3swiper轮播图插件(快速实…...
面试经典 150 题 ---- 合并两个有序数组
面试经典 150 题 ---- 合并两个有序数组 合并两个有序数组方法一:直接合并后排序方法二:双指针方法三:逆向双指针 合并两个有序数组 方法一:直接合并后排序 这种方法最简单,直接将 nums2 的数组放到 nums1 数组的尾部…...
防火墙在企业园区出口安全方案中的应用(ENSP实现)
拓扑图 需求: 1、企业出口网关设备必须具备较高的可靠性,为了避免单点故障,要求两台设备形成双机热备状态。当一台设备发生故障时,另一台设备会接替其工作,不会影响业务正常运行。 2、企业从两个ISP租用了两条链路&…...
单片机学习笔记---矩阵键盘密码锁
目录 一,设置密码按键 1.设置密码区域 2.设置输入的数字左移 3.设置记录按键的次数 二,设置确认键 1.密码正确时显示OK 2.密码错误时显示ERR 3.密码错误恢复初始状态重输 三,设置取消键 学了这么久,迫不及待想要做一个密…...
8-小程序数据promise化、共享、分包
小程序API Promise化 wx.requet 官网入口 默认情况下,小程序官方异步API都是基于回调函数实现的 wx.request({method: , url: , data: {},header: {content-type: application/json // 默认值},success (res) {console.log(res.data)},fail () {},complete () { }…...
[HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页
希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…...
Threejs 展示——obj 格式模型导入
文章目录 需求分析1. HTML版本2. Vue 版本 需求 导入obj 格式的模型数据 分析 .obj:Wavefront OBJ 格式,是一种广泛使用的三维模型文件格式。预览 .obj格式文件的软件可点此下载需要准备两种格式的数据,如下所示 1. HTML版本 html <!…...
深入浅出 diffusion(3):pytorch 实现 diffusion 中的 U-Net
导入python包 import mathimport torch import torch.nn as nn import torch.nn.functional as F silu激活函数 class SiLU(nn.Module): # SiLU激活函数staticmethoddef forward(x):return x * torch.sigmoid(x) 归一化设置 def get_norm(norm, num_channels, num_groups)…...
C#使用RabbitMQ-2_详解工作队列模式
简介 🍀RabbitMQ中的工作队列模式是指将任务分配给多个消费者并行处理。在工作队列模式中,生产者将任务发送到RabbitMQ交换器,然后交换器将任务路由到一个或多个队列。消费者从队列中获取任务并进行处理。处理完成后,消费者可以向…...
Day37 56合并区间 738单调递增的数字 968监控二叉树
56 合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: intervals [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. class Solution { public:vector<vector<int>>…...
【Android】在WSA安卓子系统中进行新实验性功能试用与抓包(2311.4.5.0)
前言 在根据几篇22和23的WSA抓包文章进行尝试时遇到了问题,同时发现新版Wsa的一些实验性功能能优化抓包配置时的一些步骤,因而写下此篇以作记录。 Wsa版本:2311.40000.5.0 本文出现的项目: MagiskOnWSALocal MagiskTrustUserCer…...
【服务器】服务器的管理口和网口
服务器通常会有两种不同类型的网络接口,即管理口(Management Port)和网口(Ethernet Port),它们的作用和用途不同。 一、管理口 管理口通常是用于服务器管理的网络接口,也被称为外带网卡或带外接…...
一个小例子,演示函数指针
结构体里经常看到函数指针的写法,函数指针其实就是函数的名字。但是结构体里你要是直接把一个函数摆上去,那就变成成员变量,就会发生混乱 1. 函数指针 #include <unistd.h> #include <stdio.h>struct Kiwia{void (*func)(int )…...
python12-Python的字符串之使用input获取用户输入
input()函数用于向用户生成一条提示,然后获取用户输入的内容。由于input0函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input()函数总是返回一个字符串。例如如下程序。 # !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Lao…...
【代码随想录-数组】移除元素
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…...
springboot事务管理
/*spring事务管理注解:Transactional位置:业务(service)层的方法上、类上、接口上作用:将当前方法交给spring进行事务管理,方法执行前,开启事务:成功执行完毕,提交事务:出现常,回滚事务需要在配置文件是加上开启spring事务yml文件…...
数据结构——链式二叉树(2)
目录 🍁一、二叉树的销毁 🍁二、在二叉树中查找某个数,并返回该结点 🍁三、LeetCode——检查两棵二叉树是否相等 🌕(一)、题目链接:100. 相同的树 - 力扣(LeetCode&a…...
spring-boot-starter-validation常用注解
文章目录 一、使用二、常用注解三、Valid or Validated ?四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解,首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo…...
AF700 NHS 酯,AF 700 Succinimidyl Ester,一种明亮且具有光稳定性的近红外染料
AF700 NHS 酯,AF 700 Succinimidyl Ester,一种明亮且具有光稳定性的近红外染料,AF700-NHS-酯,具有水溶性和 pH 值不敏感性 您好,欢迎来到新研之家 文章关键词:AF700 NHS 酯,AF 700 Succinimid…...
C#常见内存泄漏
背景 在开发中由于对语言特性不了解或经验不足或疏忽,往往会造成一些低级bug。而内存泄漏就是最常见的一个,这个问题在测试过程中,因为操作频次低,而不能完全被暴露出来;而在正式使用时,由于使用次数增加&…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...
LangChain【6】之输出解析器:结构化LLM响应的关键工具
文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...
Tauri2学习笔记
教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...
【R语言编程——数据调用】
这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中,有多个库支持调用内置数据集或外部数据,包括studentdata等教学或示例数据集。以下是常见的库和方法: 可用库及数据集 openintro库 该库包含多个教学数据集&a…...
生成对抗网络(GAN)损失函数解读
GAN损失函数的形式: 以下是对每个部分的解读: 1. , :这个部分表示生成器(Generator)G的目标是最小化损失函数。 :判别器(Discriminator)D的目标是最大化损失函数。 GAN的训…...
