typora快捷键大全段落
标题:Ctrl+1/2/3/4/5
段落:Ctrl+0
增大标题级别:Ctrl+=
减少标题级别:Ctrl±
表格:Ctrl+T
代码块:Ctrl+Shift+K
公式块:Ctrl+Shift+M
任务:Ctrl + Shift + X
引用:Ctrl+Shift+Q
有序列表:Ctrl+Shift+[
无序列表:Ctrl+Shift+]
增加缩进:Ctrl+]
减少缩进:Ctrl+[
格式
加粗:Ctrl+B
斜体:Ctrl+I
下划线:Ctrl+U
代码:Ctrl+Shift+`
删除线:Alt+Shift+5
超链接:Ctrl+K
图像:Ctrl+Shift+I
清除样式:Ctrl+
其他Typora是一款Markdown富文本编辑器,以下是一些常用的Typora快捷键:
字体加粗:Ctrl + B
设置标题:Ctrl + 数字键(1~6)表示1到6级标题
字体斜体:Ctrl + I
下划线:Ctrl + U
删除线:Alt + Shift + 5
引用:> + 空格 或者 Ctr ...
Mybatis—Plus重要知识点删除数据1,根据id删除一个数据
1mapper.deleteByid(id)
2,Map多条件删除
12345//map.put("删除列","删除列对应的值")//条件之间是and关系map.put("id",6)map.put("user_name","小明")mapper.deleByMap(map)
3,QueryWrapper多条件删除
12345678//根据QueryWrapper多条件删除 ,条件之间是and关系User user=new User();user.setUserName("哈哈");user.setUserEmail("12433");//在new时将user设置进去QueryWrapper<User> wrapper=new QueryWrapper<>(user);//执行删除int result = this.userMapper.delete(w ...
Linux 系统目录结构
Linux常用指令ls展示当前目录的所有内容(子目录)
展现所有目录包括隐藏目录
1ls -a
展示不包括隐藏目录的所有目录的权限信息
1ls -l
123[root@iv-ydsn6xdzwgobzsydi79m ~]# ls -ltotal 0-rw-r--r-- 1 root root 0 Apr 1 20:33 1.txt
在Linux系统中,当你使用ls -l命令查看文件的详细信息时,会看到类似如下的输出:
1-rw-r--r-- 1 root root 0 Apr 1 20:33 1.txt
这里每个字段的含义如下:
**文件类型和权限 (-rw-r--r--)**:
第一个字符表示文件类型:- 表示这是一个普通文件。如果是目录,则此处会显示 d;若是链接,则是 l。
接下来的三个字符 rw- 表示文件所有者(user)对该文件的权限,这里是可读、可写。
再接下来的三个字符 r-- 表示文件所属组(group)对文件的权限,这里是只读。
最后的三个字符 r-- 表示其他用户(others)对文件的权限,同样是只读。
**硬链 ...
RabbitMQ消息队列rabbit教程
RabbitMq的应用架构
RabbitMq使用场景
应用解藕
异步提速
削峰填谷
快速开始RabbitMq启动
12345cd E:\APP\RabbitMq\rabbitmq_server-3.7.4\sbin.\rabbitmq-plugins enable rabbitmq_management rabbitmq_delayed_message_exchange.\rabbitmqctl start_app
注意:这里的routingkey有三种情况
生产者to消费者模式,中间没有交换机,routingKey为队列名称
Work Queue工作队列模式,存在交换机并且指定消息分发模式(fanout),则routingKey不起作用,为空字符串,
Routing路由工作模式(direct),存在交换机,交换机按照路由routingkey将消息分发到不同队列
1.发送消息
2.接收消息
RabbitMq消费模式
生产者to消费者模式
Work Queue工作队列模式
Pub/Su ...
python设置pip镜像源1pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
项目打包方法项目结构
安装pyinstaller1pip install pyinstaller
生成.spec文件1pyinstaller -F main.py(main.py是入口程序)
删除生成的build和dist文件夹
编辑.spec文件
将项目下的其他python文件加入到analysis里面
重新打包1pyinstaller main.spec
试运行exe文件注意如果出现闪退可能因为配置的其他py文件目录不一致
可以将exe文件从dist移出来
黑马点评前端nginx项目启动
nginx重新加载配置文件1nginx.exe reload
session实现短信验证
redis实现短信验证
发送验证码存入redis
验证成功登录,并以token为键,保存用户数据,把token返回前端
在拦截器中对token进行校验获取用户信息来显示登录状态
库存减一的方法123boolean success = seckillVoucherService.update() .setSql("stock = stock-1") .eq("voucher_id", voucherId).update();
乐观锁解决高并发CAS法
添加版本号version,简化以库存为版本号
弊端:
多线程并执行,库存安全问题虽然会解决,但是购买失败率大大提高,扩大了业务上的安全问题,并且多次访问数据库压力巨大
改进:
在每次减库存的时候都判断当时的库存是否大于0
悲观锁实现一人一单//synchronized (字符串){代码块}设置悲观锁,此时多个线程中只有首先 ...
IDEA快捷键IDEA快捷键添加try catch快捷键:ctrl+alt+t格式化代码的快捷键:ctrl+ alt +L把一行代码上下移动:alt + shift + 上下按钮显示当前界面所有方法:ctrl + F12复制当前行:ctrl + w查看当前类中所有方法:alt+7查询方法的实现:ctrl+alt+b统一改变名称:shift+F6将对应代码封装成方法:ctrl+alt+m将小写变成大写:ctrl+shift+u快速复制一行:ctrl+D查看类继承图:Ctrl+Alt+U查看类子类:Ctrl+H自动生成方法注解
输入/** + Enter
IDEA类和方法注释模板设置(非常详细)_idea 类注释模板-CSDN博客
12345678910/** * @description: * @author: fansea * @date: 2024/7/29 14:07 * @param: [serialPort, writeBuffer, type] * @return: void **/ public static voi ...
安装elasticsearch1.部署单点es1.1.创建网络因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:
1docker network create es-net
1.2.加载镜像这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。
课前资料提供了镜像的tar包:
大家将其上传到虚拟机中,然后运行命令加载即可:
12# 导入数据docker load -i es.tar
同理还有kibana的tar包也需要这样做。
1.3.运行运行docker命令,部署单点es:
1234567891011docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugin ...
湖科大校园美食项目笔记HTML标签z-index:可以设置元素堆叠顺序,用来解决两元素不重叠问题,z-index值越大堆叠,就会叠在上面
position:absolute:设置绝对位置
获取html文本框中的值(dom)1.var inputDom = document.getElementById(“text”);//找到元素,假如给input元素加了id属性 且 值为:text
2.var text = inputDom.value; //获取元素值
Controller写法
OSS对象上传照片到服务器
form表单enctype属性enctype:规定了form表单在发送到服务器时候编码方式,有如下的三个值。
application/x-www-form-urlencoded:默认的编码方式。但在用文本的传输和MP3等大型文件的时候,使用这种编码就显得效率低下。
multipart/form-data:指定传输数据为二进制类型,比如图片,mp3,文件
text/plain:纯文本的传输。 ...