
笔记垃圾堆(各种笔记堆在一起,我习惯将笔记记在一个txt里)
https://github.com/chokcoco/CSS-Inspiration
https://codepen.io/topic/vue/templates
ctrl+alt+l android格式化
ctrl+b删除
ctrl+shift+o自动组织导入
ctrl+alt+L是格式化代码,ctrl+alt+O是移除不适用的导入和重新排序导入
alt+单点击=查看计算结果
ctrl+alt+t try-catch
ctrl+alt+b 查看实现方法
ctrl+y删除行
ctrl+p提示
ctrl+h 查看树
针对深度分页->searchafter es
深度分页问题
针对深度分页,ES提供了两种解决方案,官方文档:
· search after:分页时需要排序,原理是从上一次的排序值开始,查询下一页数据。官方推荐使用的方式。
· scroll:原理将排序数据形成快照,保存在内存。官方已经不推荐使用。
search after模式:
●优点:没有查询上限,支持深度分页
●缺点:只能向后逐页查询,不能随机翻页
● 场景:数据迁移、手机滚动查询
.log快捷键
因为手机字体大小的原因造成item显示不下,需要通过滑动屏幕来保证显示完全,而listview响应速度慢,在item数量是固定的情况下,scrollview效率跟高
ctrl+alt+回车,将局部变全局变量
docker compose 单机编排
ctrl+shift+t 快速test方法
后报错的同学,删除口味数据时写where条件时可以用choose来写一个永假的表达式如 1 = -1
tsc xx.ts -w ts自动->js 开启监视 ctrl+c关闭
**任意目录*任意文件
链接不上的,yml文件里password:改为auth:(大佬说的)
·MyISAM管理非事务表,提供高速存储和检索以及全文搜索能力,如果在应用中执行大量select操作,应该选择
MyISAM
·InnoDB用于事务处理,具有ACID事务支持等特性,如果在应用中执行大量insert和update操作,应该选择
InnoDB
2、MySQL建表时注意什么?
MySOL建表的经验有很多,下边列举一些:
1、注意选择存储引擎,如果要支持事务需要选择InnoDB。
2、注意字段类型的选择,对于日期类型如果要记录时分秒建议使用datetime,只记录年月日使用date类型,对于
字符类型的选择,固定长度字段选择char,不固定长度的字段选择varchar,varchar比char节省空间但速度没有
char快;对于内容介绍类的长广文本字段使用text或longtext类型;如果存储图片等二进制数据使用blob或
longblob类型;对金额字段建议使用DECIMAL;对于数值类型的字段在确保取值范围足够的前提下尽量使用占用
空间较小的类型,
3、主键字段建议使用自然主键,不要有业务意义,建议使用int unsigned类型,特殊场景使用bigint类型。
4、如果要存储text、blob字段建议单独建一张表,使用外键关联。
5、尽量不要定义外键,保证表的独立性,可以存在外键意义的字段。
6、设置字段默认值,比如:状态、创建时间等。
7、每个字段写清楚注释。
8、注意字段的约束,比如:非空、唯一、主键等。
idea识别为文本文件,pom右键 add as maven project
set NODE_OPTIONS=--openssl-legacy-provider
我选择@CrossOrigin
C:\ProgramData\Microsoft\Windows\Start Menu这个路径下面有个uninstall node.js点击运行在安装就行了.
"serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"serve-prod": "vue-cli-service serve --mode prod",
"build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build-prod": "vue-cli-service build --mode prod",
"lint": "vue-cli-service lint"
sql树形表的设计和递归查询,由根找叶和由叶找根
with RECURSIVE t1 AS
(
SELECT 1 as n
UNION ALL
SELECT n + 1 FROM t1 WHERE n < 5
)
SELECT * FROM t1;
下边的sql实现了向上递归:
with recursive t1 as (
select * from course_category p where id= '1-1-1'
union all
select t.* from course_category t inner join t1 on t1.parentid = t.id
)
select * from t1 order by t1.id, t1.orderby
向下递归
with recursive t1 as (
select * from course_category p where id= '1'
union all
select t.* from course_category t inner join t1 on t1.id = t.parentid
)
select * from t1 order by t1.id, t1.orderby
后端价格po里用float,计算时用bigdecimal,保证精度
rpc(跨语言调用实现?毕设或许可以用)
netty,dubbo...
runtimeexception不用throw,相比exception没有代码侵入性
人家事务失效,是本类没加事务注解的方法,调用加事务的方法,事务会失效。这个是加了事务的方法,调用没加事务的方法。不会失效的
全局异常处理器@RestControllerAdvice=@ControllerAdvice+@ResponseBody
post常用于新增,put修改
参数作为路径一部分@PathVariable
resultType:
功能:resultType直接指定SQL查询返回结果的Java类型。MyBatis会尝试将结果集的每一行数据自动映射到指定的Java类型上。
使用场景:适用于数据库表字段与Java对象属性名完全一致的简单场景,或者当查询结果为基本数据类型(如int、String)或Map时。
示例:查询单个实体、实体列表、基本数据类型(如count查询)或Map类型的结果。
resultMap:
功能:resultMap提供了更复杂的映射策略,允许开发者显式地指定数据库列与Java对象属性之间的映射关系。
使用场景:适用于数据库表字段与Java对象属性名不一致,或者需要处理复杂类型(如一对一、一对多关系)的查询结果。
示例:处理列名和属性名不一致的情况,实现一对一、一对多关系的映射,以及使用嵌套查询等复杂场景。
oftype一对多
javatype一对一
org.apache.ibatis.binding.BindingException: Parameter 'courseId' not found. Available parameters are [arg1, arg0, param1, param2]
https://blog.csdn.net/qq_44799924/article/details/115400288
加param就行,多个参数用param注解
服务注册discovery,拉去配置用config
-Dserver.port 或者 程序实参的--server.port=
这时我们想让本地最优先,可以在nacos配置文件 中配置如下即可实现:
#配置本地优先
spring:
cloud:
config:
override-none: true
@ConfigurationProperties用这个方便,这个课太老了,
不需要用这个热更新注解吗 @RefreshScope
大佬表情包 不使用@RefreshScope也能动态刷新,完美解决问题,因为@ConfigurationProperties本来就有监听器啊,是springcloud的默认实现,文中有说。
这里面上传用putObject更好
minio-spring-boot-starter只需要一行代码就
临时文件是需要将文件保存到服务器上,在通过minio上传,否则不用流的话无法将文件从客户服务器送到系统服务器,再送到minio服务器
流的md5值不一样
在进行事务控制的时候,只要里面有网络访问的东西,千万不要用数据库的事务去控制
使用的不是代理对象,只有代理对象才有rollback命令。而当前是实例对象,实例对象事务注解是没用的
其实这个分片上传不需要自己手动操作,使用MinioTemple上传,内部会自动分片、上传、合并的
这里不用下载合并后的文件,使用statObject方法,通过返回值调用etag()方法,得到的就是minio中文件的md5值
-Dserver.port=63051 -Dxxl.job.executor.port=9998
这个示例中,mp4File.deleteOnExit() 方法确保在 JVM 关闭时,临时文件会被自动删除。如果你希望在创建文件后立即删除它,而不依赖于 JVM 关闭,可以在创建文件后立即调用 mp4File.delete() 方法:
文件上传报错413的,给nginx也配个最大上传文件大小就行了
这里为了seo优化,需要在后端渲染完后给到浏览器,而不是浏览器渲染,所以用了这个技术 ,如果想前后端分离得用Nuxt框架
//过程复杂->工作流引擎
jk2018-1到50
123456
ext4
gcc -o p1 p1.c
实际上公司里鉴权也在网关做,接口的权限存到redis,在网关取出来进行判断
策略模式-认证方式
工厂+策略
p122-p124微信扫码认证,老师没有给appid和secret,可以直接用隔壁尚硅谷老师给的(去给老师投个币吧):
weixin:
appid: wxed9954c01bb89b47
secret: a7482517235173ddb4083788de60b90e
记得把前端的appid也改了,回调地址只能用localhost:8160,不需要配置内网穿透,在nginx上把这个地址代理到网关就行了
p93 nginx部署部分图片和区域不显示的问题:
需要在NGINX.CONF加上ssi on;ssi_silent_errors on;ssi_types text/shtml; 如果此时还没效果,还需要把index.html里的<!--#include virtual="/include/header.html"-->改成<!--#include file="/include/header.html"-->。
p35 注意查看一下老师给的资料,AddCourseDto这个类,如果price和originalPrice这两个属性的类型是BigDecimal就改成Float不然后面使用属性拷贝工具类会失败,价格一直为null
p64 查看资料中的MediaFiles这个类
有timelength这个属性就删了
id的类型改为String
id的注解type = IdType.AUTO改成type = IdType.INPUT,不然会被MP识别为自动增长类型主键,id插入不进去。
Windows XP、Windows Vista. UN
UNIX有二个主要的版本:源自AT&T的System V和源自
加州大学伯克利分校的BSD(Berkeley Software
Distribution)。为了使编写的程序能够在任何版本的UNIX上运行,IEEE提出了一个UNIX的标准,称为POSIX,目前大多数UNIX版本都支持它。POSIX定义了一个凡是UNIX必须支持的小型系统调用接口。
在工作站上运行的各种UNIX系统是基于高性能RISC芯片的,有Solaris、SVR4、AIX、IRIX等。基于Intel芯片的UNIX系统主要有SCO OpenServer、SCO UnixWare7、Xenix、Linux等。
natapp -authtoken=7c9888b9fc960a3a
用saveBatch好一点,创建多个连接比较耗资源,通过一个连接批量插入数据减少和数据库的io次数,性能相对来说会高一点
这里说一句,想要抓去login这个包,需要把开发者工具网络选项卡左上角的保留日志打开
没有login的,presservelog和disable cache、hide data URLs要勾选对对
似乎用tor更方便点-代理
VUE_APP_API_BASE_URL=http://172.10.21.52:7055/api/public
新版本mongo的bin目录少执行文件,需要再下载MongoDB Shell文件,将执行文件(mongosh.exe和.dll)放到bin目录下,然后环境变量path添加bin目录路径就ok了
新版6,本来就不能用这个命令,要在管理员的cmd下启动服务输入 net start mongodb 然后输入mongosh
退出MongoDB要使用quit(),不要强制退出,要不然下次使用的时候会有些问题出现。
pycharm pip 生成清单命令 pip freeze > requirements.txt ">"输出重定向,将输出到终端的输出到指定文件
pycharm 安装环境 pip install -r requirements.txt
按官网文档看,这个构造器是不是换成open_spider比较合适
我建议这里用sqlalchemy框架
刚入门还是建议csdn吧,就是一些简单问题在csdn很容易找到解决方法,但是随着实力不断增强,一些难的问题就基本找不到了,还是需要靠国外的网站比如stackoverflow
pip install -r requirement.txt 安装所需依赖
idea自带热部署功能我居然第一次知道。idea setting 搜索hotswap,然后把reload classes after complation设置为always就行了。debug模式才能生效,修改java代码,然后ctrl shift f9编译一下文件就行了。
webstorm ctrl+alt+l 快速格式化
idea ctrl+shift+f 全局快速查找
win+v 电脑查看复制历史
android studio查看logcat
level:error
level:debug