采坑合集-沙漏

MySQL ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

原因
mysql> set password for 用户名@localhost = password(‘新密码’); 不能使用明文
解决
使用命令select password(“想要设置密码”)获取到加密后的字符,并重新使用set password='密文’设置密码

maven下载速度慢怎么解决

修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:

 <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

由workspace引发的一系列错误

文件里面没有gitingore
然后 Unable to import maven project: See logs for details
最有可能的原因还是maven的版本高于idea的版本,可以在官网http://maven.apache.org/docs/history.html查看与你的idea版本匹配的maven版本进行下载,然后安装就可以了
换成3.5的就某得问题了
IDEA和maven版本问题

git换仓库

git pull --allow-unrelated-histories 不然拉不下来,必须先拉再推,必须提交修改,不然拉取不下来

1、切换远程仓库地址:
方式一:修改远程仓库地址

【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

方式二:先删除远程仓库地址,然后再添加

【git remote rm origin】 删除现有远程仓库
【git remote add origin url】添加新远程仓库

2、【git remote -v 】查看远程仓库的地址

Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍

使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则例如:

序号作用
1# 此为注释 – 将被 Git 忽略
2*.a # 忽略所有 .a 结尾的文件
3!lib.a # 但 lib.a 除外
4# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
5build/ # 忽略 build/ 目录下的所有文件
6doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

.gitignore中已经标明忽略的文件目录下的文件,当我想git push的时候还会出现在push的目录中,原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:

  • git rm -r --cached .
  • git add .
  • git commit -m ‘update .gitignore’
    在建立仓库的时候最好就写忽略文件

Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.

pom中排除掉所有与数据库相关的jar包

java.net.UnknownHostException: CLOUD-PROVIDER-PAYMENT

// @LoadBalanced restTemplate配置方法需要的注解

No instances available for CLOUD-PROVIDER-PAYMENT

在zookeeper里将服务名改成小写

Get “http://PC-20180106BUNX:8005/actuator/health”: dial tcp: lookup PC-20180106BUNX on 100.125.1.250:53: no such host导致的服务找不到

PathVariable annotation was empty on param 0.

今天在写网关关于远程调用Feign的时候报的一个错误,PathVariable注解为空。仔细看了一下代码发现问题出在用@PathVariable注解的时候
@PathVariable Integer id 这样写没有写明其value,正确写法
@PathVariable(value = “id”) Integer id

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.liuxiang.cloudalibaba.dao.AccountDao.decrease

mybatis的nameSpace没有和dao对应

IDEA启动项目:找不到或无法加载主类

2,缓存问题;

        尝试:菜单---》File---》Invalidate Caches/Restart 选择Invalidate and Restart 或者 只是Invalidate,清除掉缓存,然后Rebuild Project

        结果:启动成功,问题解决

Error: EPERM: operation not permitted, unlink

operation not permitted:操作不允许
1.排除是否有权限问题,可以用管理员身份运行一下。
2.如果没有权限问题,可以在C:\Users{账户}\下的.npmrc文件. 即清除npm缓存
(也可以使用命令清除缓存 npm cache clean --force)
3.再次运行npm i: ok啦

node-sass错误

报错
“F:\gulisup\renren-fast-vue\node_modules\node-sass\build\binding.sln”(默认目标) (1) ->
“F:\gulisup\renren-fast-vue\node_modules\node-sass\build\binding.vcxproj.metaproj”(默认目标) (2) ->
“F:\gulisup\renren-fast-vue\node_modules\node-sass\build\binding.vcxproj”(默认目标) (4) ->
(ClCompile 目标) ->
f:\gulisup\renren-fast-vue\node_modules\node-sass\src\create_string.cpp(17): error C2664: “v8::String::Utf8Value::Utf8Value(const v8::String::Utf8Value &)”: 无法
将参数
1 从“v8::Localv8::Value”转换为“const v8::String::Utf8Value &” [F:\gulisup\renren-fast-vue\node_modules\node-sass\build\binding.vcxproj]
博客
首先删除node-modules
然后
npm rebuild node-sass
npm uninstall node-sass
然后安装对应版本的node-sass
首先先了解node-sass安装的过程
1.npm拉下node-sass包
2.根据node版本和node-sass版本拉下binding.node编译器,原因是sass的编译语言比较特殊,需要拉下对应版本的编译器才能编译
3.如果拉下binding.node就成功,如果找不到对应的binding.node包,即失败,尝试本地编译。
4.本地编译会检查是否具备的条件:条件比较特殊,需要python编译环境,拉下面两个包可以解决。
npm install -g node-gyp
npm install --global --production windows-build-tools
5.本地编译成功,node-sass包拉取成功。
这是整个拉包的流程,说说容易遇到的坑
1.因node版本与node-sass版本不同导致binding.node拉不下来,无法编译。
node-sass版本兼容性并不好,老项目中依赖的node-sass很可能已经不兼容新的node,对应版本兼容如下(或参考官方仓库):
在这里插入图片描述

 如果找不到对应binding.node包尝试本地编译,报的错一般就会提示python没有安装,那么可以拉下面两个包解决。
 
 **不过需要注意:拉包的方式需要cmd用管理员模式打开! ! !**
 npm install -g node-gyp
 npm install --global --production windows-build-tools
一般如果这两个包拉成功了,node-sass就能安装成功了。

3.没有清缓存
记得每次拉包报错后,都要uninstall清除拉包错误留下的缓存
比如 npm i node-sass --D 报错了
就要再打一遍 npm uninstall node-sass
解决过程,清缓存,卸载node-sass 修改package.json的node-sass版本为兼容版本,安装本地的node-sass环境,安装node-sass。然后npm install

npm安装

1.npm install express

此操作会将express安装在node_modules目录下,package.json文件不会被修改。之后代码上传上去其他人拉取到本地,执行npm install不会自动将express安装到node_modules目录下

2.npm install express --save(npm install express -S)

此操作会将express安装在node_modules目录下,package.json文件会被修改,dependencies中会新增express以及其版本号。之后代码上传上去其他人拉取到本地,执行npm install会自动将express安装到node_modules目录下

3.npm install express --save-dev(npm install express -D)

此操作会将express安装在node_modules目录下,package.json文件会被修改,devDependencies中会新增express以及其版本号。之后代码上传上去其他人拉取到本地,执行npm install会自动将express安装到node_modules目录下

4.npm install express -g

此操作不会将express安装在node_modules目录下,package.json文件不会被修改,之后代码上传上去其他人拉取到本地,执行npm install不会自动将express安装到node_modules目录下(这个的安装的目录在C盘下的npm下node_modules,如下)

npm run install

是npm install

找不到docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

报错no server avaiable,或者8080以被用

连接nacos失败,这个原因是nacos-config没有找到配置文件

Located property source: [BootstrapPropertySource {name='bootstrapProperties-gulimall-gateway.yml'}]

找到的日志

Loading nacos data, dataId: 'gulimall-gateway.yml', group: 'DEFAULT_GROUP'
Located property source: [BootstrapPropertySource {name='bootstrapProperties-gulimall-gateway.yml'}]

your branch is ahead of ‘origin/master’ by 5 commits.

(1)方法1:git fetch origin

(2)方法2(代码还需要):git push origin

(3)方法3 (代码不需要):git reset --hard origin/$branch

参考:

https://blog.csdn.net/Thousa_Ho/article/details/73350703

https://stackoverflow.com/questions/16288176/your-branch-is-ahead-of-origin-master-by-3-commits

可以先执行下git diff b r a n c h o r i g i n / branch origin/ branchorigin/branch 看下差异

【备注,先git log 看看还有没有没有push 的commit的,如果没有,就用git reset --hard origin/$branch强制覆盖成和远程仓库一样,如果有的话,就先push】

(4) git pull --rebase

(5)git pull origin cherryPick

参考:https://blog.csdn.net/u010383937/article/details/72901675

使用mybatis-plus,如果在实体类多加字段,一定要加一个

@TableField(exist = false)

Error:(4, 25) java: 找不到符号符号:类 xxx位置:程序包 xxx.xxx

maven clean的用处到了

Cannot deserialize instance of java.util.ArrayList<java.lang.Object> out of START_OBJECT token

在这里插入图片描述
后端携带的参数过界。因为在在这里插入图片描述
为true是带进了时间参数,而list数组不接受t: “1213”,
实体类接收参数时,可以少字段,list不能多未知字段

实体类接受参数时,按照对象关系。对象对应{},

分页数据重复

order by主键或者字段

主键没有默认值

table_id设置策略

git 合并出现问题

git log 查看commit id
git reset 重置
git checkout – . 恢复工作区
git clean -f 删除未add的文件

sql中,or的使用

select *
from course_score c

where c.course_target_id = 91
   or c.course_target_id = 92
    and c.stu_id='6103117001'

在这里插入图片描述

distinct

distinct用在第一,表示此查询列独一无二

4、@Mapper @MapperScan注解的使用

作用:指定要变成实现类的接口所在的包,包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加,
因此
在这里插入图片描述

courseAssessGetDTO.courseId 没有对courseAssessGetDTO属性的get方法

在@Select里面读取实体属性的时候,必须@Param,才可以用参数名.+属性名得到,不然会报错,当然单实体,可以直接用属性映射。在xml里面,单参数不加@Param,可以用参数名.+属性名,也可以直接属性名字。多参数用@Param或者map或者实体类

xml
使用@Param注解方式,在SQL语句中我们可以按照自定义的名称获取参数值,也可以用param1、param2、…顺序来获取参数值。
直接传入参数,在SQL语句中按照参数传递的顺序,利用arg1、arg2、…顺序获得对应的参数值。
直接传入参数,在SQL语句中按照参数传递的顺序,利用param1、param2、…顺序来获取参数值。

当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。

@Select("select column from table where userid = ${userid} ")
public int selectColumn(@Param("userid") int userid);

当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用${}会报错

java.lang.IndexOutOfBoundsException: Index: 2, Size: 0 使用set方法时报错

set方法直观上根据方法名可以理解为设置list中某个位置的元素。但需要注意的是,该方法本质上是一种替换操作,即,要设置某个位置上的元素,这个位置在设置前必须有元素,否则会抛出异常,示例代码如下:

{

http://c.biancheng.net/view/1333.html

、收藏面试里面的代理模式,三种
https://www.huaweicloud.com/articles/8356942.html 桥接模式

stack的api操作全都是针对队列的头元素操作的

deque.pop=deque.pollFirst
deque.push=deque.offerFirst=deque.offer
deque.peek=deque.peekFirst

在递归调用完的时候没有回溯状态

 // 没到达最后,那么递归调用从四周位置是否能通过word[k+1....]
            if (k!=word.length()-1 && board[i][j]==word.charAt(k)){
                // 一定要对trace[i][j]进行还原,不然会在递归一次函数之后改变了trace的值,而造成结果的错误
                trace[i][j]=true;
                // 在运行时对trace进行了更改,
                boolean res= getTheTrace(board,word,i+1,j,k+1,trace) ||
                        getTheTrace(board,word,i,j+1,k+1,trace) ||
                        getTheTrace(board,word,i-1,j,k+1,trace) ||
                        getTheTrace(board,word,i,j-1,k+1,trace);
                // 如果此路不通,那么清除标记,这样回退之后还可以走这条路
                // 如果不还原状态以后就不可以走这条路
                if (!res){
                    trace[i][j]=false;
                    return false;
                    // 通的话直接返回true
                }else {
                    return true;
                }
            }
            return false;
            

time.parse 出现month out of range错误

layout 这个参数是该定义为 Mon Jan 2 15:04:05 -0700 MST 2006

protoc gen go特定版本需要

go install github.com/golang/protobuf/protoc-gen-go@v1.3.2 参考链接

unable to determine Go import path for “searchnode.proto“

protoc gen go版本太高内容不适配 加入 option go_package = “./SearchNode”;或改用低版本,高版本需要高依赖,不然生成文件会报错

go module

https://cloud.tencent.com/developer/article/1557562

cannot call pointer method Upload on api.ApiController

调用者需要可寻址

zookeeper.out 过大

使用滚动文件追加日志rollingfileappender而不是consoleappender——nohup信息
logback配置解析
以下地址 https://blog.csdn.net/wangshuminjava/article/details/79306250
今天发现线上的bin/zookeeper.out 居然有6G大小。看了下zkServer.sh的代码,这个zookeeper.out实际上是nohup的输出。而nohup的输出实际上是stdout,stderr的输出,所以还是zookeepe本身的日志配置的问题。
研究了下bin/zkServer.sh和conf/log4j.properties,发现zookeeper其实是有日志相关的输出的配置,只要定义相关的变量就可以了。
主要是ZOO_LOG_DIR和ZOO_LOG4J_PROP这两个环境变量:

  • zkServer.sh里的:
if [ ! -w "$ZOO_LOG_DIR" ] ; then 

    mkdir -p "$ZOO_LOG_DIR" 

fi 

   

_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out" 

 

    nohup $JAVA "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}"\ 

    -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null & 
  • log4j.properties里的:
# Add ROLLINGFILE to rootLogger to get log file output 

#    Log DEBUG level and above messages to a log file 

log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender 

log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold} 

log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file} 

zkServer.sh会加载zkEnv.sh。因此,其实修改下bin/zkEnv.sh就可以了:

if [ "x${ZOO_LOG_DIR}" = "x" ] 

then 

    ZOO_LOG_DIR="$ZOOBINDIR/../logs" 

fi 

    

if [ "x${ZOO_LOG4J_PROP}" = "x" ] 

then 

    ZOO_LOG4J_PROP="INFO,ROLLINGFILE" 

fi 

还可以修改下conf/log4j.properties,设置滚动日志最多为10个:

# Max log file size of 10MB 

log4j.appender.ROLLINGFILE.MaxFileSize=10MB 

# uncomment the next line to limit number of backup files 

log4j.appender.ROLLINGFILE.MaxBackupIndex=10 

The ‘main‘ file has the non-main package or does not contain the ‘main‘ function

包名改为main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值