自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 pcd文件按时间戳分帧

背景:现有的pcd文件大小为2G,里面包含了多个不同时间的点云数据,现在需要将不同时间戳的点云数据单独抽取出来,作为一个独立的pcd文件。方法:采用python逐行读取,并利用读取到的点云数据,修改原始点云头信息,输出一个标准的点云数据格式。

2023-03-09 19:53:12 402

原创 pclpy点云pcd数据格式binary与ascii互转

pcd的数据格式转换

2023-02-23 16:08:20 712

原创 搭建pclpy环境与读取pandaset数据并转换为pkl格式为pcd格式

pclpy环境搭建,pandaset数据工具搭建,利用pclpy转换pkl格式为pcd格式

2023-02-14 18:41:59 680 1

原创 ssh秘钥从window迁移到linux

多次搭建新项目,在本地window调试完后,把代码推送到gitlab上,从linux服务器上拉取代码时,发现要配置ssh秘钥信息,于是经过一系列操作弄完配置,记录备忘。1.linux系统中不能识别内部gitlab服务地址,于是在/etc/hosts中添加映射: ip gitlab.xxxxxx.local。2.私钥文件权限过大提示如下,改动id_rsa文件权限即可:chmod 600 id_rsa。进入到用户目录下.ssh目录中,这里是/root/.ssh。同时在gitlab中配置好了对应的公钥。

2023-02-03 11:44:53 317

原创 druid中连接超时自动重试一次

最近在跳过数据库连接超时的时候,发现设置了获取连接等待的超时时间为300毫秒,结果发现每次出现连接超时情况时整个查询的耗时在600毫秒+,于是初步判断是做了重试操作。于是查看日志发现有一条很明显的日志记录:com.alibaba.druid.pool.DruidDataSource - get connection timeout retry : 1定位到对应的源码后有如下代码:在无线循环中看到去获取连接,若出现超时线性,则会依据两个条件来来判断是否做超时重试。也就是开放了参数: notFu

2022-03-09 17:00:15 5003

原创 挑选最大值子数组

今天写了个简单算法,挑选出满足条件的子数组:1.子数组内的值相加总和最大(用一个start来定位子数组的起点,输出从起点到循环的点的子数组信息)def sub_array(arr): start, total_num, result_arr = 0, arr[0], [] result_num = arr[0] for i in range(1, len(arr)): if arr[i] > arr[i] + total_num:

2021-01-29 18:24:52 123

原创 redis分布式锁的注解实现

问题:在一个业务流程中,会有两个微服务近乎同事调用一个查询第三方的接口,导致需要调用两次第三方接口,而无法用到查询到第三方接口返回结果的缓存值,于是想做个分布式的锁,来减少调用第三方次数和利用缓存值。实现采用如下三板斧:第一步:先建立一个注解类,prefixKey为业务场景值, paramKey为具体某个业务值,例如文中用到的userIdimport java.lang.annotation.*;import java.util.concurrent.TimeUnit;/** *.

2021-01-11 18:52:45 356 1

原创 redisTemplate的json序列化问题

问题json序列化传到redis中,会随机出现有转义字符,导致json出现下面的情况"{\"code\":0,\"data\":[{\"code\":330018,\"message\":\"验证一致通过\"}],\"message\":\"成功\"}"而我们期望的json应该是这样{"code":0,"data":[{"code":330018,"message":"验证一致通过"}],"message":"成功"}解决方案查找原因定位发现是redisTemplate的..

2020-07-31 10:41:18 1592

原创 consul修改本地环境的端口

背景在本地启动consul注册中心时,发现consul需要的两个端口8301和8302被公司安装的监控软件winrdlv3占用,导致无法启动本想着kill掉winrdlv3进程,奈何正常的kill方式没有权限,无奈之下只能改consul的端口了。行动第一步:在consul.exe文件同目录(我的目录是D:\Program Files\consul_1.7.3_windows_amd64)下新建一个data.json文件,内容如下:{"ports":{"server":830.

2020-05-13 20:25:30 2034

原创 restTemplate遇到的编码问题

背景:之前用restTemplate做网络间的请求,没遇到过问题。今天先是出现了中文乱码的问题,而后又出现了特殊字符丢失的问题,于是查找资料及翻看源码,将问题解决也顺便记录下。问题一:中文乱码描述:在创建课件时,使用GET方法传递类型和标题两个参数到服务器,服务器返回一个课件编号。类型是固定数字1,不存在问题,而标题则是用户输入字符串,也就是任意字符串。发现输入汉字的时候,结果网...

2019-12-30 19:06:45 3688

原创 mysql中联合索引排序的问题

背景在test数据库中,查询一组数据会根据id进行排序,而同样的条件在pre数据库中查询却没有根据默认的id主键来排序,于是激起了好奇心。情况正常情况下,在默认没有写order by条件的情况下,查询出来的结果会根据id主键从小到大的排序,例如在测试环境中会有:但是在pre数据库中,则有:分析到底是什么原因导致了没有根据id来排序呢?第一点想到的一定是与表结构...

2019-12-30 19:04:36 3264

原创 远程调试

远程调试首先看下有没有打开远程调试:Ps –ef | grep java 来查看如果出现以上的信息,就表示开了远程调试服务器上的代码。如果没有的话,需要在catalina.sh中加入 JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,s...

2019-04-26 11:24:49 345

原创 网络数据收发操作

网络数据收发操作首先服务器在程序启动时就会创建好套接字,并处于等待状态。客户端则是用户触发特定动作,需要访问服务器的时候创建套接字。创建套接字后,客户端会向服务器发起连接操作。首先客户端会生成SYN为1的TCP包(包含客户端向服务端发送数据时使用的初始序号)并发送给服务器。当包达到服务器后,服务器会返回一个SYN为1的包(也包含序号,同时也包含确认已收到客户端发过来的包的ACK号)。当...

2019-04-26 11:03:23 823

原创 Activemq的简单操作

Activemq,消息传送的中间件,用于在两个系统中传送消息,做测试的时候是可以传送字符串。当然也可以传送对象数据信息。Activemq有两种模式,queue和topic。Queue是队列,有人消费了就消失了,如果是集群的话,集群中的每个系统接收到的消息就会是不一样的。而集群作为一个整体来消费这些消息。Topic是主题与订阅模式,所有订阅了这个消息的系统,都会接收到一套完整的信息,也就是集群中...

2019-04-26 10:59:18 338

原创 数据库字段加密

目的:身份证号在数据库中以密文的形式存储。步骤流程:在数据库database中,为表a_table添加name、mobile、idNo三个字段,便于直观查询数据。 alter table a_table add name varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', add mobile varchar(16) NOT NULL ...

2019-04-26 09:33:18 7701

原创 token在分布式系统中的高可用设计

token在分布式系统中的高可用问题,以及使程序自动刷新各类token值。

2019-04-26 09:20:46 1372

转载 平时工作遇到的知识点

Java的NIO阻塞与同步阻塞:进程在访问数据的时候,数据是否准备就绪的一种处理方式,当数据没有准备的时候往往需要等待缞冲区中的数据准备好过后才处理其他的事情,否則一直等待在那里。非阻塞:当我们的进程访问我们的数据缓冲区的时候,如果数据没有准备好则直接返回,不会等待。如果数据已经准备好,也直接返回。同步(Synchronization)和异步(Async)的方式:同...

2019-04-26 08:44:33 340

转载 Mysql数据库锁与事务

Mysql数据库锁与事务锁的类型:对数据的操作只有两种,读和写。数据库层面在实现锁时,也会对这两种操作使用不同的锁。InnoDB实现了标准的行级锁,即共享锁(Shared Lock)和互斥锁(Exclusive Lock)。共享锁:可以理解为读锁,允许事务读数据。排他锁:可以理解为写锁,允许事务删除或更新一行数据。从名字上看,共享锁是可以共同拥有的,而排他锁,顾...

2019-04-15 14:34:57 610

原创 简易版本的加密分类、原理及应用

目录加密算法的分类 不可逆加密: 可逆加密:加密算法原理不可逆加密:MD5(Message-Digest Algorithm)SHA256:(Secure Hash Algorithm 2)对称加密:DES(Data Encryption Standard)非对称加密:RSA(以3个人名命名的)另外不算加密的编码base64:加密算法的分类...

2019-03-28 19:32:56 242

原创 springboot中两种方式配置切面

在工作中做项目微服务化,需要把原来老的项目拆分成一个个小的接口对外提供服务。对拆分出来的接口,需要做权限控制与入参,出参,耗时等日志记录。于是做个了切面类,来通过切面对相应方法做记录。1.首先我们需要引入相应的jar包<dependency> <groupId>org.springframework.boot</groupId...

2019-03-18 16:10:28 15073 1

原创 chrome浏览器缓存html页面问题

问题描述:浏览器打开一个页面时,有时候会初始化页面数据,一切正常。而有时候则不会初始化页面数据,点击查询也没有效果。通过网络抓包以及后台代码的分析发现是浏览器缓存了html页面信息导致的结果。具体操作如下,已备忘。首先看下页面请求的逻辑:左边是请求HTML的步骤,右边是页面初始化信息的请求。其中就是页面初始化时不会走初始化登录账号信息的过滤器。第一次请求html页面信息时,会初...

2019-03-13 11:57:20 4992

原创 openresty加lua脚本实现在nginx层的ip拦截

问题描述:在项目中碰到用户刷注册接口,骗取注册成功后的一些列奖励。达到的要求:于是安全这边想要对用户的IP做一个过滤,做一套黑名单与白名单过滤,同时限制用户在1分钟内注册的次数。使用的方案:决定采用openresty加lua脚本,在nginx层面对用户ip做拦截过滤。具体实施方案:原理图:黑白名单查询逻辑:环境搭建: 总述 ...

2019-03-11 21:18:14 3243

原创 springboot 接收post请求报500错误No message available

今天做接口对接工作,对方传了6个文件流给到我这边,发现接口报如下错误:{ "timestamp": "2019-03-09T02:00:44.224+0000", "status": 500, "error": "Internal Server Error", "message": "No message available", "pa

2019-03-09 10:43:26 38411 2

转载 转载一篇单点登录原理讲解文章

公司多系统,使用单点登录来实现所有系统的登录,今天找到一篇很好讲解了单点登录原理的文章,以便日后复习使用http://www.cnblogs.com/ywlaker/p/6113927.html#!comments...

2018-05-03 16:13:47 211

原创 代码迁移的感悟

今天做了一天的代码迁移,有几点感悟写下来以便自己以后不要犯这样的错误。在迁移代码时,最喜欢的是那种方法本身的独立性比较好,不依赖外部变量。也就是封装性高,耦合度低,甚至可以直接拿过来使用。第一条原则以后写方法的时候,不要依赖外部变量为佳,不为方便而构建全局变量。第二点就是底层的方法如果没有异常出现,尽量不要抛异常。因为如果抛出异常,那么别人调用这个方法的时候就会考虑要处理这个异常。如果不是真的有异...

2018-04-27 20:10:41 2356

转载 转载使用TortoiseGit的弹出密码框的解决办法

在使用TortoiseGit时一直弹出需要输入密码框条,如下图,于是百度了下找到一篇文档来解决。解决方法的文章地址:http://www.pc0359.cn/article/jiaocheng/85549.html...

2018-04-25 18:11:21 1814

原创 nginx.conf常用配置1

server里的配置信息先来看看server里涉及有哪些内容:server {       listen       80;       server_name  localhost;       autoindex  on;       #charset koi8-r;       #access_log logs/host.access.log  main;       location /i...

2018-04-21 15:27:39 408

原创 nginx的安装与简易介绍和使用

Nginx的安装1、首先在官网上下载nginx包下载文件解压后就可以看到以下:2、点击nginx.exe后就算是安装好了。3、可以通过在浏览器地址栏输入http://localhost有以下图标出现就算安装成功了。 nginx简易介绍        Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为...

2018-04-20 18:05:53 225

转载 mysql修改root密码的四中方式

在练习MySQL的时候,第一次登录时root账号没有密码,于是在网上找了修改密码的方法,大致有以下四种方法,留下以备后续使用。方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localho...

2018-04-17 08:31:35 643

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除