- 博客(24)
- 收藏
- 关注
原创 Swagger
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧、轻量,并且功能强悍!
2025-05-24 17:45:36
473
原创 MD5加密(Java)
本文针对数据库中明文存储密码的安全隐患,提出使用MD5加密的解决方案。首先将数据库中的密码替换为MD5加密后的密文,然后在Java代码中使用Spring Boot的DigestUtils工具类对用户提交的明文密码进行MD5加密(md5DigestAsHex方法),再与数据库中的密文进行比对。MD5加密具有不可逆性,只能通过加密明文来验证密码,无法从密文还原出原始密码,从而提升了系统安全性。
2025-05-24 12:44:23
375
原创 Nginx反向代理和负载均衡
Nginx通过反向代理实现前端与后端服务的地址转换,解决前后端请求地址不一致问题。反向代理配置在nginx.conf中。反向代理的好处包括提高访问速度、实现负载均衡和保障后端服务安全。
2025-05-24 11:56:46
602
原创 Git版本控制——快速使用
本文介绍了如何使用Git进行项目代码的版本控制,具体包括创建Git本地仓库、创建Git远程仓库以及将本地文件推送到远程仓库的步骤。首先,在IDEA平台上创建本地仓库,并确认成功创建。接着,访问Gitee网站新建远程仓库,并复制仓库地址。然后,通过.gitignore文件管理不需要提交的文件,并将本地文件提交至本地仓库。最后,添加远程仓库地址并推送文件至远程仓库,完成版本控制。通过这些步骤,开发者可以有效地管理和控制项目代码的版本。
2025-05-23 14:56:21
271
原创 token和jwt
Token是一项规范和标准(接口),不是具体的技术。JWT(JSON Web Token) 是具体可以生成、校验、解析等动作Token的技术(实现类)。jwt数据组成和包含信息JWT由三部分组成: header(头部).payload(载荷).signature(签名)jwt可以携带很多信息!一般情况,需要加入:有效时间、签名秘钥、用户标识信息!有效时间为了保证token的时效性,过期可以重新登录获取!签名秘钥为了防止其他人随意解析和校验token数据!用户信息。
2025-05-18 10:48:53
373
原创 MyBatis-Plus使用流程
MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强 不做改变,为简化开发、提高效率而生。mybatis-plus总结:1 . 自动生成单表的CRUD功能2 . 提供丰富的条件拼接方式3 . 全自动ORM类型持久层框架CRUD 采用get 查询单行、 remove 删除、 list 查询集合、 page 分页前缀命名方式区分 Mapper 层避免混淆保存:// 插入一条记录(选择字段,策略插入)// 插入(批量)
2025-05-17 12:05:57
714
原创 为何重写 toString 方法能改变对象打印结果
在 Java 中,toString()方法是Object类的一部分,因此所有类都继承了这个方法。其主要作用是提供一个对象的文本表示形式,这在调试、日志记录、数据展示等场景中非常有用。
2025-05-09 11:02:05
277
原创 SpringBoot 入门笔记
为什么要学SpringBoot?因为配置Spring程序(XML、注解、Java配置类、混合用法…)很复杂,很麻烦!SpringBoot可以帮我们干嘛?SpringBoot 能帮我们地创建一个独立的、生产级别的。大多数 SpringBoot 应用只需要编写即Spring 平台以及第三方技术.
2025-05-08 18:29:32
749
原创 【已解决】error writing to /tmp/xxx 设备上没有空间、command ‘/usr/bin/g++‘ failed 问题
使用服务器g++编译文件出现问题:error writing to /tmp/xxx 设备上没有空间、command '/usr/bin/g++' failed
2025-04-23 15:41:26
277
原创 Error loading “C:\Users\xxx\...\fbgemm.dll“ or one of its dependencies.
OSError: [WinError 127] 找不到指定的程序。 Error loading "C:\Users\xxx\.conda\envs\scenic\lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.
2024-11-30 17:33:12
493
原创 Java泛型
在类的声明中定义类型参数。在这个例子中,GenericClass是一个泛型类,T是类型参数,可以在创建类实例时指定T为具体的类型,如GenericClass0。
2024-10-07 17:07:38
900
原创 static的优点和应用场景
在 Java 中,常使用static final来定义常量。这样的常量可以在程序的任何地方使用,如double area = MathConstants.PI * radius * radius;。
2024-10-02 17:46:15
513
原创 机器学习笔记
从定义上来说,机器学习是一种功能、方法,或者更具体的说是一种算法,它能够赋予机器进行学习的能力,从而使机器完成一些通过编程无法直接实现的功能。从具体的实践意义来说,其实机器学习是利用大量数据训练出一个最优模型,然后再利用此模型预测出其他数据的一种方法。比如要识别猫、狗照片就要拿它们各自的照片提炼出相应的特征(比如耳朵、脸型、鼻子等),从而训练出一个具有预测能力的模型。机器学习与人工智能、深度学习有什么关系呢?从图中可以看出,机器学习是人工智能的一部分,而深度学习又是机器学习的一部分。
2024-04-23 21:21:05
2550
3
原创 树和二叉树
顺序存储链式存储数组下标能反映二叉树中结点之间的逻辑关系比较适用于完全二叉树、满二叉树每个结点有两个指针域,n个结点有2n个指针域,n+1个空链域(可用于构造线索二叉树)链式存储构建一个二叉树(1)声明一个指向根节点的指针root,刚开始指向NULL(2)插入根节点(3)插入新节点(作为根节点的左孩子)代码:#include<bits/stdc++.h>using namespace std;//存储结构 struct ElemType { ...
2022-04-23 17:19:25
1850
原创 C/C++整型转化为string
#include<bits/stdc++.h>using namespace std;//整型转字符串string int_str(int i) { string out; stringstream in; in<<i; in>>out; return out;}int main() { int i=4564; string s = int_str(i); cout<<s+"aaa"; return 0;}[蓝桥杯2021初
2022-04-07 20:27:41
2531
原创 关系数据库理论、数据库设计、数据库关系查询处理和优化、数据库恢复技术
第六章 关系数据库理论关系模式可以看作是一个三元组R<U,F>关系名R是符号化的元组语义U为一组属性例如表示为 U = { Sno , Sdept , Mname , Cno , Grade }F为属性组U上的一组数据依赖例如表示为 F = { Sno -> Sdept , Sdept-> Mname , (Sno,Cno) ->Grade }当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F>的一个关系平凡的函数依赖:非平凡的函数依赖:
2022-01-03 15:33:38
506
原创 dijkstra堆优化
#include<iostream>#include<vector>#include<queue>using namespace std;int n,m,s;struct Hi { //到达的点、边权重 int to,w;};const int maxn = 1e8;int dis[160000]; //存放所求顶点s到其他顶点的最短边int vis[160000]; //记录是否遍历过 /* v存放的数据类型是结构体 Hi 若v[1
2021-12-17 11:20:23
256
原创 创建数据库、数据定义、数据库的查询更新、视图、数据库完整性
数据库基本操作创建数据库create database 数据库名;列出所有数据库show databases; 进入某一数据库use 数据库名;查看数据库中的所有数据表show tables;查看某一张表的结构desc 表名; 基本表的定义、修改与删除创建表create TABLE 表名(列名 数据类型,列名 数据类型);修改表(1)增加新列方法alter table 表名 add 列名 数据类型;(2)修改列名及数据类型alter
2021-12-15 16:54:59
1472
原创 VS code配置C/C++环境的.exe路径
首先看一下效果图,我这里是把.cpp放在cpp_source.exe放在exe_source从而实现.cpp与.exe文件的分离**配置过程:**第一步,打开tasks.json将"${fileDirname}\\${fileBasenameNoExtension}.exe",修改成"${workspaceFolder}/exe_source/${fileBasenameNoExtension}.exe",**第二步,打开launch.json**"program": "$
2021-11-19 11:52:21
1496
1
原创 并查集模板
模板://初始化祖宗就是自己void init(int x) { for(int i=1; i<=x; i++) pre[i]=i;}//不停找,直到找到祖宗为止。路径压缩。int find(int x) { if(x==pre[x]) { return x; } return pre[x]=find(pre[x]);}//合并子集void merge(int x, int y) { int xx=find(x); int yy=find(y); if(xx!=y
2021-10-15 13:48:45
88
原创 01背包问题
01背包问题问题描述题解代码(二维)题解代码(一维)新的甘特图功能,丰富你的文章问题描述来自AcWing有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。输入格式:第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式:输出一个整
2021-07-23 00:49:18
115
房价预测模型数据集hourse.csv
2024-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人