自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot 将 jar 包和 lib 依赖分离,dockerfile 构建镜像

Spring Boot 是一个非常流行的 Java 开发框架,它提供了很多便利的功能,例如自动配置、快速开发等等。在使用 Spring Boot 进行开发时,我们通常会使用 Maven 或 Gradle 进行项目构建。本文将为您介绍如何使用 Maven 将 Spring Boot 项目打包成可执行的 JAR 文件,并将 JAR 文件和依赖库分离,以便于在 Docker 容器中部署。

2023-11-04 10:59:26 1429

原创 使用 docker-compose 部署 SpringBoot 项目 & nginx 部署前端

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YAML 文件来配置应用程序需要的所有服务,然后使用一个命令就可以创建并启动所有服务。Docker Compose 可以帮助您简化容器的管理,实现服务的快速部署、扩展和升级一次性创建和启动多个容器,实现应用程序的多服务协作使用 YAML 文件来定义服务的配置,避免重复输入命令行参数通过项目名来隔离不同的应用环境,避免容器、网络和卷之间的冲突。

2023-10-31 14:49:17 954

原创 uniapp 自定义导航栏

uniapp 自定义导航栏

2023-10-24 22:58:24 1168

原创 程序员为什么不想写注释

程序员是否需要写注释取决于具体情况。在某些情况下,注释可以提高代码的可读性和可维护性;而在其他情况下,则可能会增加代码的复杂度和维护成本。

2023-10-13 11:57:23 138

原创 idea 相关配置

推荐插件下载:在这个初始页面进行全局设置项目模块设置,右上角选择你的 jdk 版本模块语言选择 8在设置中,编译器设为 1.8第一个是自动导包,不用手动 alt + enter第二个是优化包,自动合并取消勾选勾选上

2023-10-12 23:44:04 611

原创 Linux 部署 GitLab & idea 连接

GitLab 是一个开源的代码管理平台,使用 Git 作为版本控制工具,提供了 Web 界面和多种功能,如 wiki、issue 跟踪、CI/CD 等。GitLab 可以自托管或使用 SaaS 服务,支持多种操作系统和执行器。GitLab 可以帮助软件开发团队提高协作效率和质量。

2023-10-12 23:38:07 1211 1

原创 使用【Blob、Base64】两种方式显示【文本、图片、视频】 & 使用 video 组件播放视频

Blob 对象的类型是由 MIME 类型(Multipurpose Internet Mail Extensions)来确定的。MIME 类型是一种标准,用于表示文档、图像、音频、视频等多媒体文件的类型。

2023-10-11 20:25:43 5520

原创 docker 部署 xxl-job & SpringBoot 整合 xxl-job 执行任务

XXL-JOB是一个负责管理调度信息,发出调度请求,支持可视化和动态的操作,监控调度结果和日志,支持执行器Failover:负责接收调度请求并执行任务逻辑,支持多种方式定义执行器:基于 Quartz 和 Netty 实现高效的调度和通信:支持集群部署,自动注册和发现,故障转移和重试:支持自定义任务类型,路由策略,报警方式等

2023-10-11 14:44:31 356

原创 使用 nodejs,SpringBoot 两种方式实现 WebSocket

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它可以让浏览器和服务器之间实现实时双向数据传输。

2023-10-10 09:35:42 656

原创 Linux 部署 MinIO 分布式对象存储 & 配置为 typora 图床

MinIO 是一款高性能的对象存储系统,它可以用于大规模的 AI/ML、数据湖和数据库工作负载。它的 API 与Amazon S3 云存储服务完全兼容,可以在任何云或本地基础设施上运行。MinIO 是,也提供商业许可和支持。

2023-10-09 12:15:16 1520 1

原创 SpringBoot 定时任务

定时任务是按照指定时间周期运行的短任务。使用场景为在某个固定时间点,为所有运行中的节点做时间同步。定时任务是基于时间控制的短时任务(Job),类似于Linux系统的crontab文件中的一行,在指定的时间周期运行指定的短时任务。在给定时间点只运行一次或在给定时间点周期性地运行。

2023-10-09 11:45:00 160

原创 SpringBoot 实现数据脱敏

数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。数据脱敏常用规则有替换、重排、加密、截断、掩码替换:用其他字符或者符号替换原始数据中的字符或者符号,例如将手机号码中间四位替换为星号。重排:将原始数据中的字符或者符号重新排列,例如将身份证号码中的数字重新排列。加密:使用加密算法对原始数据进行加密,例如使用AES算法对银行卡号进行加密。截断:将原始数据中的一部分截取掉,例如只保留姓名的首字母。掩码。

2023-10-08 20:21:10 461

原创 Linux 部署项目

将整个项目文件上传到服务器上(如 /www/wwwroot/user-center-frontend/),在该目录里根据 Dockerfile 构建镜像。将整个项目文件上传到服务器上(如 /www/wwwroot/user-center/),在该目录里根据 Dockerfile 构建镜像。点击网站,选择 java 项目,添加 java 项目,输入信息,注意图中化框部分,然后提交。创建项目文件夹,将 jar 包复制进去,复制文件夹和文件名备用。Dockerfile 在后端根目录创建,代码如下。

2023-10-08 11:45:00 313

原创 JMeter 安装和使用

网盘链接:https://pan.baidu.com/s/1SOFrXmC2Y028mzdMJ8p7Dg?以下配置为开启 200 个线程,同时执行,中间没有停顿(Ramp-Up 是停顿时间),循环一次。JMeter 依赖 Java 环境,安装前需要先安装好 java 环境。则显示请求成功,如果勾选否,则表示存在这段字符串为请求失败。将下载下来的压缩包解压出来,然后搜索环境变量进行配置。继续添加,监听器里面的查看结果树,聚合报告。点击取样器,添加 Http 请求。编辑 classpath 变量。

2023-10-07 11:45:00 813

原创 gitee 创建仓库 & git 连接

HBuilderX 没有和 idea,Webstorm 里面的 git 可视化工具,GitKraken 可以帮助我管理 git。如果已有本地 Git 仓库,在已有项目中绑定远程 Gitee 仓库。在项目中添加 .gitignore(文件里面的内容则不需要上传)登录的时候断网,然后密码谁便输之后,重新联网就可以使用了。6.5.3 版本后开始收费,所以下载之前的免费版本使用。创建快捷方式替换掉原来的【程序】中的的快捷方式。点击右上角 + 号,新建仓库。填写仓库名称,然后创建。选择你所在的项目目录。

2023-10-07 10:45:00 190

原创 typora + picgo + 对象存储 OSS

阿里云盘(软件安装包): https://www.aliyundrive.com/s/saQoSJww3qS 提取码: 22qw。找到存储空间名,在上面有存储空间的名称(基本信息里面),也就是你创建的 bucket 名称,复制到记事本里。找正式版本,不要 beta,可以下载 2.3.0。点击 bucket 列表,创建 Bucket。再记录一些设置参数,存储空间名,存储地域。点击右上角头像,选择访问控制。点击用户,再点击创建用户。,开通后进入管理控制台。

2023-10-06 12:21:28 196

原创 开发工具箱 —— it-tools

其他工具,比如二维码生成,将 docker run 转换成 docker compose。Web 工具,包括 url 解析,jwt 解析解码,json 差异比较等。转换工具类,包括 json 转换,日期转换,base 转换等。加密工具类,包括token生成,uuid生成,加解密等。docker 安装命令。

2023-10-06 11:34:43 416

原创 好用的 WAF 工具(SafeLine)

Web应用防火墙(WAF)是一种工作在应用层的防火墙,主要对Web请求/响应进行防护WAF可以帮助保护Web应用程序免受各种常见攻击,比如SQL注入,跨站脚本漏洞(XSS)等WAF也能够监测并过滤掉某些可能让应用遭受 DOS(拒绝服务)攻击的流量。

2023-10-05 22:56:19 810

原创 Tomcat 启动失败解决(idea)

idea 右上角查看项目结构,点击 Project,修改 Project SDK 和 Project Language level,我用的是 java 1.8。如果项目中的 Tomcat 已存在,但仍然没有 Servlet 相关依赖,可以检查 External Libraries 是否存在依赖。如果不在 JDK 以及 Tomcat,则考虑重新新建项目,配置 Tomcat。如果是 jsp 项目,要打包成 war,需要检查是否存在以下内容。如果没有配置 Tomcat ,点击左上角添加。

2023-09-22 10:05:37 6144

原创 两种限流实现方式(令牌桶&滑动窗口)

使用 Guava 中的。注解 + AOP 实现。

2023-09-18 22:46:46 324

原创 在 CentOs7 中安装宝塔面板和 Docker(包括MySQL,Redis)

在宝塔中新建文件夹,这里在 wwwroot 中新建了 docker ,在里面新建了 redis,再建了 conf,data。输入命令行回车,如果有提示,选择 y,回车,等待安装,出现如下内容则安装成功。如果没有镜像,会先从仓库拉取镜像,在创建容器,可以看到容器已经创建。使用内网进行连接,如果是云服务器就使用外网,或者两个都试一试。成功后,打开宝塔,软件商店下载 docker 管理,安装。如果有云服务器直接用 ip,端口,密码连接。选择加速器,复制镜像到文件中,点击保存。每个人都不同,复制自己的镜像仓库。

2023-06-19 12:00:00 6116

原创 在虚拟机 VMware 中安装 CentOs 7及使用 Xshell 进行连接

打开 xshell,点击新建,输入名称(自定义),输入主机(上面设置的 IPADDR,如这里的 192.168.160.33),端口号一般为 22。选择新 CD/DVD,使用 ISO 映像文件,选择刚才下载的 iso 文件,之后点击关闭。选择 GNOME 桌面,勾选 GNOME应用程序,开发工具,安全性工具,点击左上角完成。选择 Linux ,选择 CentOS 7 64 位,点击下一步。打开虚拟机的虚拟网络编辑器,在编辑里面,记住ip和子网掩码。点击网络和主机,设置网络,注意以太网是关闭。

2023-06-18 15:59:19 4052

原创 虚拟机 VMware-Workstation-pro 17 下载安装

下载地址:[VMware Workstation 17]e(https://pan.baidu.com/s/1uX0rHCJpSDOe0PDLjIpM9Q?修改安装目录(根据自己需求修改),点击下一步。点击下一步,勾选后下一步。取消提升计划,点击下一步。安装完成后,点击许可证。

2023-06-18 15:44:02 2149 1

原创 使用 hexo + 主题 butterfly + Github 搭建个人博客

在新出的导航栏,找到 ssh,点击后,在新的页面点击 ssh keys 的新建钥匙,新建钥匙的 title(名称)随意起名,如:余白博客,将 id_rsa.pub 文件复制的公钥,粘贴到 key 里面,保存。,生成了一个 node安装 文件夹,以及一个 index.md ,把它复制一份放在 _posts 可以在首页看到。标题 Title 可以任意,如凉茶小栈,将刚才复制的 ssh 粘贴到 Key 中,点击 Add SSH key。下面的一些图片用的图床,你们可以可以相对路径的图片试试。

2023-04-03 15:11:17 6631 1

原创 node@16.13.0 安装教程

在【用户变量】里的【path】中,有原来 C 盘下的 npm 路径,删掉后添加 node_global 路径。阿里云盘:https://www.aliyundrive.com/s/3J3piqUZM6j。查看安装安装路径下的 node_global 中是否存在 node_module。使用 msi 安装会自动配置环境变量,使用压缩包解压则不会自动配置环境变量。重新全局安装 express,会发现出现在 node_global 中。找到之前的安装路径,右键属性,编辑 User,在允许那里打钩。

2023-04-03 15:04:23 1759

原创 新版 Alist + RaiDrive 挂载阿里云盘 Open 到本地,实现网盘本地化

新版 Alist + RaiDrive 挂载阿里云盘 Open 到本地,实现网盘本地化,挂载好后网盘的视频也可以用本地的播放器观看了,录视频也可以直接选择云盘,不需要手动转存了

2023-03-24 17:30:19 32798 6

原创 C语言学生管理系统

设计的学生信息管理系统是用户管理学生的信息,通过文件存储学生信息数据,通过交互实现对学生基本信息的录入和存取,并且可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,同时可以按学号查询此学生的相关信息。读取文件数据,输入学号,姓名,年龄,传入链表,判断链表是否存在,不存在则创建新链表,存在就找到节点学号数据与输入学号相同的节点,修改节点中的数据,保存到文件中。读取文件数据,输入学号,遍历链表,移动指针,找到节点学号和输入的学号相同的节点,删除节点,上一个节点指向下个节点,最后保存到文件中。

2023-03-19 11:06:05 530

原创 【C语言】数据在内存中的存储方式

因为之前我一直认为只有 char 才能表示字符,或者才能把字符输出到控制台,其实不是,char 也只是一个在内存中开辟一个字节的标识符,常用于存储字符,所以叫 char ,和 int,long都一样。个人认为,C语言中的存储区是电脑内存的一部分,在一部分内存中分为了代码区,全局静态区,常量区,堆栈,这样分区会比较清晰,不会显得混乱。在学习存储区时,发现常量区是在全局静态区前面的,不过在我验证时发现全局静态区的地址在常量区前面,我猜测可能在不同编译期会有所不同。调用方法时就会调到这行地址执行。

2023-03-11 17:20:56 200

原创 【若依】使用 ruoyi 遇到的一些坑

在若依框架里可以看到 ruoyi-admin 模块下有 controller 和 application ,在同一个包下,application可以扫描到 controller ,但无法扫描到 rs-admin 下的 controller ,前端发送请求会出现 404。在若依启动类的 @SpringBootApplication 里面添加扫描包,注意添加若依的包名和自己写的模块包名。自己定义的模块中可以访问 controller ,但无法扫描到 mapper。添加自己定义模块的包名,实现自动映射。

2022-10-01 18:00:00 4702

原创 web 发展阶段

后面还有大前端时代,nodejs 的全栈时代,这里就不展开了,大前端就是 js 的一些框架,如 vue.js ,nodejs 用来做服务器在大型 web 项目中是不如 java 的。

2022-09-29 23:11:00 265

原创 SpringSecurity 初学简易流程图

初学 SpringSecurity 简单流程图,仅登录注销

2022-08-05 18:14:05 169

原创 【java web】 Redis & Jedis 简单入门 (JQuery+AJAX+JSON)

Redis缓冲在内存中,持久化在硬盘里,非关系型数据库,数据类型为键值对Jedisjava操作redis步骤 // 创建Jedis jedis = new Jedis("localhost",6379);// 操作jedis.set("username","zhangsan");// 关闭jedis.close();连接池 JedisPool// 创建配置对象JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();je

2022-02-09 08:30:00 404

原创 【java web】web核心技术(Filter&Listener)

Filter过滤器完成通用的操作案例:登录验证public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { // 强制转换 HttpServletRequest request = (HttpServletRequest) req; // 获取资源请求路径 String uri = req

2022-02-04 10:00:00 226

原创 【java web】jsp详解+el表达式+jstl标签库

jsp在html中可以写java代码本质:servlet指令<%@ page contentType="text/html;charset=UTF-8" errorPage="index.jsp" language="java" %><%@include file="login.html" %> <!-- 引进相同的页面 --><%@ taglib prefix="" %> <%--引入标签库--%>MVC模式1.Model:

2022-02-02 22:02:08 547

原创 【前端】Bootstrap & XML & Jsoup应用

Bootstrap模板配置文件<!doctype html><html lang="zh-CN"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1">

2022-01-28 11:30:00 416

原创 【java web】Servlet基础知识

Servlet运行在服务端的小程序生命周期方法package daqi;import javax.servlet.*;import java.io.IOException;public class servlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override publi

2022-01-26 23:45:30 300

原创 【java web】JDBC详解

JDBC快速入门public static void main(String[] args) throws Exception { // 1.注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 2.获取连接 String url = "jdbc:mysql://127.0.0.1:3306/db1?useSSL=false"; String username = "root"; String passwo

2022-01-07 09:00:00 261

原创 【Java web 】MySQL详细知识点(DDL,DML,DQL,约束)

MySQLDDL注:以下以db1位例1.操作 数据库(1)查询SHOW DATABASES;(2)创建CTEATE DATABASE db1;CTEATE DATABASE IF NOT EXISTS db1;(3)删除DROP DATABASE db1;DROP DATABASE IF EXISTS db1;(4)使用数据库SELECT DATABASE();USE db1;2.操作 表(1)创建# cmdcreate table tb_user( -&

2022-01-06 21:45:19 662

原创 【java基础知识】反射

反射三种获得字节码文件// 直接调用Student.class // 创建对象调用 Student s = new Student;s.getClass // 使用Class中的静态方法调用Class.forName("url(里面写路径)")获得构造函数对象拿成员变量和下面一样,把Constructor改为Fieldfield中给成员变量赋值方法是set(obj,“西安”)// 获得公共构造函数对象c.getConstructors();// 获得所有构造函

2021-12-31 10:30:00 210

原创 【java基础知识】接口 & Stream流

接口// 在接口中定义默认方法public default void show3() { System.out.println("hello")}// 静态方法只能由接口名直接调用// public可以省略引用方法引用// lambda表达省略usePrintable(i -> System.out.println(i))// 用方法引用改写usePrintable(System.out::println) // 它会自动推导,上述是类::方法引用对象实例化方法pr

2021-12-30 21:20:24 255

空空如也

空空如也

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

TA关注的人

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