Java程序猿搬砖笔记(十六)

news2024/10/7 10:22:43

文章目录

    • 狂神说-Elasticsearch 7.6入门学习笔记
    • Windows Elasticsearch IK分词器插件启动报错
    • Elasticsearch的ik分词器自定义字典myDict.dic的编码格式需要为UTF-8,否则无效
    • Elasticsearch使用term查询无数据返回的原因
    • Elasticsearch如果没给映射,字段默认使用standard映射
    • Elasticsearch SQL说明
    • ElasticSearch SQL转DSL
    • ElasticSearch关联查询
    • ElasticSearch的msearch,
    • ElasticSearch多个字段聚合统计
    • Elasticsearch Painless Script入门教程
    • Elasticsearch 查询模板(Mustache模板引擎)
    • Windows计算文件名的Md5值
    • TortoiseSVN 远程仓库路径更换
    • IDEA 远程仓库路径更换
    • Git修改分支名
    • Git回退到指定版本(两种方法验证通过)
      • 方法一
      • 方法二
    • EasyExcel官方必读文档(包括版本选择)
    • EasyExcel部分字段为什么没法读取或者写入
    • EasyExcel读取动态列
    • MySQL中的unix_timestamp(时间字符)、from_unixtime(数字类型)
    • 抽象类(或者接口)是无法被Spring实例化的,因此无法添加@Service 或 @Componet 注解
    • Spring 循环依赖解决方法
    • Java jsch在Linux中获取sftp连接时失败

狂神说-Elasticsearch 7.6入门学习笔记

狂神说-Elasticsearch 7.6入门学习笔记

Windows Elasticsearch IK分词器插件启动报错

错误如下:

java.security.Acces ControlException: access denied (\ik\config\IKAnalyzer.cfg.xml" "read")

原因:
D:\Program Files文件夹下的所有文件默认都是只读权限。
解决方法:
Elasticsearch不要安装在 Program Files 、Program Files (x86) 这些目录下。

参考链接

Elasticsearch的ik分词器自定义字典myDict.dic的编码格式需要为UTF-8,否则无效

Elasticsearch使用term查询无数据返回的原因

  • term查询适合查询number、date、keyword
  • term查询text字段,需要映射支持keyword
    参考链接

Elasticsearch如果没给映射,字段默认使用standard映射

建议中文使用ik_max_word映射

Elasticsearch SQL说明

参考链接

ElasticSearch SQL转DSL

官方链接、参考链接

ElasticSearch关联查询

百家号、知乎

ElasticSearch的msearch,

msearch支持多索引uion联合查询。
msearch的语法如下:

GET /_msearch

查询一条数据它需要两个对象,第一个设置index和type,第二个设置查询语句。查询语句和search相同。
如果只是查询一个index,我们可以在url中带上index,语法如下:

GET /索引名/_msearch

请求示例1:

GET /repetition-result/_msearch
{}
{"query" : {"term" : {"achievementId" : "1"}}, "size" : 3}
{}
{"query" : {"term" : {"contrastId" : "1"}}, "size" : 3}

请求示例2:

GET /repetition-result/_msearch
{}
{"query" : {"term" : {"achievementId" : "1"}}, "size" : 3}
{"index": "repetition-result-test"}
{"query" : {"term" : {"contrastId" : "3"}}, "size" : 3}

ElasticSearch多个字段聚合统计

"cardinality": {
	"script": {
		"lang": "painless",
		"source": "doc['achievementId'].value + doc['contrastId'].value"
	}
}

参考链接

Elasticsearch Painless Script入门教程

参考链接

Elasticsearch 查询模板(Mustache模板引擎)

参考链接
参考链接
参考链接

Windows计算文件名的Md5值

certutil -hashfile 文件名 MD5

C:\>certutil -hashfile E:\Downloads\ZGGX-ZF-CMND-2023200015.xlsx  MD5

TortoiseSVN 远程仓库路径更换

  • 右键项目文件夹 TortoiseSVN => Relocate
  • 在 To URL 中输入新的仓库地址点击 OK
  • 根据提示填入账户名密码即可

IDEA 远程仓库路径更换

在这里插入图片描述

Git修改分支名

1、修改本地分支名称
在这里插入图片描述
2、在本地将远程分支删除
在这里插入图片描述
3、将改名后的本地分支推送到远程仓库
在这里插入图片描述

参考链接

Git回退到指定版本(两种方法验证通过)

方法一

1、查询commintId
IDEA界面、命令git log、远程仓库页面都可以
在这里插入图片描述
2、git reset --hard commintId
3、git push -f

必须用这个命令强推 或者 用图形界面强推。
在这里插入图片描述
否则会报下面的弹窗:
在这里插入图片描述

方法二

1、找到Git对应日志 -> 建立分支
在这里插入图片描述
2、push提交代码(支持修改代码后提交)
3、修改分支名(参考:Git修改分支名)

EasyExcel官方必读文档(包括版本选择)

EasyExcel官方必读文档(包括版本选择)

EasyExcel部分字段为什么没法读取或者写入

使用了lombok的@Accessors(chain = true) ,无法被Cglib读取
建议使用@Builder来替换@Accessors(chain = true)

EasyExcel读取动态列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面的截图有两个错误:① 动态列需要加上@ExcelIgnore注解(或者实体类加@ExcelIgnoreUnannotated) ② context.readStringCell(i)方法不存在

解决参考代码(验证通过):

// 动态列处理
List<String> dynamicDataList = new ArrayList<>();
for(int i = 5; i < readRowHolder.getCellMap().size(); i++){
	ReadCellData ReadCellData = (ReadCellData)readRowHolder.getCellMap().get(i);
	if(StringUtils.isNotBlank(ReadCellData.getStringValue())){
		dynamicDataList.add(ReadCellData.getStringValue());
	}
}

MySQL中的unix_timestamp(时间字符)、from_unixtime(数字类型)

from_unixtime()把long类型时间戳格式化
参考链接

抽象类(或者接口)是无法被Spring实例化的,因此无法添加@Service 或 @Componet 注解

Spring 循环依赖解决方法

启动项目报下面的错:

The dependencies of some of the beans in the application context form a cycle:
  testController (field private com.aspire.achievement.repetition.service.RepetitionAbilityService com.aspire.achievement.repetition.controller.TestController.repetitionAbilityService)
┌─────┐
|  repetitionAbilityServiceImpl (field private com.aspire.achievement.repetition.service.RepetitionTaskService com.aspire.achievement.repetition.service.impl.RepetitionAbilityServiceImpl.repetitionTaskService)
↑     ↓
|  repetitionTaskServiceImpl (field private com.aspire.achievement.repetition.factory.BlockQueueFactory com.aspire.achievement.repetition.service.impl.RepetitionTaskServiceImpl.blockQueueFactory)
↑     ↓
|  blockQueueFactory (field private com.aspire.achievement.repetition.service.RepetitionAbilityService com.aspire.achievement.repetition.factory.BlockQueueFactory.repetitionAbilityService)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

解决方法:
1、代码中主动取消循环依赖
2、增加允许循环依赖的配置

spring:
    main:
        allow-circular-references: true

3、添加延迟加载@Lazy注解 (未成功)

参考链接

Java jsch在Linux中获取sftp连接时失败

在本地Windows操作远程sftp服务器,完全没问题。但是部署到Linux服务器时,出现下面的错误:

Session.connect: java.security.InvalidAlgorithmParameterException: 
DH key size must be multiple of 64, and can only range from 512 to 2048 (inclusive). 
The specific key size 3072 is not supported

本地和linux都是jdk 1.8的环境。
经排查,发现项目引入的jsch依赖如下:

<dependency>
	<groupId>org.netbeans.external</groupId>
	<artifactId>com-jcraft-jsch</artifactId>
	<version>RELEASE180</version>
</dependency>

解决方法:
1、使用jdk 1.8以上的环境
2、更换jsch依赖(经测试0.1.54也可以)

<dependency>
	<groupId>com.jcraft</groupId>
	<artifactId>jsch</artifactId>
	<version>0.1.54</version>
</dependency>

注:如果0.1.52版本在windows环境中运行会报下面的错:

com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read

解决方法:更换jsch依赖为0.1.54即可。

参考链接
参考链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/870847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s node 误删除了如何自动创建 csr重新加入集群

worker node 节点当部署晚 kubelet、kube-proxy就会加入集群&#xff0c;如何加入呢&#xff0c; [rootkube-node01 ssl]# mv kubelet-client-2023-08-13-01-19-00.pem kubelet-client-current.pem kubelet.crt kubelet.key /tmp/kubelet [rootkube-node01 ssl]# systemctl da…

使用LSH 进行特征提取

局部敏感哈希(LSH)通常用于近似最近邻算法(ANN) 操作(向量搜索)。LSH的特性也可以在以矢量为输入的神经网络模型中得到利用(例如&#xff0c;各种的音频、视频和文本嵌入等内容信号)。 通常情况下&#xff0c;特定领域模型中输入的流形是复杂的&#xff08;非i. i. d&#xff…

免费AI学习文档(二)

国内绘画midjourney网站 http://aijiaolian.chat优质提示词分解教学 https://q3iylvv7qj.feishu.cn/docx/UGMzdPVGjo1fHcxu1kjcuXFcnff?fromfrom_copylink设计图AI实战&#xff0c;如何用AI提高83%的出图效率&#xff1f;https://q3iylvv7qj.feishu.cn/docx/Fsxxd3MncowFUix5…

Java SpringBoot 加载 yml 配置文件中字典项

实际项目中&#xff0c;如果将该类信息放配置文件中的话&#xff0c;一般会结合Nocas一起使用 将字典数据&#xff0c;配置在 yml 文件中&#xff0c;通过加载yml将数据加载到 Map中 Spring Boot 中 yml 配置、引用其它 yml 中的配置。# 在配置文件目录&#xff08;如&#xff…

windows电脑简单实时tts语音播报wsay;python pyttsx3语言实时播报text-to-speech

1、wsay 参考&#xff1a; https://github.com/p-groarke/wsay 下载安装&#xff1a; https://github.com/p-groarke/wsay/releases/tag/v1.5.0 下载exe文件&#xff0c;并把加入环境变量就可 使用 # Say something. wsay "Hello there."wsay "你好"…

Node.js躬行记——接口管理

在页面发生线上问题时&#xff0c;你要做的事情就是去查接口&#xff0c;响应数据是否正确&#xff0c;查接口的方法有两种&#xff1a; 第一种是在浏览器中打开地址&#xff0c;但是你必须得知道详细的 URL&#xff0c;并且有些页面还需要附带参数。 第二种是打开编辑器&#…

赴日IT培训 你到底适不适合做赴日IT?

有很多正在学习或者已经从事IT行业的小伙伴&#xff0c;问自己到底适不适合做赴日程序员&#xff0c;问什么赴日IT这么褒贬不一&#xff0c;自己内心很纠结。今天小编就来从多个角度为大家分析一下&#xff0c;希望能对徘徊、犹豫的IT工程师们有所帮助。 为什么会有一部分人犹…

九、解析应用程序——分析应用程序(2)

文章目录 一、确定服务器端功能二、解析受攻击面 一、确定服务器端功能 通过留意应用程序向客户端披露的线索&#xff0c;通常可推断与服务器端功能和结构有关的大量信息&#xff0c;或者至少可做出有根据的猜测。以下面用于访问搜索功能的URL为例: 可见&#xff0c;.jsp文件扩…

R语言 列表中嵌套列名一致的多个数据框如何整合为一个数据框

在批量建模后容易得到list&#xff0c;list中的每个元素都是单个的tibble 或者 dataframe&#xff0c;如何将这些数据整合为一张表呢&#xff1f; 载入R包 library(broom) library(tidyverse) 模拟数据 models <- txhousing %>% group_by(city) %>% do(modlm(lo…

ICMP协议报文

1、CMP协议简介 ICMP&#xff08;Internet Control Message Protocol&#xff09;是一种网络协议&#xff0c;它用于在IP网络中传递控制信息和错误消息。它通常与IP协议一起使用&#xff0c;IP协议负责发送和路由数据包&#xff0c;而ICMP协议负责检查网络是否可达、路由是否正…

多传感器融合相关技术

重要说明&#xff1a;本文从网上资料整理而来&#xff0c;仅记录博主学习相关知识点的过程&#xff0c;侵删。 一、参考资料 多传感器融合定位学习 深蓝-多传感器定位融合 深蓝学院 多传感器融合定位 作业 多传感器融合详解 二、相关介绍 1. 毫米波雷达&#xff08;Radar&a…

mysql数据库设计

一、表关系 二、表结构 1、树状结构图&#xff08;id0表示根节点&#xff0c;parent_id是父节点&#xff09; 2、价格&#xff08;decimal类型&#xff09; 3、订单时间对应每一个订单状态&#xff08;前端展示、方便排查问题、数据分析&#xff09; 4、订单表存储商品信息&a…

LeetCode.26,27,88三题-双指针的运用

本文将对3道解决方法类似的题目进行逐一分析&#xff0c;这三道题目分别是&#xff1a; LeetCode.26 删除有序数组中的重复项 LeetCode.27 移除元素 LeetCode.88 合并两个有序数组 1. LeetCode.27 移除元素&#xff1a; 题目内容如下&#xff1a; 假设一个数组为&#xff1…

uniapp+vue3+vite+pinia2.0.33项目初始化

目录 准备工作 注意事项 使用vue-cli创建项目 运行 准备工作 下载hbuild开发工具 HBuilderX-高效极客技巧 下载微信小程序开发工具 概览 | 微信开放文档 uniapp uni-app官网 注意事项 1.node.js版本>16#windows查看node版本 C:\Users\22862>node -v v18.16.0 …

02Mysql之多表查询--例题讲解

一、题目详情&#xff0c;以及表的建立 新增员工表emp和部门表deptcreate table dept (dept1 int ,dept_name varchar(11));create table emp (sid int ,name varchar(11),age int,worktime_start date,incoming int,dept2 int);insert into dept values(101,财务),(102,销售)…

【数据中台商业化】数据中台微前端实践

一&#xff0c;需求背景 1 业务背景 在以往的业务场景中&#xff0c;用户进入五花八门的菜单体系中&#xff0c;往往会产生迷茫情绪&#xff0c;难以理解平台名称及具体作用&#xff0c;导致数据开发与管理学习成本较高&#xff0c;降低工作效率。为此我们整合从数据接入&…

不知道打仗之害,就不知道打仗之利

不知道打仗之害&#xff0c;就不知道打仗之利 【安志强趣讲《孙子兵法》第7讲】 【原文】 夫钝兵挫锐&#xff0c;屈力殚货&#xff0c;则诸侯乘其弊而起&#xff0c;虽有智者&#xff0c;不能善其后矣。 【注释】 屈力殚货&#xff1a;屈力&#xff0c;指力量消耗&#xff0c;…

掌握Python的X篇_32_使用python编辑pdf文件_pdfrw

本篇介绍利用python操作pdf文件&#xff0c;我们平时也会有合并和拆分pdf的需求&#xff0c;此时我们就可以使用本节内容。 文章目录 1. pdfrw的安装2. 切分pdf文件3. pdfrw官网及实现一版四面的实例 1. pdfrw的安装 pip install pdfrw官网地址&#xff1a;https://github.co…

设计模式之责任链模式【Java实现】

责任链&#xff08;Chain of Resposibility&#xff09; 模式 概念 责任链&#xff08;chain of Resposibility&#xff09; 模式&#xff1a;为了避免请求发送者与多个请求处理者耦合在一起&#xff0c;于是将所有请求的处理者 通过前一对象记住其下一个对象的引用而连成一条…

Mysql中插入数据,并返回自增主键的值

创建数据库和表使用 insert into 进行插入数据使用 RETURN_GENERATED_KEYS 进行返回插入的这条数据 具体方法如下&#xff1a; Testvoid addGetPk(){try{Statement stmt conn.createStatement();String sql String.format("insert into t_students values(null,%s,%s,%d…