简单入门
通过docker部署mysql
123456docker run -d \ --name mysql \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=123 \ mysql
docker run : 创建并运行一个容器,-d是让容器在后台运行
–name mysql : 给容器起个名字,必须唯一
-p 3306:3306 : 设置端口映射 宿主端口:容器端口
-e KEY=VALUE : 设置环境变量
mysql : 镜像名 [repository]:[tag] 镜像名:镜像版本
不填默认latest
基础命令
常见命令
docker pull 获取镜像
docker build 自定义镜像 需要 dockerfile文件
docker save 保存docker镜像
docker load 加载本地镜像
docker push 上传镜像到仓库
docker stop/start 开启/关闭容器进程
docker ps 查看容器
docker rm/rmi 删除容器/镜像
docker logs ...
Windows日常
未读下载aria2
引用站外地址
aria2是一款开源支持多平台的下载器
aria2
下载完成后解压即可。
配置aria2
aria2配置文件需要自己创建aria2.conf以下是我个人自用的aria2配置文件改自PTERX大佬的配置文件,同时创建aria2.session。
引用站外地址
Aria2完美配置
PTERX
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747 ...
黑马程序 vue+spring项目实现
未读Vue入门
Vue安装
通过ES
模块快速将vue3导入到一个页面中
123456789101112<div id="app">{{ message }}</div><script type="module"> import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js' createApp({ setup() { const message = ref('Hello Vue!') return { message } } }).mount('#app')</script>
V提供的常用指令
指令
作用
列表渲染,遍历容器的元素或者对象的属 ...
新增文章分类
使用validation完成参数校验
在service层需要为Category的createUser、createTime、updateTime属性赋值
获取文章分类
修改传出时间的json格式
123456//创建时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; //更新时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime;
获取文章分页
对应非必要参数可以在参数前面加上@RequestParam(required = false)
登录认证
目标:让为登录的用户无法访问特定网页
JWT令牌
令牌是一段字符串
承载业务数据,减少后续请求查询数据库的次数
防篡改,保证信息的合法性和有效性
全称 JSON Web Token(https://jwt.io/)
定义了一种简洁的、自包含的格式、用于通信双方以json格式安全的传输信息。
组成
第一部分:Header,记录令牌类型、签名算法等。
第二部分:Payload(有效载荷),携带一些自定义信息、默认信息。
第三部分:Signature(签名),防止Token被篡改、确保安全性。将header、payload,并加入指定密钥,通过与指定签名算法而来。
通过Base64进行编码
JWT相关依赖
12345<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>4.4.0</version> </dependency&g ...
Spring Validation
spring提供的一个参数校验框架,使用预定义的注解完成参数校验 -
直接写if语句数据校验过于繁琐一个参选可能就要写出好几个条件参数一多容易记混写错,同时代码阅读性差
注解
作用
@Pattern
通过正则表达式校验数据
@NotNull
值不能为Null
@NotEmpty
值不能为Null,并且内容不为空
@Email
满足邮箱格式
@URL
满足URL格式
@Pattern使用步骤
引入Spring Validation起步依赖
12345<!--在maven项目的pom.xml中添加--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
在参数前面添加@Pattern注解
12//使用正则 ...
数据结构与算法
未读基础
常数操作,固定时间的操作,执行时间和数据量无关
时间复杂度,一个和数据量有关、只要高阶项、不要低阶项、不要常数项的操作次数表达式
严格固定流程的算法,一定要强调最差情况!比如插入排序
算法流程上利用随机行为作为重要部分的,要看平均或者期望的时间复杂度,因为最差的时间复杂度无意义
用生成相邻值不同的数组来说明
算法流程上利用随机行为作为重要部分的,还有随机快速排序
时间复杂度的内涵:描述算法运行时间和数据量大小的关系,且当数据量很大很大时,这种关系相当的本质,并且排除了低级项、常数时间的干扰
空间复杂度,强调额外空间:常数项时间,放弃理论分析、选择实验来确定,因为不同常数操作的时间不同
什么叫最有解,先满足时间复杂度最优,然后用尽量少用空间的解
时间复杂度的均摊,用动态数组的扩容来说明(等比数列、均摊的意义)
不要用代码结构来判断时间复杂度,比如只有一个while循环的冒泡排序,其时间复杂度O(N^2)
不要用代码结构开判断时间复杂度,比如:N/1+N/2+N/3+…N/N
,这个流程的时间复杂度时O(N*logN)
时间复杂度只能是对算法流程充分理解才能分析出来,而不是简单的看 ...
数据结构与算法
未读知识点
求中点
正常想法为mid=(L+R)/2
,但在特殊情况下可能会溢出导致结果的不准确如两个值都很大的时候
L+R会溢出,此时可以把L提取出来变成mid = L + (R-L)/2
。 > 在程序里可以写成 mid = L + ((R-L) >> 1);
算术左移一位等同于除以2 比使用/性能更好。 ##
递归行为时间复杂度计算(master公式) T(N)=a*T(N/b)+O(N^d) 母 次 子
公式
时间复杂度
logb(a) < d
O(N^d)
logb(a) > d
O(N^logb(a))
logb(a) == d
O(N^d*logN)
数据结构与算法
未读前置知识点的学习
计算机逻辑运算
与 :当所有输入条件同时满足1,输出1;输入条件只要有0就输出0。java :
&
或:输入条件有1即输出1;一个1也没有才输出0。java : |
非:输出结果与输入条件取反。0变1,1变0。 java : !
异或:仅当两输入取不同的值时异或结果为1;否则均为0。java : ^
可以理解为无进位加法
异或的规则: 1. 0^N= N N^N=0 2. 符合交换律和结合率
AB=BA (AB)B=A(BC)
通过异或运算交换两个变量的值
如果a和b指向同一个内存会导致N^N=0,而出现问题,在平时不推荐使用。
123456789101112public class main{ public static void main(String[] args) { int a = 234; int b = 349; a = a ^ b; b = a ^ b; a = a ^ b; System.out.println(" ...
Windows日常
未读前期准备
必要的一些软件
图吧工具箱
拥有安装系统(重装)后一些实用的软件,可以对硬件进行稳定性测试; 点击前往官网
加速访问github工具
steam++(Watt Toolkit)
下载地址
链接
官网
Watt Toolkit
github
https://github.com/BeyondDimension/SteamTools
gitee
https://gitee.com/rmbgame/SteamTools
微软商店
https://apps.microsoft.com/detail/9mtcfhs560ng?hl=en-us&gl=US
驱动安装软件(可选,推荐准备一个)
个别系统镜像安装后可能没有网卡驱动这时就需要一个带网卡驱动的驱动安装器帮忙安装驱动,如果系统安装后有网卡驱动则可以跳过windows会自带下载需要的驱动。
驱动精灵网卡版
系统激活工具(可选)
有能力的推荐支持正版
oem机器一般来说不需要这个,主板有会内置激活码自动激活windows。
kms:https://github.com/zbezj/H ...