自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 MySQL零散拾遗(八)---日期函数

【代码】MySQL零散拾遗(八)---日期函数。

2024-12-19 13:04:47 382

原创 @CrossOrigin打破同源策略

CORS(Cross-Origin Resource Sharing)是一种机制,允许在一个域中运行的 Web 应用程序请求另一个域的资源。由于安全原因,浏览器默认只允许同源请求,即请求的源(协议、域名和端口都相同)必须与资源的源相同。使用注解可以控制哪些来源能够访问你的 API。注解在 Spring Boot 中用于处理 CORS,允许跨域请求。可以在控制器类或方法上使用,灵活配置允许的源、HTTP 方法和请求头。可用于简化 CORS 配置,避免复杂的过滤器设置。也可以通过实现。

2024-11-08 17:17:49 569

原创 浅学 Guava 框架的使用

使用 Guava 提供的缓存功能,可以在 Spring Boot 项目中实现高效的本地缓存管理。Guava 的缓存 API 直观且易于使用,非常适合需要临时存储和快速访问的数据场景。其他作用可以看下面链接。

2024-11-06 10:37:47 1247

原创 浅学 Retrofit 框架的使用

定义 GET 请求的 URL,其中{id}是一个路径参数。Call:表示该请求返回一个User对象。Retrofit 能够帮助你快速构建与 RESTful API 的交互,通过注解和数据模型,开发者可以轻松发送请求并处理响应数据。这使得网络请求的管理变得高效且易于维护。

2024-11-05 22:13:41 1308

原创 如何设置端口对外开放和端口占用情况

使用netstatsslsof和telnet检查 3306 端口的状态。使用firewalld开放或关闭 3306 端口,以便管理对外连接。确保在执行这些操作时具有适当的权限。

2024-10-13 16:30:42 453

原创 API接口文档 Swagger&Knife4j 的用法

使用 Swagger 和 Knif4j 注释可以清晰地描述 API 的功能、参数和返回值,使得生成的文档更加易于理解和使用。通过合理使用这些注释,可以有效提升 API 的可维护性和可读性。

2024-10-10 16:00:00 767

原创 IDEA连接Docker(远程)

首先确保已经安装了CentOS 7操作系统。

2024-10-06 21:16:54 1059

原创 在Git中操作失误,如何撤回

未暂存的修改:使用。已暂存的修改:使用。最近的提交:使用或。撤回多个提交:使用。通过创建反向提交撤回:使用。选择合适的方法根据你的需求,以确保不会意外丢失重要的更改。

2024-10-02 21:35:51 1564

原创 Git中的^与~愣是分不清

用于访问直接父提交,特别在需要处理合并提交时非常有用。:用于访问历史提交的更高层级,适合查看祖先提交。

2024-10-02 21:31:47 358

原创 Gitのrebase用法

rebase的基本概念是将一个分支上的改动应用到另一个分支的基础之上。它的作用是将两个分支的提交历史重新整理,使得提交历史看起来像是一条直线,而不是分叉的图形。rebase是一种整合提交历史的工具,使得提交历史更加线性和整洁。它可以减少合并冲突,提高代码管理的效率。使用时需要小心,特别是在公共分支上,确保不会影响其他开发者的工作。通过rebase,您可以更灵活地管理 Git 提交历史,使得项目的版本控制更加高效。Merge和Rebase都是用来整合分支的工具,但它们的实现方式和结果不同。

2024-10-02 12:54:52 907

原创 Nginx的负载均衡

Nginx 默认不启用负载均衡,你需要在nginx.conf中手动配置。通过定义upstream服务器组和相应的server块,你可以实现负载均衡。确保配置后重启 Nginx 以使更改生效。

2024-09-05 19:05:11 634

原创 Java多线程的可重入和不可重入

可重入锁:同一线程可以多次获取,避免死锁,适合复杂的调用关系。不可重入锁:同一线程不能多次获取,适合需要严格控制资源访问的场景。根据实际需求选择合适的锁机制是多线程编程中重要的一部分。

2024-09-05 19:02:13 1050

原创 SpringBoot查缺补漏(“女娲补天”)

自动版本管理:Spring Boot 通过启动器和父 POM 机制,自动管理依赖版本,简化了开发流程。减少错误:这种方式减少了依赖版本冲突的可能性,提高了项目的稳定性。

2024-08-29 12:10:51 352

原创 Linux零散拾遗

在Linux系统中,环境变量是在 shell 启动时或在运行程序时设置的值,它们定义了影响程序运行行为的环境。环境变量可以用于设置用户的家目录、命令搜索路径、编程语言运行时环境等多种用途。

2024-08-24 21:10:14 491

原创 Docker使用教程

Docker 是将应用和环境打包成一个镜像。这样,数据就不应该保存在容器中,否则容器删除,数据就会丢失,有着非常大的风险。为此,容器和主机之间需要有一个数据共享技术,使得在 Docker 容器中产生的数据能够同步到本地。这就是数据卷技术。其本质上是一个目录挂载,将容器内的目录挂载到主机上。- -d:网络模式- -subnet:子网- -gateway:网关。

2024-08-16 21:32:22 1048 1

原创 MySQL零散拾遗(九)--- 创建和管理表

语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。)语句: 数据操纵语言,主要是对数据进行增加、删除、修改、查询操作。)语句: 数据控制语言,主要是用来设置/更改数据库用户权限,数据回滚。使用 AS subquery 选项,将创建表和插入数据结合起来。的操作默认情况,一旦执行,也是不可回滚的。指定的列和子查询中的列要一一对应。的操作一旦执行,就不可回滚。查看当前正在使用的数据库。操作之后,一定会执行一次。通过列名和默认值定义列。操作就可以实现回滚。

2024-07-31 20:47:47 374

原创 MySQL零散拾遗(八)--- MySQL正则表达式

MySQL 支持使用正则表达式进行模式匹配,这对于复杂的字符串处理非常有用。MySQL 中的正则表达式可以通过 或 运算符来实现。下面详细介绍 MySQL 中正则表达式的语法和一些常用的正则表达式模式。基本匹配符:锚点量词:字符类:预定义类:特殊字符:在 MySQL 中,你可以使用 或 运算符来应用正则表达式。这两个关键字在功能上是相同的,但在某些情况下, 可能会被优化器优化得更好。匹配字符串开头:匹配字符串结尾:匹配任意数字:匹配多个字符:匹配电子邮件地址:

2024-07-26 21:24:37 813

原创 MySQL练手 --- 1789. 员工的直属部门

题目链接:1789. 员工的直属部门这道题虽然是个简单题,但是"坑"倒是不少,所以记录一下思路:题目要干:一个员工可以属于多个部门。当一个员工加入超过一个部门的时候,他需要决定哪个部门是他的直属部门。请注意,当员工只加入一个部门的时候,那这个部门将默认为他的直属部门,虽然表记录的值为’N’.要求:查出员工所属的直属部门由题可知,两个过滤条件,一个是直属部门标识为Y(primary_flag = 'Y'),另一个是该员工只加入了一个部门(COUNT(employee_id) = 1)。又因为一个

2024-07-26 17:05:15 365

原创 MySQL练手 --- 1174. 即时食物配送 II

这个表达式是一个很有趣的用法,它的意思是统计order_date和两个字段相等的行数。是一个逻辑表达式,它会对每一行数据进行比较,如果order_date等于,则该表达式的值为1,否则为0。然后SUM()函数会将所有行的这个逻辑表达式的结果进行求和。也就是说,会统计出order_date和相等的行数。

2024-07-25 23:24:09 466 2

原创 MySQL零散拾遗(七)--- 突发奇想的一些疑虑

更通用的日期格式化函数,可以灵活地控制输出格式。EXTRACT(): 专门用于从日期中提取特定的部分,返回的是数字或数字的组合。根据需求选择合适的函数。如果只需要简单地提取年份和月份,可能更为直观和方便。在查询中,实际上是对和country进行分组,因此不会出现不认识month的错误。这是因为MySQL能够理解month别名代表的内容,并据此进行分组操作。

2024-07-25 20:40:17 418

原创 MySQL练手 --- 1141. 查询近30天活跃用户数

然后再日期进行分组,计算用户id,这时需要对用户id进行去重,若不去重,则会出现以下结果。把在时间要求内的筛选出来,再进行 用户id 分组,最后统计用户个数(去重后的)),近 30 天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户)提出问题,这两个mysql语句都可以执行成功,但两者一点问题都没有嘛?一个先过滤后分组,另一个先分组后过滤。借这个案例把里面的要点进行更进一步的阐述说明。)保证每个用户不相同(或者说重复出现)要计算日期之间的天数,这时就需要用到。所以需要对用户id进行去重处理(

2024-07-25 12:17:06 1352

原创 MySQL练手 --- 1633. 各赛事的用户注册率

返回的结果表按 percentage 的 降序 排序,若相同则按 contest_id 的 升序 排序。对赛事进行分组,然后分别对各赛事统计表名人数,最后除以总人数。然后将各赛事的人数除以总人数且用户注册百分率保留两位小数(题目要求:统计出各赛事的用户注册百分率,保留两位小数。得到总人数后,对各赛事的人数进行统计。用户表,该表存储着所有用户的。注册表,该表存储着赛事id(),和已报名的用户id(先求总人数,并给表别名为。,统计后的总人数的字段为。最后再加上排序即可(

2024-07-24 21:53:33 416

原创 MySQL练手 --- 1075. 项目员工 I

作为两张表的连接匹配字段,由于两张表都不为空,所以直接使用内连接(首先将两张表进行内连接,看看连接后的记录(结果)也是一道简单题,给了两张表一张项目表。)或者使用等价的语句(,就想到要用到分组(函数求平均工作年限(

2024-07-24 20:57:24 327

原创 MySQL练手 --- 619. 只出现一次的最大数字

这是一个简单题,只出现一次的最大数字,顾名思义,分两个阶段,第一个阶段筛选出只出现一次的数字,第二阶段在生成的新表中筛选出最大值即可。生成一张只出现一次的数字的表,表名记为num_table。再从num_table表中使用。函数筛选出最大值即可。

2024-07-24 20:01:26 462

原创 MySQL练手 --- 1251. 平均售价

有的产品定了价但没有卖出去,这种也得算出产品的平均售价。又因为,有的产品定了价但没有卖出去,这种也得算出产品的平均售价,所以最后使用。表含有价格还有价格的时间限制却没有产品出售的数量,表,表的连接关系为一对一,连接字段(匹配字段)为。出售过,很明显不符合常理,所以再增加过滤条件。然后就是对其进行分组,计算每种产品的平均售价。表含有产品出售的日期以及产品出售的数量。表连接起来,编写相应的过滤条件即可。为1的产品,定价为5,截止时间从。要求:查找每种产品的平均售价。题目要求:查找每种产品的平均售价。

2024-07-24 19:03:45 602

原创 MySQL练手 --- 1934. 确认率

消息的数量除以请求的确认消息的总数。没有请求任何确认消息的用户的确认率为 0。作为两个表的连接条件(匹配字段),使用左连接将两张表进行连接,然后添加过滤条件得到结果。考点(或用到的知识):能够对值进行四舍五入且处理小数点位数的。(左连接),确保每个用户都具有信息确认表的记录。信息确认表,表的关联关系为 一对一,且。:返回一个对x的值进行四舍五入后最接近。题目要求:用户的 确认率 是。由题可知,两个表,一个表为。的值,并保留到小数点后面。通过查看样例表可知,对于。然后对结果集进行分组,

2024-07-24 14:13:13 603

原创 MySQL练手 --- 570.至少有5名直接下属的经理

题目链接: 570.至少有5名直接下属的经理由题意可知,所有员工(不管普通员工还是经理)都在一张表中(),很显然,表的关联关系为 自我引用。这时首选 多表查询中的 JOIN 连接,然后添加过滤条件。题目要求:找出至少有五个直接下属的经理,首先利用匹配字段 进行连接(使用 就会筛选出经理)。连接类型选择左连接,为啥使用左连接呢?因为要弄出所有员工的信息,可是直接筛选出经理不好嘛?(有道理,其实直接用JOIN更好,而不是使用)查看结果记录表,总结出过滤条件,对进行分组(),然后判断的数量是否大于5(),额

2024-07-24 11:40:44 350

原创 MySQL零散拾遗(六)---- 对 FROM table1,table2 要点进行详细介绍

我们都知道多表查询有JOIN和UNION。JOIN有分为INNER JOIN(内连接)、OUTER JOIN(外连接,外连接又分为左连接LEFT JOIN、右连接RIGHT JOIN)、CROSS JOIN(交叉连接,也就是笛卡尔积)。UNION(称为联合查询,或者说 合并查询结果),利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同,并且相互对应。各个SELECT语句之间使用UNION或UNION ALL关键字分隔。

2024-07-24 11:38:44 409

原创 MySQL零散拾遗(五)---- 对 GROUP BY 要点进行详细介绍

它可以根据指定的列或表达式对结果集中的行进行排序,并为每一行分配一个排名。在排名过程中,相同的值将被赋予相同的排名,而不同的值将被赋予不同的排名。的作用是将查询结果按照指定的列进行分组,分组内使用聚合函数进行计算,而其他非分组列和非聚合函数列则返回该分组中的第一条记录的值。group by 作用的只有分组列和聚合函数列,其他列不管用,返回的其他列只有对应的第一行。作用的是分组列和聚合函数列,其他列只能取该分组中的第一条记录的值。莫事儿莫事儿,我还找到了对应的 OJ 题,3,2,1,“上链接”

2024-07-22 22:55:39 777

原创 MySQL零散拾遗(四)--- 使用聚合函数时需要注意的点点滴滴

聚合函数作用于一组数据,并对一组数据返回一个值。

2024-07-21 00:07:07 417

原创 MySQL零散拾遗(三)

在MySQL中,JOIN语句用于将两个或多个表根据指定的关联条件合并成一个新的结果集。JOIN ON和WHERE子句在JOIN。

2024-07-18 11:39:58 615

原创 MySQL零散拾遗(二)

MySQL中 SELECT 查询语句的执行顺序,以上面的语句进行分析,首先执行。看看你想查什么数据(哪些字段或者列)这时可以对列进行起别名,最后执行。的 员工id,员工的月薪还有年薪,并按年薪进行升序排序。有了列的别名后才能使用列的别名进行对查询结果进行排序。看看有什么过滤条件,筛选完后留下一波数据,然后执行。但是列的别名不能在 WHERE 中使用。从哪个表中取数据,然后执行。下面的MySQL语句会报错。中定义的列的别名,无法在。举个栗子,有一个员工表。

2024-07-16 23:42:53 289

原创 MySQL零散拾遗(一)

INNER JOIN用于获取两个表中匹配的记录。OUTER JOIN(包括LEFT JOINRIGHT JOIN和)用于获取两个表中的所有记录,包括不匹配的情况。在实际应用中,选择哪种类型的JOIN取决于你希望从数据库中检索的数据类型。

2024-07-09 20:56:55 1718

原创 SpringBoot项目,配置文件pom.xml的结构解析

是 Maven 项目对象模型(Project Object Model)的配置文件,它定义了 Maven 项目的基本设置和构建过程。这个结构提供了 Maven 项目的基本框架,可以根据项目的具体需求进行扩展和定制。

2024-07-04 21:30:10 676

转载 浅析 VO、DTO、DO、PO 的概念、区别和用处!

本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。

2024-07-03 18:07:18 232

原创 SpringBoot Gradle和Vue 两个项目结构进行解释,说明其作用

在使用Gradle构建的Spring Boot项目中,项目的目录结构和各个文件的作用如下:项目根目录:src/main/java/:src/main/resources/:src/test/java/:src/test/resources/:build/:build.gradle:src/main/java/:src/main/resources/:src/test/java/:src/test/resources/:通过这种结构,项目的代码和资源文件都被清晰地组织和管理,使得项目的开发、维护和部署变得更加

2024-06-18 16:23:49 1077

原创 归零 (一)---- 渗透测试阶段

需要渗透测试团队根据目标组织的业务运营模式、资产保护模式和安全防御规划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达到能够对客户组织造成最重要业务影响的攻击途径。渗透测试报告中会涵盖之前所有阶段所收集的关键情报信息、挖掘出的安全漏洞、成功渗透攻击的过程、造成业务影响后果的攻击途径。在进行渗透测试之前,渗透测试团队需要与客户交互讨论,确定渗透测试目标、渗透测试范围、渗透测试限制条件、服务合同等细节进行商议,达成一致协议。

2024-05-21 20:59:05 299

原创 物理机和虚拟机的网络通信疑虑问题

物理机挂VPN后,虚拟机无法访问谷歌通常是由于VPN客户端没有共享连接、路由表问题或DNS问题引起的。可以通过配置VPN客户端共享连接、手动配置路由和DNS,或者使用桥接模式来解决这个问题。

2024-05-15 09:51:11 997

原创 用于校验字符串的简单Java程序,业务中用于校验账号,密码等等

在 main() 方法中,我们创建了一个示例字符串 input,然后调用 containsSpecialCharacters() 方法来检查该字符串是否包含特殊字符。这个程序有一个静态方法 containsSpecialCharacters(),它接受一个字符串作为输入,并返回一个布尔值,指示该字符串是否包含特殊字符。最后,使用 matcher.find() 方法检查是否有特殊字符匹配成功,如果有则返回 true,否则返回 false。根据检查结果,程序输出相应的提示信息。

2024-05-09 01:41:15 220

原创 MySQL中所有数据类型

这些是MySQL中常见的数据类型,根据具体的需求和数据特征,选择适当的数据类型可以提高数据的存储效率和准确性。

2024-05-08 17:26:53 415 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除