- 博客(30)
- 资源 (5)
- 收藏
- 关注
原创 SpringBoot发送html邮箱验证码
1. 效果展示(用户收到的)2. 邮件推送管理(见以后的博客)3. 后端核心代码(通用版)3.1 SendEmailVO实体类3.2 Controller层核心代码3.3 ServiceImpl层核心代码3.4 利用正则检查邮箱是否合法工具类3.5 字符替换工具类3.6 Reposity层3.7 发送html邮件的核心配置类4. 后端代码(带例子版)4.1 Controller层4.2 ServiceImpl层5. html邮件内容5.1 注册验证码模板5.2 注册验证码模板
2021-12-17 00:05:25 10939 16
原创 Vue+SpringBoot上传图片至Gitee并获取网页访问图片的url
目录一、图文演示流程:二、具体思想:三、代码实现(前端):四、代码实现(后端):五、参考api:一、图文演示流程:二、具体思想:大致思路:使用Vue将本地上传的图片转为Base64格式,然后通过调用Gitee的api接口将图片存放在远程仓库中,这样我们就可以通过url来对图片进行一个在线访问了。三、代码实现(前端):<template> <div> <el-upload ref="upload" list-type="pi
2021-11-17 01:06:29 29255 4
原创 Oracle认证1Z0-071线上考试注意事项
Exam 1Z0-071: Oracle Database SQLBecome an Oracle Database SQL Certified Associate and demonstrate understanding of fundamental SQL concepts needed to undertake any database project. Passing the exam illustrates depth of knowledge of SQL
2024-08-05 01:11:04 1129
原创 Linux-VMware常用设置(时间+网络)及网络连接激活失败解决方法-基础篇②
在VMWare中默认使用的NAT模式NAT模式:Network Address Translation,网络地址转换,允许一个整体机构以一个公用IP地址出现在Internet上,顾名思义,它是一种把内部私有网络地址(IP地址)通过NAT转发成合法公有网络IP地址的技术优点:可以节省IP资源 (不会占用局域网的Ip地址,因为是新分配的网段)缺点:由于网段不同,局域网内其他设备无法访问虚拟机中的操作系统。
2023-02-19 19:52:43 7547 3
原创 Linux-VMware虚拟机与CentOS操作系统的安装-基础篇①
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。一般情况下我们的电脑只能运行一个操作系统,可能会因为工作或者学习的需要,我们希望使用其它的操作系统,但是不可能将自己 windows 操作系统更换成其它操作系统
2023-02-18 16:20:33 346
原创 nacos服务配置和持久化配置
目录一、Nacos服务注册中心对比提升CAP模型二、Nacos服务配置中心1. 添加依赖2. 配置application.yaml3. 配置bootstrap.yaml4. 平台创建配置规则5. 业务层编写6. 访问获取配置内容7. Nacos动态刷新(@RefreshScope注解)三、切换不同环境1. DateId方案2. Group方案3. Namespace空间方案四、Nacos持久化配置1. derby数据库2. 切换MySql数据库① 创建数据库② 在数据库
2022-06-19 01:34:44 4859 1
原创 nacos简易实现负载均衡
一、什么是Nacos?二、Nacos下载和安装1. 使用Windows启动2. 验证nacos是否成功启动三、Nacos Discovery服务注册/发现四、简易实现负载均衡1. 注册者配置2. 注册者启动类3. 注册者业务层4. 消费者配置5. 消费者启动类6. 消费者业务层7. 开始调用接口8. 遇到问题解决`java.net.UnknownHostException: nacos-provider`.........
2022-06-08 01:38:18 10913 11
原创 Lambda表达式-Stream流
一、流式思想二、如何获取流三、Stream流常用API1. forEach2. map3. filter4. count5. collect6. limit7. skip8. concat
2022-05-17 09:44:44 614 3
原创 Lambda表达式-常见的函数式接口
目录一、Runnable / Callable接口二、Supplie一、Runnable / Callable接口在Thred构造器中,真正线程执行的内容就是这个Runnable的具体实现不难看出,Runnable里面只有一个抽象的run方法函数式接口中的抽象方法怎么定义,Lambda表达式就怎么定义开始实现多线程操作:同理Callable接口,不难看出,Callable只是多了个返回值罢了二、Supplier源码非常简单,还配上了贴心的注释:定义了一个指定类型结果的返回,等需要调
2022-05-15 01:17:37 327
原创 Lamda表达式-入门篇
一、什么是Lamda表达式?二、Lambda表达式语法格式1. 第一种语法格式2. 第二种语法格式:三、Lambda的语法格式1. 使用Lambda的前提2. 具体的实现
2022-05-14 05:26:53 606
原创 IDEA集成Git(配置、交互、解决冲突、总结)
一、IDEA配置Git1. 配置执行路径2. 本地初始化操作3.提交缓存区和本地库操作4. 查看提交日志二、本地库和远程仓交互(强制版)三、本地库和远程库交互(克隆版)四、如何使用IDEA解决冲突五、总结
2022-05-02 23:59:51 6001 20
原创 Git分支详解
一、什么是分支?二、图解分支三、分支的好处四、基本命令1. 新增分支2. 查看分支3. 切换分支4. 删除分支五、分支冲突与解决
2022-04-28 23:55:43 5588 10
原创 Git基本命令篇
一、前言1. 概念2. 基础核心图二、 基础命令1. 查看版本2. 清屏操作3. 设置签名和邮箱4. 本地仓库初始化5. 查看当前的所有文件6. 将文件提交到暂存区7. 将暂存区的内容提交到本地库8. 查看git工作区和暂存区的状态9. 查看历史命令(1)分页查看(2)长索引方式(3)短索引方式(4)短索引+步数方式10. 前进或者后退版本(1)均重置方式(2)暂存区、本地库重置方式(3)仅本地库重置方式11. 比对工作区和暂存区12. 比较暂存区和本地库
2022-04-14 02:23:42 4237
原创 新版本代码自动生成(MybatisPlus-generator) 代码示例+问题解决
虽然MybatisPlus官网上已经给出了新版本代码生成器的核心依赖和核心代码,但对于没接触过的小伙伴还是比较困难上手😭,本文将展现如何使用MybatisPlus-generator快速生成代码。目录1. 所需依赖✅2. 核心代码✅3. 遇到的问题🎐① Cannot resolve symbol 'FastAutoGenerator'② NoClassDefFoundError:freemarker/template/Configuration③ java.sql.SQLException: No s.
2022-03-26 17:06:26 17103 6
原创 IDEA输出带有颜色的语句
目录一、遇到的情况:二、解决方法:三、工具类展示效果:四、工具类代码:一、遇到的情况:有时候,我们需要打印日志来进行排错,但是有时候程序运行起来,日志可能会非常非常多,找到我们打印的那句话有时候会比较困难。二、解决方法:如果说在非常非常多的日志中,能有效提升我们定位输出的语句的方式,莫过于对打印的语句进行颜色显示,这样也就方便我们定位所输出的内容是什么。三、工具类展示效果:只需调用PrintUtil类里的printMyColor方法即可!四、工具类代码:package com.exam
2022-01-23 21:28:20 10126
原创 自学笔记-java多线程
目录1. 继承 Thread 类实现2. 实现Runnable接口3. 实现callable接口1. 继承 Thread 类实现① 继承Thread类② 重写run()方法③ 调用start()方法开启线程package com.example.myjava.javaMultithreading;/** * @Description: 多线程继承Thread类的实现 * @Author: Hanzao * @Date: 2022/01/14/17:10 */public cla
2022-01-14 23:47:17 130
原创 Vue简易注册页面+发送验证码功能的实现
目录1. 效果展示2. 增强版验证码及邮件推送管理(见以后的博客)3. 大致思路4. 前期准备5. 前端代码6. 后端① 主要的依赖② 正则校验邮箱工具类③ Redis的set和get工具类④ 核心service层代码1. 效果展示2. 增强版验证码及邮件推送管理(见以后的博客)3. 大致思路用户角度分析一下注册时候的步骤:填写自己的邮箱号点击“发送验证码”按钮邮箱中收到验证码填写其余注册信息并填写验证码注册成功!系统设计者角度分析一下步骤:系统随机生成六位数根据用户提
2021-11-27 23:44:02 32515 8
原创 Vue简易登陆页面
效果展示Vue代码<template> <div> <div class="login-box"> <h2>登录系统</h2> <form> <div class="user-box"> <input type="text" name="" required="" v-model="username"> <la
2021-11-22 15:19:00 41606 6
原创 自学笔记-链式存储的基本操作(慢慢写)
目录前言前言线性表的链式存储又称单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素。为了简历数据元素之间的线性关系,对每个链表结点,除存放元素自身的信息外,还需存放一个指向其后继的指针。其中:data为数据域,存放数据元素;next为指针域,存放其后继结点的地址。虽说单链表可以解决顺序表需要大量连续存储单元的缺点,但是,其附带的指针域,也存在着浪费储存空间的缺点。...
2021-10-24 23:13:23 26073
原创 自学笔记-SpringBoot集成ElasticSearch
Node js查看环境变量和版本打开访问测试!安装淘宝镜像查看cnpm是否真安装成功下载依赖启动访问解决跨域问题连接变绿!Kibana可以将es的数据通过友好的页面展示出来 ,提供实时分析的功能。可以见到,默认端口 5601访问进入页面访问测试将ik放入ElasticSearch中重启es,发现加入插件(ik)ik_smart 最少切分ik_max_word 最细粒度划分ik分词器增加自己的配置字典:编写自己的配置文件,注入到扩
2021-08-12 22:56:15 26052 1
原创 自学笔记-顺序表的基本操作
#include<stdio.h>#include<stdlib.h>#include<string.h>#define InitSize 10typedef struct{int *data;int length;int maxsize;}SeqList;void InitList(SeqList &L){L.data = (int *)malloc(sizeof(int)*InitSize);L.length = 0;L.maxsize
2021-08-01 00:46:43 24925
原创 自学笔记-Swagger2
目录1、简介2、导入需要的相关依赖3、编写自己的controller类4、在config中配置Swagger5、测试运行6、配置Swagger7、Swagger配置扫描接口8、如何只在生成环境中使用9、配置API文档的分组10、一些常用注解1、简介Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服
2021-07-04 19:13:23 24722
原创 Java读写csv文件操作
内容:将csv(至少三个字段)里面的数据进行读的操作,将数据读取到pojo类组成的List中,然后按照某种要求进行排序,最后将排序后的结构写入另一个csv文件当中。具体代码:csv文件:需要依赖:Pojo类package com.example.demo.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@NoArgsConstructor
2021-07-01 22:52:40 29206
原创 自学笔记 -SpringBoot+Thymeleaf+MybatisXML版本
目录前言1、需要依赖2、application.properties3、Mysql数据里的数据4、管理员登陆流程:①查询所有用户流程②添加新用户流程③修改用户流程④删除用户流程前言SpringBoot主要用来简化使用Spring的难度和繁重的XML配置,它是Spring组件的一站式解决方案,采取了习惯优于配置的方法。通过.properties或者.yml文件替代了Spring繁杂的XML配置文件,同时支持@ImportResource注解加载XML配置。Spring Boot还提供了嵌入式HTTP服务
2021-06-21 00:20:12 25062
原创 自学笔记-使用MyBatis建立数据库基本连接
流程一、建立自己的数据库二、maven配置三、application.properties配置数据库连接和设接口绑定四、建立user类(pojo里),使用lombok创建有参无参构造方法五、UserMapper配置文件六、UserController类七、通过url访问成功!一、建立自己的数据库二、maven配置三、application.properties配置数据库连接和设接口绑定四、建立user类(pojo里),使用lombok创建有参无参构造方法五、UserMapper配置文件
2021-06-10 20:25:55 22608
原创 上海市计算机三级《信息技术与数据库技术》(2019) 答案+思路
2019年 上海市计算机三级《信息技术与数据库技术》操作题部分:(一)信息系统设计(本题3小题,共15分)信息系统设计-答案(二)数据库管理系统应用(本大题2道小题,共22分)1.数据库创建(18分)2.数据库管理(4分)(三)SQL语句(本大题6道小题,每小题3分,共18分)1.查询出品年份在2014年以后的电影信息。2.查询"复仇者联盟"系列电影的评价信息。3.查询所有参与了电影评价的用户信息。4.按片名统计电影评价的平均评分,并按平均评分降序排列。5.将用户编号(UserID)为'08'的电影评价记录
2020-11-20 21:20:23 29267
原创 已从数据文件records.txt中读取学生信息,建立了带头结点的学生链表。编写int count(LinkNode* head,int sex)......
已从数据文件records.txt中读取学生信息,建立了带头结点的学生链表。(1)编写一个函数 int count(LinkNode* head,int sex); 功能是统计学生链表中性别为sex参数(0为男生,1为女生)的人数并返回该值。(2)编写一个函数 double getMax(LinkNode* head); 功能是统计学生链表中最高的身高并返回该值。(3)编写一个函数 void deleX(LinkNode* head, int sex); 功能是删除学生链表中性别为sex参数(0为男生
2020-08-02 19:13:31 30003
原创 已创建了一个包含学生学号、身高、性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取。 编写一个函数 void reverse(Seqlist *lp); 功能是对已建立的学生身
已创建了一个包含学生学号、身高、性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取。(结构体数组版本)(1)30’ 编写一个函数 void reverse(Seqlist *lp); 功能是对已建立的学生身高信息表进行倒置,结果输出在屏幕。(2)30’ 编写一个函数 double avg(Seqlist *lp, int sex); 功能是统计某性别学生(0为男生,1为女生)的平均身高并返回该值。(3)40’ 编写一个函数 void deleX(Seqlist *lp, int
2020-08-01 19:52:02 31776 2
原创 数据结构前言练习
数据结构实验报告(预备实验)数据结构实验报告(预备实验)预备实验:C语言知识回顾任务一:平均值和最近元素下标任务二:结构体数组排序数据结构实验报告(预备实验)预备实验:C语言知识回顾任务一:平均值和最近元素下标题目要求:输入n个整数,输出其中与平均值最接近的元素的值及下标。要求定义下面功能函数,并在main函数中调用这些函数实现题目要求的功能:1.double getAvg(int a[], int n)功能:求数组a中n个数的平均值。2.int getIndex(int a[], int
2020-06-29 17:15:04 29324 1
Xftp-MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件
2022-12-22
nslicense.dll
2022-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人