![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识学习
轩辕敬城
我很喜欢IT,对未来的未知,充满了兴趣。
展开
-
nc 模拟发送tcp socket xml 定长报文
因工作需要进行模拟数据测试,之前使用的是TCP window 客户端工具,由于字符集编码问题,windows 发送中文到 linux 会导致乱码,故在linux 机器 使用 nc 进行模拟报文发送。此篇为总结记录。协议 TCP + XML命令nc -t 10.8.4.140 9010 < data.txt数据样例 data.txt000001014<?xml version="1.0" encoding="UTF-8"?><SERVICE>...原创 2021-03-18 15:51:05 · 1729 阅读 · 0 评论 -
Linux 下 virsh 虚拟机 批量启停
1、背景 因物理机上创建了很多虚拟机,每次重启硬件服务器后,手动启动每个虚拟机很麻烦,有的虚拟机带括号,启动容易出错。需要通过批量脚本进行启动。2、命令(1)查看运行中的虚拟机 virsh list (2) 查看全部虚拟机 virsh list --all (3) 启动虚拟机 virsh start name (4) 关闭虚拟机 virsh shutdown name (5) 批量启动虚拟机 for a in `...原创 2021-02-18 11:01:21 · 1066 阅读 · 0 评论 -
Map 忽略大小写 转换实体Bean
需求场景:适配不同类型数据库,由于Mysql 返回小写,Oracle返回的字段列是大小,为了方便前台统一处理,使用反射的方式来进行数据转换。 代码如下:public class BeanUtil { /** * 大小写可以忽略 * 下划线 _ 被忽略 * NULL值和空字符串不会覆盖新值 * * @param source * @param target * @param <T> * @return .原创 2020-11-04 20:43:32 · 1952 阅读 · 0 评论 -
Linux 下文件及文件夹乱码删除
1 概述当我们上传中文文件包到linux 服务后,有时候解压后的文件或者文件夹乱码,rm -rf 删除又删除不掉,导致不得不采取其他办法进行处理。2 删除乱码文件的3种操作方式第一种删除当前所在文件夹把当前文件夹中的文件全部移动到其他文件目录中,rm -rf 删除当前文件夹,即可删除乱码文件等内容。缺点是,当文件夹里文件多时,很麻烦,少量文件可以使用。复制乱码文件名删除此方式删除并不是适用于所有乱码文件,部分乱码文件可采用此方式删除。使用节点编号删除推荐使用此方式进行删除。删除命令原创 2020-08-11 15:16:48 · 960 阅读 · 0 评论 -
Spark 入门知识了解学习总结
1 Spark 了解开发语言:scala目前支持的应用编程语言如下:Scala Java Python Clojure R2 Spark 生态Spark Core(1)有向无环图(DAG)的分布式并行计算框架,并提供Cache机制来支持多次迭代计算或者数据共享,大大减少迭代计算之间读取数据局的开销。(2)在Spark中引入了RDD (Resilient Distributed Dataset)的抽象,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部.原创 2020-07-03 00:41:37 · 141 阅读 · 0 评论 -
mongodb wiredTiger 存储引擎索引原理的理解总结
本篇文章主要是回顾一下B-tree(B树) B+tree(B+数) 数据结构在磁盘存储方面的应用,以及理解目前Mysql 数据库和Mongo 数据库底层的数据存储结构。参照文章:B-tree 和B+tree :https://www.cnblogs.com/vianzhang/p/7922426.htmlMongo wireTiger 存储引擎分析:https://mongoing.com/archives/35143https://www.cnblogs.com/oli...原创 2020-06-06 14:07:57 · 1685 阅读 · 0 评论 -
Linux 下 替代wget 加速下载的方式总结
1 概述 最近需要下载很多软件包,有的包的下载源速度特别慢,几kb 的方式进行,为了加快下载速度,进行了调研学习和安装使用。主要是以mwget 和 aria2 的方式作为新的下载方式。2 安装与说明(1)aria2 安装aria2是一款使用 C++ 编写的轻量级跨平台命令行下载工具,支持 HTTP/HTTPS, FTP, SFTP, BitTorrent 和 Metalink 等多种协议。 通过yum list |grep aria2 的方式,可以在镜像仓库中找到镜像包。通过...原创 2020-06-30 22:59:50 · 7362 阅读 · 0 评论 -
IBM MQ 安装学习总结
1 MQ 下载下载链接:http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/参考文档:https://www.ibm.com/developerworks/cn/linux/linux-speed-start/l-ss-mq/#code9解压后为rpm 包。2 安装MQ安装许可协议./mqlicense.sh 1 接收,2-拒绝,Enter 阅读协议,3-输出,99-退出.原创 2020-06-24 14:30:09 · 959 阅读 · 0 评论 -
MySQL 函数学习总结
1 概述我们都知道Mysql 内置了很多常用函数,比如日期函数DATE_FORMAT(date,format)、SUBSTR(str FROM pos FOR len) 等,为了就是方便的进行数据转换处理,但是有些业务场景系统内置函数不能满足,此时我们可以通过自定义函数的方式进行。通过select 的方式进行函数使用。2 使用函数的好处函数可以简化操作,提供sql 复用性。举个例子,比如我们想统计某个分类下有多少个子类,一般通过接口代码的方式通过传参进行递归调用实现,也可以通过SQL 函数传..原创 2020-06-23 23:33:50 · 161 阅读 · 0 评论 -
docker-machine 命令学习总结
1 docker-machine 是用来干嘛的?Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean。使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。通俗原创 2020-06-23 23:04:38 · 353 阅读 · 0 评论 -
CentOS7 安装VirtualBox 总结
1 概述为了搭建docker 应用集群,一台服务器无法完成,想通过virtualbox 的方式进行虚拟化多台docker.2 yum 安装首先查看aliyun 镜像库是否有virtualbox 镜像包。yum list |grep virtualbox如果没有,需要添加镜像源。地址:https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo在vi /etc/yum.repos.d 创建virtualb...原创 2020-06-21 23:01:44 · 256 阅读 · 0 评论 -
Chrome 浏览器多开及 UDP 测试报文发送
最近工作比较忙,在window 多用户模式下,chrome 浏览器没法多开,导致多个用户同时只能使用一个浏览器,经过研究测试,发现可以通过配置解决问题。1 Chrome 浏览器多开首先找到浏览器快捷方式,如果要多开,需要拷贝多份。右键属性打开配置界面。修改 目标的内容:将原来的 chrome.exe 后面增加 --user-data-dir=目录 ,此目录可随便定义。修改完成后保存,即可实现多开。原理大概是如果没有指定用户目录,走的默认目录,每个用户同时只能打开一个客...原创 2020-06-18 22:15:53 · 1625 阅读 · 0 评论 -
Windows 多网卡连接内外网配置
1 概述在日常工作中,有时候需要使用网线连接内网,内部网络没有外网,这时候可以通过无线网卡连接外网,当两个网络同时存在时,访问IP时,默认会选择第一条路由配置。此时往往会导致网络不能并存,不能同时满足我们的需要。下面通过配置路由桥接的方式,根据不同链路和接口,选择网卡出入。2 删除通过配置route delete 0.0.0.0此时内外网都不能进行访问。3 添加外网配置route add 0.0.0.0 mask 0.0.0.0 172.100.10.10.0.0.0 为原创 2020-06-15 16:51:56 · 560 阅读 · 0 评论 -
mongodb 副本集复制原理解析总结
参考文档https://docs.mongodb.com/v4.0/tutorial/resync-replica-set-member/https://docs.mongodb.com/v4.0/core/replica-set-sync/?spm=a2c4e.10696291.0.0.603b19a4lvsetK#slow-oplogshttps://docs.mongodb.com/v4.0/core/replica-set-architectures/http...原创 2020-06-11 19:52:01 · 500 阅读 · 0 评论 -
mongodb 副本集(Replica Set) 高可用主从配置搭建
1 概述搭建mongodb 一主两从,通过复制集的模式,进行高可用数据容灾。端口规划 主 :27018 从1: 27019 从2: 27020目的: 验证节点动态增加 验证节点动态删除 验证数据同步一致性 验证主从切换、故障转移测试 验证数据写入测试 验证压测进行并发场景模拟2 下载安装二进制版本包https://www.mongodb.org/dl/linux/x86_64-rhel70本次版本:http://downloads...原创 2020-06-09 22:58:53 · 295 阅读 · 0 评论 -
Linux 用户相关操作总结
1 创建用户组groupadd mongo2.创建用户目录并分配所属组useradd -d /home/mongo -g mongo mongo3.创建用户密码passwd mongo (用户名) 输入密码4 用户目录授权chown -R mongo:mongo mongo (用户名:用户组) 用户所在目录5 当前用户组查看groups8. 当前用户who am i9. root 查看密码信息cat /etc/shadow10 查看用户及原创 2020-06-09 14:50:46 · 118 阅读 · 0 评论 -
mongodb 入门学习(索引-聚合)(四)总结
本篇主要学习索引和聚合,B树,B+数 参考链接:https://www.cnblogs.com/vianzhang/p/7922426.htmlwiredTiger 引擎 参考:https://mongoing.com/archives/35143原创 2020-06-06 15:49:07 · 272 阅读 · 0 评论 -
mongodb 入门学习-模糊查询、类型查询、Limit、Skip(三)总结
本篇主要从模糊查询,类型查询,Limit 行数以及排序方面进行开展。1 模糊查询在mongo 中模糊查询不同于SQL 中的关键字,其他的方式mongo 通过$ge 等的方式进行匹配,模糊查询比较特殊,采用的是正则匹配的方式。通过 /keyword/ 代表 SQL 中like '%keyword%', /^keyword/ 代表 like 'keyword%', /keyword$/ 代表like '%keyword'. 目前测试好像只对字符串类型有效。db.col.find({tit...原创 2020-06-05 10:48:37 · 572 阅读 · 0 评论 -
mongodb 入门学习-集合、数据增删改查(二) 总结
1 创建、删除集合 mongo 默认可以不用创建集合的,当插入数据时,如果指定的集合不存在,会自行创建。也可以直接创建。区别是直接创建可以增加可选参数,指定其大小,文档数量。创建db.createCollection(name, options)db.createCollection("test");db.createCollection("test", { capped : true, autoIndexId : true, size : 6142800, max : 1000..原创 2020-06-03 20:57:46 · 234 阅读 · 0 评论 -
mongodb 入门学习-数据库创建、用户信息创建(一)总结
1 知识回顾关系数据库中几个名词,database, table, row ,column,index ,对应到nosql mongo 中 database,collection,document,field,index, 所有除了不能join 外,大部分概念是一样的。存储的数据结构不一样。关系数据库对字段类型,数据格式有要求,mongo 可存储的数据结构多样化。 需要注意的是mongo 中的 id 构成。Mongo ObjectId 规则ObjectId 类似唯一主键,可以很快的去生...原创 2020-06-03 11:57:43 · 604 阅读 · 0 评论 -
mongo db 连接总结
1 Shell连接方式(1)mongo 直接连接本地 通过db.auth(username,pwd)授权(2)mongo ip:port/db -uusername -p 可连接本地或远程mongo数据库。2 URL连接客户端工具:nosqlbooster下载地址:https://nosqlbooster.com/downloads或3 mongo 的连接格式mongodb://[username:password@]host1[:port1][,ho...原创 2020-06-02 20:54:54 · 432 阅读 · 0 评论 -
Docker 快速安装 mongodb 学习总结
1 查找镜像通过docker search mongo 命令或者 dockerhub:https://hub.docker.com/_/mongo?tab=tags&page=1。2 拉取镜像docker pull mongo:latest3 查看本地镜像4 运行容器//使用默认端口 + 权限访问运行容器docker run -itd --name mongo -p 27017:27017 mongo --auth5查看运行情况6执...原创 2020-06-01 21:13:33 · 191 阅读 · 0 评论 -
SpringBoot Memcached 学习总结
1 概述 Memcached 常用做集中式缓存,后续的高版本支持分布式扩展,通过内存进行数据存储,保证数据的高效读取。Memcached 通过magent 代理进行HA 高可用的访问,通过Master - Slave 的形式。保证数据的灾备。通过keepalived 来进行vip 的漂移切换,保证magent 不是单点。 通常我们为了加快程序的性能,会对热点数据进行缓存,缓存对频率更新不是特别快的数据及部分趋势端数据。常用缓存的场景如下: 1)全局序列 ...原创 2020-06-01 20:06:52 · 285 阅读 · 0 评论 -
HTTP 请求之PostMan 中文乱码分析
1.概述最近在测试接口时,发现通过页面提交中文是正常的,Postman 提交的中文就乱码,为了搞清楚具体问题,使用wireshark分别对不同的请求方式进行了数据包分析。2 Wireshark抓取 本地Localhost 的方法我们都知道wireshark 是通过网卡进行 抓包的,而localhost (127.0.0.1) 比较特殊。属于本地回环地址。不经过网卡,那么怎么抓包呢。下面就如何抓包进行总结。 借助第三方工具RawCap.exe 抓取 pcap 包。 下载地址:http...原创 2020-05-30 14:24:20 · 6008 阅读 · 0 评论 -
memcached 命令学习总结
1 set 命令set key flags exptime bytes [noreply] value key:键值 key-value 结构中的 key,用于查找缓存值。flags:客户机使用它存储关于键值对的额外信息,主要是标记当前存储的数据格式 。exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)bytes:在缓存中存储的字节数noreply(可选): 该参数告知服务器不需要返回数据value:存储的值(始终位于第二行)(可直接理解为key-value结构中原创 2020-05-29 22:14:40 · 238 阅读 · 0 评论 -
memcached 安装学习总结
1 yum 安装安装依赖yum install libevent libevent-devel安装 memcachedyum install memcached2 源码安装wget http://memcached.org/latest 下载最新版本tar -zxvf memcached-1.x.x.tar.gz 解压源码cd memcached-1.x.x原创 2020-05-29 00:11:11 · 123 阅读 · 0 评论 -
IntelliJ IDEA 代码结构问题处理总结
1 无法新建Java 类时一般是由于 java 和 resources 不是 sources Root .的设置正常Source Root可以通过设置source Root ,这样会让idea 识别目录结构。2 无法看到moudle 或者 无法执行main 方法时右键File 找到 project structure此处可以看到项目的目录结构,依赖,和路径,如果项目目录有问题,也可以进行设置。如果module 里面看不到项目,而project 中又能看...原创 2020-05-28 22:43:11 · 746 阅读 · 0 评论 -
SpringBoot Mail 邮件服务学习总结
1 添加pom.xml 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/m原创 2020-05-27 23:10:38 · 257 阅读 · 1 评论 -
Linux Shell for 循环学习总结
1 声明解析器#!/bin/bash2 for 的构成a 代表变量, b 代表集合for a in b do echo $a;done变量输出需要使用$ 符。 当使用引号时,变量输出需要使用${name}3 $ 的含义 $* 代表输入多个参数 $1~$n 代表输入一到N个参数 $# 参数个数 $0 文件名本身4 for 的几种写法从sh 后读取多参数#!/bin/bash for i in $* ; do echo $i;原创 2020-05-27 19:59:46 · 190 阅读 · 0 评论 -
Linux 脚本编写学习总结
最近在进行网络设备监控数据抓取,为了方便进行数据收集,抽时间简单的学习了脚本编写。1. 函数定义脚本中以function 定义函数,同Javascript 中一样,不同的时,脚本默认可以不写function. 常见的脚本函数定义:方式一function getA(){ echo 'hello'}方式二getB(){ echo 'world'}2. 调用关系脚本函数一定要声明在调用前,必须先声明函数,才可以调用,顺序执行。如果先调用后声明会报错,找不到函原创 2020-05-27 16:25:42 · 306 阅读 · 0 评论 -
SpringBoot JPA 多数据源管理
1 数据源配置定义:@Configuration 标记配置加载,Spring 启动时,会自动加载相关配置@Autowired 实例注入,自动装配@Primary 多实例时,标注默认优先使用的实例@Configurationpublic class DataSourceConfig { @Autowired private JpaProperties jpaProperties; @Autowired private HibernateProperties原创 2020-05-26 23:01:02 · 374 阅读 · 0 评论 -
MYSQL 创建用户与权限设置
1 创建用户:create user 'username'@'%' identified by 'password';username: 用户名password: 密码user表中host列的值的意义% 匹配所有主机localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;::1 ::1就是兼容支持ipv6的,...原创 2020-05-25 22:19:23 · 509 阅读 · 0 评论 -
SpringBoot JPA 学习总结
1. 什么是JPA ?全称Java Persistence API ,通俗来讲就是一套API框架,通过操作相应API,完成实体对象持久化存储到数据库的操作。2 JPA 能做什么?ORM映射元数据:通过注解或xml 配置方式,建立对象和表关系。(JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中)JPA 的API:一套执行CRUD 的操作API。封装了不同的方法进行操作。(用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的原创 2020-05-25 22:04:50 · 374 阅读 · 0 评论 -
CentOS7 Docker 安装 Mysql
1 查看Mysql 镜像docker search mysql2拉取 MySQL 镜像docker pull mysql:latest3 拉取指定版本镜像登录https://hub.docker.com/_/mysql?tab=tags 选择需要的版本。docker pull mysql:5.74 查看本地镜像docker images5 运行容器docker run -itd --name mysql-test -p 3306:33...原创 2020-05-20 17:58:19 · 176 阅读 · 0 评论 -
SpringBootAdmin + SpringSecurity 安全框架完整搭建及测试验证
1 相关代码 SpringBoot 版本:2.2.0.RELEASE 服务端:(1)配置文件。server: port: 8000spring: application: name: spring-boot-admin-server security: user: name: admin password: admin(2)pom.xml 依赖 <dependencies> <dependen..原创 2020-05-20 16:51:46 · 1733 阅读 · 1 评论 -
Linux 查看文件空间占用命令汇总
1. 目录树及其每个子树的磁盘使用情况KB 显示du -k /home/linuxMB 显示du -m /home/linuxGB显示du -g /home/linux常用命令 du -单位 目录2 查看当前目录下所有目录以及子目录的大小du -h .“.”代表当前目录下。也可以换成一个明确的路径-h表示用K、M、G的人性化形式显示3 查看某个目录大小du -sh 目录名称-s表示总结的意思,即只列出一个总结的值du -h --max-depth..原创 2020-05-15 20:31:09 · 1050 阅读 · 0 评论 -
CentOS7 Docker 开启远程端口及Maven 打包Push镜像
1. Docker 版本Docker version 18.03.1-ce, build 9ee9f402. 编辑docker.servicevim /lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2380 -H unix:///var/run/docker.sock3. 加载systemctlsystemctl daemon-reload4.重启dockersy原创 2020-05-15 15:18:04 · 205 阅读 · 0 评论 -
CentOS7 Docker安装和基本学习
1. 查看仓库中的Docker版本yum list docker-ce --showduplicates | sort -r没有找到,需要设置yum 的docker 源。2. 设置docker 源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo查看docker 版本:3. 如果已安装docker,删除docker...原创 2020-05-14 21:51:19 · 118 阅读 · 0 评论 -
Yum 源的更新与配置
1. yum 更新yum update2. 安装yum 管理工具包yum install -y yum-utils device-mapper-persistent-data lvm23. 配置镜像源阿里: yum-config-manager --add-repohttp://mirrors.aliyun.com/repo/Centos-7.repo 红帽: yum-config-manager --add-repo https://dl...原创 2020-05-11 22:21:54 · 689 阅读 · 0 评论 -
Iphone8 plus Fiddler 抓包App Https 请求时的坑
1 背景 手机APP 发送中文到后端乱码,排查原始报文乱码,还是接收后字符转换导致的乱码。2证书问题有的app 应用对证书做了验证。所以当配置好抓包后,手机浏览器不能打开,使用抓包时,Fiddler 开启Https 时,不能上网。当你抓包的应用后端对证书做了校验时,Fidder安装的证书就会被拒绝,出现断开,在Log 中可以看到。这种情况是代表证书正常可以访问:3 配置代理手机端没有配置代理,也无法进行抓包,具体网上都有,就不写怎么配置了。...原创 2020-05-11 19:35:36 · 1375 阅读 · 2 评论