自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于C++的奇妙小怪招

自用收集C++的奇怪方法

2022-09-06 14:14:55 336 1

原创 前辈给的经验

1.不要上传debug代码2.多事情同步,要分优先级后,一件一件做,同样紧急、影响他人要先做。3.要做情景分析SA

2022-02-22 10:49:04 284

原创 机械臂方向知识

此文档为自我学习时候的杂记,如有问题欢迎指出一、各个互转过程旋转矢量旋转向量旋转矩阵齐次线性姿态矩阵二、从当前位置点A到当前位置点B的计算1.分为设置姿态A ->A2.设置末端工具姿态A,B,TB = A*T;三、既旋转又平移的移动方法S速度规划的笛卡尔空间运动,规划一条曲线S1,分别规划平移和旋转,平移= 当前的位置 + S1(currenttime) / count;旋转使用slerp...

2022-02-21 17:51:32 686

原创 机械臂工具和负载理解

1.5.2设置负载1.5.2.1定义:工具负载数据是值所有装在机器人法兰上的负载。它是另外装在机器人上,并由机器人一起移动的质量。需要输入的有,质量、重心位置(质量受重力作用的点)、质量转动惯量以及所属主惯性轴。1.5.2.2质量(单位:kg):1.5.2.3重心位置(单位:mm):1.5.2.4主惯性轴(惯性轴就是保持物体单位时间内的运动状态的轴,主惯性轴到参考坐标系的A,B,C夹角,单位°):1.5.2.5质量转动惯量J(JX,JY,JZ,单位kgm平方,数值

2022-02-21 11:58:39 1242

原创 环境的网站

opensslWin32/Win64 OpenSSL Installer for Windows - Shining Light Productions

2021-11-10 09:56:21 365

原创 雷达、信号处理方向的理解

此文档记录从2021.05.08开始所有雷达信号处理方向的理解,可能会记得比较细碎,只是为了自己理解和学习,会持续记录2021.05.08信号参数bw,f0,tp(pw),fs,A,pri,snr,scr1.脉冲宽度是时域上的信号长度,tp*fs是信号的点数2.带宽是在中心频率两侧的宽度,在频域上能体现出3.载频和中心频率是一个概念,在中心频率两侧是bw的概念,4.fs采样的话,最好是大于2fmax,这样原始信号才能被完全的采出来5.多普勒频率,2v/lamda,通过物.

2021-05-08 10:31:34 8703

原创 编程过程中所出现的问题

1.一个功能一定版2.如果写共用函数,一定要用纯c等去写3.避免结构冗杂,一个功能一个接口类

2021-04-25 11:17:17 1556

转载 git覆盖本地分支

参考见:https://www.cnblogs.com/thiaoqueen/p/10695928.html

2021-01-30 09:35:23 328

原创 分区恢复

前几天,误删了ntfs下的数据分区,导致除了系统盘其余的都显示不出来了。遂求办法,找了许多如diskgenius,R-Stadio,test_disk等三个工具,比较发现:1.diskgenius需要花钱;2.R-Stadio速度很慢;3.test_disk可以使用,但是无界面,所以操作会有一些困难;综上,最终用了test_disk,这个现在就是正在扫描整块磁盘,基本使用过程是:1.打开testdisk_win.exe。2.选择create3.选择受损的硬盘后点proce

2021-01-18 14:48:45 174 1

转载 fft

https://www.sohu.com/a/279776145_404874

2021-01-07 17:02:54 79

原创 白噪声

服从正态分布的随机函数

2020-11-26 16:15:12 205

原创 统计一小时内的ip访问topk问题

利用时序数据库的思想,一小时为3600秒,每一秒由一个hashmap进行标记,然后够一个小时后对这些数据进行聚合;找出topk的ip

2020-11-09 16:52:45 277

原创 关于航迹规划、无人机等项目的几点思考

1.目前的设备中都是机载雷达,利用雷达测距和成像原理规避不适合的航线和地理位置,这点完全可以移植到目前比较火的汽车自动规划路线上。汽车的自动驾驶也是利用的激光雷达;所以这条路还是很香的,还好好学习;2.提到雷达就会有干扰,干扰的话就会有辐射源和散射源,对于不同天气,雷达的回波效果也是不一样的,这点不只是可以用到无人机也可以用到汽车的自动驾驶;3.是关于雷达成像的,...

2020-07-15 16:45:12 396

原创 grpc服务发现注册中心负载均衡的实现的几点思考

grpc是不具有注册和发现以及负载均衡的功能的,所有我们要自己实现1.服务的注册和发现得用一致性工具zookeeper,这样实现一个注册中心,然后当每个节点被上线时候首先需要向注册中心注册服务,当下线时候也对应的会取消服务。2.至于负载均衡,常见的有三种实现方式:我们已知,分布式的结构中有服务提供者,消费者,注册中心,负载均衡等几个角色第一种方式是把负载均衡单独成为一个模块,如传统的用negix双热备这位总的接口,接收消费者的所有api服务调用,这样会产生若负载均衡模块崩溃,就会出现整个系统

2020-07-14 16:30:50 1313

原创 关于bitArray、bitMap的使用

这几天学习了redis,redis中用了许多bit操作来节省空间内存,下面列举一下1.bitArray在redis集群中的state结构中用到了,主要是为了分配16438个哈希槽,就用到结构unsigned char XXX[16438 / 8];这样将bit分配给每一个bit位,若哈希槽被分配了就将bit位置1,否则置0;2.在redis的缓存穿透,需要用到布隆滤波器,所谓布隆滤波器的作用是在大数据(例如10亿条数据中)找到是否存在的键值,利用哈希碰撞来找到碰撞点,如有这个key就存在,这个has

2020-07-13 09:49:07 436

原创 redis学习之独立功能的实现

1.发布和订阅SUBSCRIBE将所有订阅的信息存在pubsub_channels中UNSUBSCRIBE是取消订阅的操作,会在pubsub_channels中删除掉PUBLISH是发布数据,用法是PUBLISH "news.it" "hello",其中 news.it是频道 hello是消息内容PUNSCRIBE是模式订阅,可以订阅news.*就是news里的所有数据,会存储在pubsub_patterns中UNPUNSCRIBE是取消模式订阅,会存储在pubs..

2020-07-09 11:31:49 86

原创 redis单机服务器的实现

redis服务器参数structredisServer{/*General*/pid_tpid;/*Mainprocesspid.*/char*configfile;/*Absoluteconfigfilepath,orNULL*/char*executable;/*Absoluteexecutablefilepath.*/...

2020-07-09 10:47:34 178

原创 redis学习之集群

1.集群定义redis中集群由三个主要的结构控制,clusterNode、clusterState、clusterLink,下面展示结构详情:typedefstructclusterNode{mstime_tctime;/*Nodeobjectcreationtime.*/charname[CLUSTER_NAMELEN];/*Nodename,hexstring,sha1-size*/intflags;/*CL...

2020-07-09 10:45:19 95

原创 redis学习之哨兵模式

1.1简介哨兵(Sentinel),由一个或者多个Sentinel组成监视任意多个主服务器以及主服务器的从服务器,自动将下线的主服务器的某个从服务器升级为主服务器。举个例子,假设有1个主服务器server1,和多个从服务器server1.....servern1)哨兵监视所有服务器2)主服务器server1下线后,从其附属的服务器中选出来一个主服务器,并向其他服务器发送slaveof的命令3)其他服务器附属于新的服务器4)继续监视server1,若他重新启动时,让他成为当前的主服务器

2020-07-08 16:23:31 224

原创 Redis的数据结构简述

1.SDSstruct sdshdr{int len ;int alloc;int flag;char buf[];}2. link listtypedefstructlistNode{structlistNode*prev;structlistNode*next;void*value;}listNode;typedefstructlistIter{listNode*next;i...

2020-07-03 15:11:41 224

原创 Redis实战第一章(初识Redis)

redis的几种种命令SETGETDELredis中的列表(list)LPOPRPOPLPUSHRPUSHLRANGE 获得左侧的范围值LINDEX获取列表中中的某个元素的值redis的集合(set)集合和列表的区别是,列表可以重复,而集合不能重复无序,SADD 添加SMEMBERS 返回集合包含的所有元素SISMEMBER 检查这个元素是否在这个集合中SREM 移除redis的散列(hash)hash可以存储多个键值对之间的映射

2020-06-17 14:30:14 259

原创 gdb的多线程简单使用

gdbgdb b main.cpp:130 在main.cpp的130行设置断点 b threadpool.cpp:140 同理info threads,显示当前程序的所线程thread ID ,指定调试当前线程set scheduler-locking[off|on|step] 只看当前线程的执行情况,其他的线程可根据off on step设置是否执行,如on是只执行我们选择的,off全执行,step是只有在单步的时候执行n 是下一步bt 调用子线程的堆栈...

2020-06-12 17:57:25 106

原创 linux高性能服务器编程第十三章(多进程编程)

fork()的使用复制与原进程栈堆指针和寄存器值相同的,PPID,信号位图不同的子进程;调用成功返回两次,成功的情况第一次是返回0,第二次返回子进程的pidexec系统调用子系统中,调用其他程序,替换掉当前的进程映像,可以使用exec函数;#include <unistd.h>int execl(const char* path , const char * arg ,...);处理僵尸程序僵尸程序出现的两种原因是(1)在子进程结束前,父进程读取他的退出状态.

2020-06-08 18:11:02 192

原创 linux高性能编程第十二章(高性能框架libevent)

使用reactor的模式,reactor包括reactor、句柄集、多路事件分发器、事件处理器和具体事件处理器event_base,相当于reactor,有注册事件、取消事件、注册句柄的功能多路事件分发器是一个I/O复用模型事件处理器是处理事件的虚函数接口,具体事件处理器是这些虚函数的具体实现,不过在libevent中处理器为大量的回调函数一个简单的hello word的程序:#include <string.h>#include <errno.h>#incl.

2020-06-08 15:26:32 89

原创 linx高性能服务器编程第十一章(定时器)

基于socket选项SO_RCVTIMEOSO_SNDTIMEO基于SIGALRM信号alarm(TIMESLOT) -> io服用检测SIGALRM信号->查找存储计时器里过期的项,用回调的函数执行时间链表通过链表时间轮通过环状的时间轮时间堆通过小顶堆的超时时间设置alarm()的超时时间,高效率的实现计时器,效率最高...

2020-06-07 13:52:10 150

原创 linux高性能服务编程第十章(信号)

发送信号linux下,一个进程给其他进程发信号的api是#include <sys/types.h>#include <signal.h>int kill ( pid_t pid , int sig );成功返回o,失败返回-1,并设置errno,errno的参数可选为:EINVAL(无效) EPERM (该进程无权限发给任何一个进程)ESRCH(目标进程或进程组不存在)信号处理方式typedef void(* __sighandler_t ) (int

2020-05-29 17:36:02 139

原创 linux shell 启动一个进程

可以用做后期各种服务器挂掉自启动的方法# !/bin/bash#$ cat /proc/cpuinfowhile true doprocnum=` ps -ef|grep "untitled3"|grep -v grep|wc -l` if [ $procnum -eq 0 ]; then ./untitled3 & fi sleep 3 done...

2020-05-28 18:09:58 1111

原创 linux高性能服务器编程第九章(I/O复用)

select#include <sys/select.h>int select ( int nfds , fd_set* readfds , fd_set* writefds , fd_set* exceptfds , struct timeval * timeout);readfds:可读集合writefds:可写集合exceptfds:异常集合struct timeval{long tv_sec;long tv_usec;}FD_ZERO(f..

2020-05-28 17:20:54 163

原创 linux高性能服务器编程第八章(高性能服务器程序框架)

C/S模型传统C/S,一端作为客户端,一端作为服务器,这里不做多介绍。P2P模型peer 2 peer ,每台机器使用服务的同时也提供服务,通俗的讲,没有绝对客户端和服务端的概念,当下云计算的模型就是这样实现的,但他具有一个缺点,就是难以被发现,所以通常加上一个发现服务器。服务器编程框架通常分为四块,IO处理模块若是单个服务器,用于处理用户链接和收发若是服务器集群,作为传入服务器,实现负载均衡逻辑处理单元若是单个服务器,线程或进程形式存在若是服务器集群,逻辑服务器

2020-05-28 11:34:48 149

原创 linux高性能服务器编程第七章(linux服务器程序规范)

日志#include <syslog.h>voidsyslog(int priority , const char* message ,...);void openlog(const char * ident , int logopt ,int facility);int setlogmask(int maskpri);void closelog();用户信息uid euid gid guid#include < sys / types.h >#.

2020-05-27 14:21:22 134

原创 linux高性能服务器编程第六章(高级I/O函数)

fork()函数;pipe函数int socketpair(int domain , int type , int protocol ,int fd[2]);dup函数和dup2函数#include <unistd.h>int dup(int file_descriptor);int dup2(int file_descriptor_one , int file_descriptor_two);不继承原文件的属性,如阻塞和非阻塞用于重定向文件、管道、网络连接.

2020-05-25 17:53:47 141

原创 linux高性能服务器编程第五章(Linux网络编程基础API)

SOCKET地址API主机字节序和网络字节序: 大端字节序是一个数的高位字节存储在内存的低地址位;小端字节序是一个数的高位字节序在内存的高位地址位;主机字节序是小端字节序;网络字节序是大端字节序;JAVA虚拟机是大端字节序。 Linux下提供了4个函数完成大小端的转换,即为:#include <netinet/in.h>unsigned long int htonl(unsigned long int hostlong);unsigned short...

2020-05-15 16:54:43 214

原创 linux高性能服务器编程第四章(TCP/IP通信案例上的web服务器)

代理服务器: 在HTTP通讯链上,客户端和服务器之间通常存在某些中转代理服务器,他们提供对目标资源的中转访问。代理服务器可分为,正向代理、反向代理和透明代理三种情况。 下面介绍正向代理,正向代理是客户端自己设置代理服务器的地址,这里的应用是防火墙内局域网要访问Internet,或要访问一些外国网站,就需要使用正向代理。 接着是反向代理,反向代理设置在服务端,因此客户端不需要设置,反向代理是指服务端收到Internet上的一些请求,并把他返回给内部的客户端。这种情况下,代理服务器...

2020-05-15 14:54:36 160

原创 linux高性能服务器网络编程第三章(TCP协议详解)

TCP服务的特点:tcp面向链接、字节流和可靠;UDP则不同;tcp通过调用send()/recv()函数处理数据,udp通过调用sendto()/recvfrom()处理数据;可靠是指,接受确认、定时重发、由于IP分片对TCP报文段重排和整理;可见,数据最终都是封成IP数据报发送的。这里有个疑问,IP进行分片,tcp进行分组,那么怎么保证tcp协议不会被ip分片呢?经查,有个MSS = MTU - 20(IP头) - 20(tcp头),而udp则为 MTU - 20(IP头)- 8

2020-05-15 11:37:46 174

原创 linux高性能服务器网络编程第二章

ip服务的特点:无状态、不可靠、无连接ipv4的结构:4位版本号,IPV4为44位头部长度8位TOS,三位代表优先权,四位代表最小延时、最大吞吐量、最高可靠性、最小费用16位总长度(字节数),是指ip数据报的长度,以字节为单位,最大长度到65535字节,但由于MTU限制,到不了那么大;16位标识,唯一的标识主机发送的每一个数据报,初始值由系统生成;3位标志段,第一位保留,第二位禁止分片(不对数据分片,IP数据长超过MTU的情况下,IP模块丢弃数据报并返回一个ICMP差错报文)

2020-05-14 09:24:36 96

原创 grpc的编译和使用简单介绍

缘由: 年前做的项目要从C/S变为B/S的形式,遂涉及到java和c++的交互问题,想到用rpc作为底层协议使java和c++交互更为遍历,本文将介绍grpc的windows平台编译和简单使用,及很Nice的protobuf的一些原理。grpc的编译: 1.从github上https://github.com/grpc/grpc克隆代码到本地。 2.然后输入命令git submodule update --init克隆第三方软件,此时可能会遇到下载代...

2020-05-12 14:32:18 1832

原创 变量前置

一、介绍二、好处避免编译时候,编译头文件,在头文件中只是用到了MyClassb的指针,不需要展开,增加编译速度;

2020-04-30 14:49:15 1212

原创 开此博的目的

1.积累项目中的疑惑点和经验2.补充其他模块的知识3.思绪上的思考人生

2020-04-29 17:00:45 99

原创 linux下配置达梦/oracle

环境:1.linux下odbc源码2.3.02.达梦8数据库配置:编译完之后,需要配置odbc.inst[DM8]Driver=libodbc.so的库的位置配置odbc.ini[名字随意]Description= ORCALE Driverdriver= ORCALE Driverserver= 192.168.1.134Port= 1521S...

2020-04-29 16:57:29 211

原创 deque种种

一、介绍vector是单向开口的连续线性空间,而deque则是双向开口的连续线性空间。所谓的开口,是可以在两端进行增加和删除操作,但是其操作头部效率极差。其结果如图所示:二、函数三、易错点四、效率...

2020-04-29 16:21:50 83

空空如也

空空如也

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

TA关注的人

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