Elasticsearch
参考资料Download Elasticsearch | Elastic
配置windows下直接启动bin\elasticsearch.bat后无法访问(hang up),经验证,需要先将配置文件中的xpack.security.enabled: true改为xpack.security.enabled: false。
启动运行bin\elasticsearch.bat后,访问http://localhost:9200/
显示内容如下,即为启动成功
1234567891011121314151617{ "name": "....", "cluster_name": "elasticsearch", "cluster_uuid": ".....", "version": { "number": "8.14.3", "build_flavor": &q ...
idea远程调试
参考资料使用IDEA远程debug调试(一篇懂所有)_idea remote debug-CSDN博客
前期准备本地idea需要打开远程服务的源代码,远端服务必须在启动时添加特定的jvm参数,已经启动的服务无法使用idea远程调试
使用idea生成jvm参数打开idea的run configuration,添加远程debug配置
填写相关配置
其中:
远程机调试端口不是服务的端口,而是远程机上的空闲端口,用于与本地机进行调试通信的
需要选择对应的jvm版本,不同版本的参数不同
远程机启动服务远程机启动服务需要添加上面生成的jvm参数:
1java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar arthas-test-1.0-SNAPSHOT.jar
idea启动调试
效果与本地调试几乎相同,包括打断点后会暂定等
uskg域名申请
参考资料2024最新免费域名教程,可托管CF,零失败率,解决所有坑点。_哔哩哔哩_bilibili
美国身份证生成,美国人地址信息生成-世界各国身份信息、地址、信用卡生成器 (ssnzk.com)
步骤访问地址:https://register.us.kg/
注册进入官网后,点击Sign Up,填写用户名、全名、邮箱
注意全名中间需要有空格,邮箱可以使用163或者qq邮箱
电话和地址信息可以使用虚拟生成器,注意电话前面要加前缀并且删掉不必要的横线,地址信息按照街道,城市,州的顺序用逗号拼接
最后填写密码与人机验证,点击注册
激活完成上面的步骤后,邮箱中会收到一封邮件,访问邮件中的地址进行邮箱的确认
登录再次访问官网,此次选择登录,用户名为邮箱地址
KYC认证登录后会显示需要验证KYC身份
在文本编辑器中填入注册时的信息,截图并保存,注意只截图信息部分,且信息要与注册时完全相同(包括大小写)
返回官网页面,选择验证方式,选择第一个Upload
点击Proceed to Default Server(Click me to redirect KYC Page)
填写注册理由,比如“ ...
代理
参考资料代理服务器原理(https, socks5) - Leo’s Blog (leo021017.github.io)
让代理服务器支持HTTPS很难吗?_代理服务器不支持443-CSDN博客
代理过程
客户端通过http协议发送一条connect请求给代理服务器,并告知代理服务器需要连接的主机和端口。
代理服务器和目标主机建立tcp连接,回送一条http200的响应给客户端
客户端向代理服务器发送给目标服务器的数据,代理服务器会通过第二部建立的tcp连接进行转发
代理https在代理服务器代理https请求时,会将发送方发来的消息原封不动的发送给接收方,然后将接收方的请求原封不动的再返回给发送方,由于只是做请求的转发,故https的加解密并不在代理服务器上进行,故在客户端服务器上配置相关证书即可。
jmeter
参考资料JMeter性能测试,完整入门篇教程-CSDN博客
JMeter带json数据的post请求测试_jmeter post json数组-CSDN博客
介绍jmeter用于压测
发送json报文带basic认证请求头地址配置
请求头
请求结果查看
压测报告
银行接口加密技术记录
记录最近做了一些对接银行的接口,用到了各种加密技术,这里记录一下
PGPPGP工作原理简述 | Mr.Muzi (marcuseddie.github.io)
gpg 密钥生成、导入、导出、自动输入密码_centos如何导入gpg-CSDN博客
OpenPGP 工作方式 | SAP Help Portal
汇丰银行要求使用PGP的方式来进行加解密,PGP最初是一款软件,其提供了一种混合加密的方式,将需要传输的信息使用对称加密如AES算法加密,接着将对称加密的密钥使用非对称算法进行加密,同时会使用散列算法将报文进行摘要,并使用私钥对其进行签名。所有的信息都会被封装进一个数据结构,发送给对方。
后来PGP将其协议公开,形成了OpenPGP,而GPG是实现了该协议的一种工具,可用于加解密内容或者生成PGP密钥。
PGP签名
发送方使用摘要算法计算消息内容中的摘要(或哈希值)。
PGP 签名支持以下哈希算法:
对于 DSA 密钥:SHA-1、SHA224、SHA256、SHA384、SHA512
对于 RSA 密钥:MD5、SHA-1、RIPE-MD/160、SH256、SHA3 ...
百度千帆大模型ErnieSpeed使用
参考资料百度智能云-云智一体深入产业 (baidu.com)
ERNIE-Speed-128K - 千帆大模型平台 | 百度智能云文档 (baidu.com)
获取access_token - 千帆大模型平台 | 百度智能云文档 (baidu.com)
注册账号并实名认证进入百度智能云官网,使用手机号注册,注册完成后,点击头像进入用户中心,进行个人认证
认证过程可以使用二代身份证:输入真实姓名与身份证号后,会出现一个二维码,使用微信扫描该二维码,进行人脸识别即可
创建应用百度智能云控制台 (baidu.com)
点击该地址进入应用控制台,点击左侧应用接入,填写相关信息并创建应用,创建成功后可以看到apiKey和secretKey
获取token访问地址 https://aip.baidubce.com/oauth/2.0/token
以查询参数的方式在地址后跟上grant_type、client_id、client_secret三个参数,值分别为固定值client_credentials、应用的apiKey、应用的secretKey,同时请求方式需为post,请求格式为json,但是请 ...
编译原理
概述何为编译将高级语言翻译为汇编语言或者直接翻译为机器语言的过程叫做编译,将汇编语言翻译为机器语言的过程叫做汇编。
源程序先经过预处理器处理,预处理器会将存储在不同文件中的源程序聚合再一起,同时把被称为宏的缩写语句转换为原始语句,接着通过编译器,转换为汇编语言程序。汇编语言程序经过汇编器转为可重定位的机器代码(可重定位是指在内存中的起始位置不固定)
编译系统的结构
分析部分,生成中间代码,称为前端
词法分析
语法分析
语义分析
中间表示
综合部份,生成目标语言,称为后端
目标代码生成
目标代码优化
词法分析概述从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型,将识别出的单词转换成统一的机内表示——词法单元(token)
token由种别码和属性值构成
单词类型
种别
种别码
关键字
if、else、then……
一词一码
标识符
变量名、方法名……
多词一码
常量
整型、字符型……
一型一码
运算符
算数、关系、逻辑
一词一码或一型一码
界限符
;(){}……
一词一码
一词一码的token有时不需要属性值也可,种别码通常是整数,当 ...
使用PATH提高命令行工具使用效率
基本思想编写bat脚本作为程序入口,将bat脚本所在文件夹放入path环境变量,即可在命令行中直接使用
目录设计123E:\MYPATH├─bin└─oexsd
其中,MYPATH根目录用于存放各工具的详细文件以及一个bin文件夹,bin文件夹中存放自定义的命令行工具如bat文件
环境变量配置添加环境变量MY_PATH_HOME,指向MYPATH目录
在环境变量Path中添加bin目录:%MY_PATH_HOME%\bin
jar包工具bat1java -jar %MY_PATH_HOME%/oexsd/oexsd.jar %1
正则表达式
参考资料这个教程,真的让我学会了正则表达式 - 知乎 (zhihu.com)
Regular Expressions for Regular Folk | Regular Expressions for Regular Folk (REFRF)
Regexper 正则表达式图形解析
[RegExr: Learn, Build, & Test RegEx 解析](https://regexr.com/?expression=%2Fp%2Fgm&text=pancake pineapple apple mango Plum)
状态消除算法可将任意的有穷状态机转为正则表达式
基本概念正则表达式的标准格式为/<rules>/<flags>,其中,flags一般会省略,默认情况下flag为g.
在默认情况下,正则表达式是大小写敏感的。
在待匹配的字符串中,与给定正则表达式匹配的内容称作”matches”
单个字符匹配使用序列字符匹配同样的字符序列
如:/p/g
可以匹配给定字符串中的每一个p,
又如:/jeck/g
则可以匹配给定字符串中的每一个jeck
...