Git
Git官网
介绍
Git是一个开源的分布式版本控制系统,用于高效地处理从小到大的项目。Git由Linus Torvalds创建,用于管理Linux内核开发。与集中式版本控制系统不同,如CVS或Subversion,Git采用分布式版本库的方式,不需要服务器端软件支持。这使得源代码的发布和交流变得非常方便。Git的速度很快,特别适合大型项目的版本管理。
常用命令
Git的常用命令包括但不限于以下几个:
git init:初始化一个Git仓库。
git clone [url]:克隆一个仓库到本地。
git add [file]:添加文件到暂存区。
git commit -m "[message]":提交更新,并附加一条提交信息。
git status:查看仓库当前的状态,显示有变更的文件。
git push [alias] [branch]:将本地分支的更新推送到远程仓库。
git pull [alias] [branch]:从远程仓库拉取更新并合并到本地。
git branch:列出所有本地分支。
git checkout [branch-name]:切 ...
打开控制面板,搜索计划,点击计划任务
右键任务计划程序库,创建任务
常规
触发器
操作,22:55触发,240秒后启动,也就是22:59关机
条件
添加这个条件后,即使电脑在休眠,也会自动唤醒电脑然后关机!
设置
最后保存即可,这样就能在断电前一分钟让电脑自动关机了,可以通过查看执行记录看看任务有没有正常执行或者自己写一个脚本添加在关机指令之后的第二条指令
Apifox
官方文档
登录自动更新token
问题:使用apifox测试接口时,令牌过期后,需要重新登录,然后复制粘贴替换全局变量的token,有点麻烦,而且不注意可能会复制错误,怎么实现运行登录接口后自动将返回数据中的token值更新,然后其他请求自动携带全新的token呢
1.给登录接口添加后置操作
1.1 打开项目的登录接口,添加该接口的后置操作
1.2 随便设置一个变量名字,然后点击小箭头
1.3 左边是返回结果的结构,书写jsonpath表达式 ,$代表左边的json对象,然后就像访问对象属性一样写就可以了,最后看看提取结果和左边是不是对上了,最后点击确定保存,我的token是data中的token,所以是 $.data.token
1.4 保存接口文档后测试接口
1.5 如果上面操作无误,点击右上角按钮可以看到在本地环境多了一个变量值token,并且值就是返回结果的token
2.设置项目所有接口的auth认证
2.1 如图依次点击,key的名字根据自己需要设置,value的值从环境变量读取
2.2 读取变量选择之前设置的变量,确 ...
nacos
注册中心
1. 下载
Nacos Server 下载 | Nacos
2. 启动
解压缩后在bin目录下有几个脚本,startup就是启动脚本,默认都是集群cluster方式启动,也可以使用单机standalone模式启动
# 单机模式启动 ./startup.cmd -m standalone# 集群模式启动./startup.cmd
[!note]
启动后默认端口8848,直接在浏览器打开http://localhost:8848/nacos 进行访问,默认用户名和密码都是nacos可以在conf/application.properties文件中修改端口server.port
3. 导入依赖
<!--nacos--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></depende ...
tools
未读
github仓库页面的这种标签是怎么生成的?
1.基本使用
Static Badge | Shields.io 可以生成各种标签,可以自定义,比如我想生成一个背景颜色蓝色标签,名称为mytag就可以使用mytag-blue,前面是名称后面是颜色(可以是16进制颜色)
2.版本号
也可以指定版本号mytag-v1.2.3-blue,注意版本号在颜色前面
3.图标
Simple Icons 提供了很多产品的logo,比如我想使用redis的logo,直接搜索redis,点击右下角可以复制名字,左下角可以复制配色
返回sheilds页面,点击展开显示更多参数
生成后的效果
4.动态生成标签
以仓库提交数为例,搜索commit,注意==cacheSeconds==的设置
标签
搜索关键字
示例
仓库提交数
commit
仓库发行版本
github release
tools
未读Markdown
简介
[Markdown][markdown] 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。Markdown 由 John Gruber 于 2004 年创建,如今已成为世界上最受欢迎的标记语言之一
专注于文字内容;
纯文本,易读易写,可以方便地纳入版本控制;
语法简单,没有什么学习成本,能轻松在码字的同时做出美观大方的排版。
基本使用
文本
*斜体文本*_斜体文本_**粗体文本**__粗体文本__***粗斜体文本***___粗斜体文本___==高亮文本==
斜体文本,Ctrl I(此处只针对typora编辑器)
斜体文本
粗体文本,Ctrl B
粗体文本
粗斜体文本
粗斜体文本
==高亮文本==
分割线
——- enter
**** * ******- - -----------
删除线
如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:clb.pages.dev
~~clb.pages.dev~~
下划线
下划线可以通过 HTML 的 <u> 标签来实现:带下划线文本
<u&g ...
Pinia
[!note]
Pinia是什么?
Pinia 是 ==Vue 的存储库==,它允许您跨组件/页面共享状态
vue项目中有很多页面view,这些view之间相互独立,登录页面会拿到后端传回的token,但是其他页面并没有token,可以将token保存在pinia,其他页面都可以访问pinia(相当于全局变量),另外pinia基于内存存储,刷新浏览器数据就会丢失,使用persist插件可以将数据==持久化==
1.安装
用你最喜欢的包管理器安装 pinia:
yarn add pinia# 或者使用 npmnpm install pinia
安装pinia持久化插件persist
yarn add pinia-persistedstate-plugin# 或者使用 npmnpm install pinia-persistedstate-plugin
2.使用
2.1 在main.js中导入pinia和persist并使用
import {createApp} from 'vue'import App from './A ...
问题:jwt令牌一旦生成,就不能再更改,有时候想让令牌提前失效该怎么办?
解决方案:使用redis对token进行二次校验,由redis来管理token的过期时间
1.保存token到redis
在用户登录方法中,生成token,并保存一份到redis中
@Overridepublic Result<ReaderVo> login(LoginDto reader) { Reader r = readerMapper.selectByName(reader.getUsername()); //用户不存在 if (r == null) { return Result.error(Excep.USER_NOT_EXIST); } String pwd = r.getPassword(); //密码错误 if (!pwd.equals(reader.getPassword())) { return Result.error(Excep.WRONG_PASSWORD); ...
Axios
Axios是什么?
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests
1.安装
使用npm安装:
npm install axios
使用yarn安装:
yarn add axios
2.包装统一请求工具
因为后端地址是一样的,假设是localhost:8080,只是请求路径不一样,我们可以定义一个baseURL,此处使用/api是为了解决跨域问题
1.先包装一个工具request.js
import axios from "axios";const baseURL = "/api";const instance = axios.create({baseURL});export default instance;
2.在vite.config.js文件中添加配置,将/api删除 ...
tools
未读everything
1.指定文件后缀
搜索文件名,并且==要求后缀==,假设要搜索 名称包含main的所有java文件,可以搜索
[!note]
main ext:java
ext:java 就是指定后缀名,这个条件和main条件顺序随意,==注意中间要有一个空格==
2.指定文件路径
搜索文件,并且要求==该文件包含指定路径==,假设要搜索base.css文件,并且该文件路径中包含typora
[!note]
base.css path:typora
使用path指定文件包含的路径
3.指定文件夹
在指定文件夹下搜索文件,假设要在文件夹下"D:\QQ\"文件夹下搜索文件qq.exe
"D:\QQ\" qq.exe
前面写文件夹路径,后面接文件名,中间有空格
4.文本内容
假如搜索到的文件有很多个,我只想要文件中内容包含123的怎么查询?
使用content指定文件中包含的内容
1.txt content:123
更多用法见 voidtools