自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(77)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

转载 光储直柔配电系统(一)

新能源发展下对配电调控模式的新需求电力系统是一个超大规模的非线性时变能量平衡系统。传统电网是用一个精准实时可控的传统发电系统,去匹配一个基本可测的用电系统,并在实际运行过程中滚动调节,可以实现电力系统安全可靠运行。

2023-12-28 15:39:16 196

转载 kubernetes(K8S)集群组件(四) ------ 基于kubeasz部署高可用kubernetes集群

root@K8S-deploy:/etc/kubeasz# vi roles/containerd/templates/config.toml.j2 #此处不做修改,可以根据需求修改,例如镜像加速配置,可以改为自己的阿里云镜像加速地址。

2023-09-26 14:19:51 2856

转载 kubernetes(K8S)集群组件(三) ------ 使用kubeadm部署kubernetes

​ K8S官方dashboard是开源的,使用go语言开发,有版本要求,不同的K8S版本需要不同版本的dashboard,具体兼容版本查看官网文档。​ 注意,此yaml文件中需要下载镜像,如果内外无法访问互联网的主机,需要将镜像地址指向内外的harbor或其它可以访问的镜像仓库地址。​ 将两台node节点加入到集群(在两个node节点执行,此命令是master节点初始化集群成功后输出的,直接拷贝执行)​ 本机浏览器访问dashboard:(任意node节点的30000端口的https协议)

2023-09-26 14:16:37 288

转载 kubernetes(K8S)集群组件(二) ------ containerd(容器运行时)的安装和使用

​ 容器技术除了docker之外,还有其它不同的容器技术,为了保证容器生态的标准和健康可持续发展,包括Linux基金会Docker、微软、红帽、谷歌、IBM和华为等公司在2015年6月共同成立了open container(OCI)组织,目的是制定开放标准的容器规范。

2023-09-26 14:12:27 955

转载 kubernetes(K8S)集群组件(一) ------ 简介

​ Kubernetes最初源于谷歌内部的Borg,Borg是谷歌内部的大规模集群管理系统,负责对谷歌内部很多核心服务的调度和管理,Borg的目的是让用户能够不必操心资源管理的问题,让他们专注于自己的核心业务,并且做到跨多个数据中心的资源利用率最大化​ kubernetes是一个跨多主机的容器编排平台,它使用共享网络将多个主机构建成统一的集群。其中,一个或少量几个主机运行为Master节点,作为控制中心负责管理整个集群系统,余下的所有主机运行为Worker Node节点。

2023-09-26 14:01:17 91

转载 Linux 串口设置---参数详细讲解

这个值表示的是每秒钟被送出的0和1的个数。最被广泛使用的是RS-232C,它将mark(on)比特的电压定义为-3V到-12V之间,而将space(off)的电压定义到+3V到+12V之间。在传统的POSIX编程中,当连接一个本地的(不通过调制解调器)或者远程的终端(通过调制解调器)时,这里有两个选项应当一直打开,一个是CLOCAL,另一个是CREAD。因为同步协议可以不使用每个字符的同步比特位,所以通常它们的性能比异步通讯快最少25%,而且一般比较适用于远距离的网络链接或者有两个串口接口的配置的情况。

2023-09-04 11:25:39 1882

转载 Linux串口设置参数 详细讲解

CLOCAL和CREAD是c_cflag成员中与速率相关的标志,在串口编程中,这两个标志一定要有效,以确保程序在突发的作业控制或挂起时,不会成为端口的占有都,同时串口的接收驱动会自动读入数据。算法分析:从单链表的第一个节点开始,判断当前节点的数据域的值是否为x,若是,则返回该节点的指针域,否则,依据指针域内的指针查找下一节点,直至表结束。默认对应的控制符是^R,在标准模式下,如果设置了本地模式标志ECHO,使用VERPRINT对应的控制符和换行符在本地显示,并且重新打印当前缓冲区中的字符。

2023-09-04 11:02:54 3523

转载 架构设计 --- 7种UML图

不同的开发阶段需要使用不同的模型图来描述业务场景和设计思路,在不同的阶段输出不同的设计文档也是必不可少的,例如,在需求分析阶段需要输出领域模型和业务模型,在架构阶段需要输出物理架构设计,在详细设计阶段需要输出数据库设计等。图中的人形元素称为角色,角色可以是人也可以是其他系统。掌握类图、时序图、组件图、部署图、用例图、状态图、活动图这七种UML模型图,根据实际场景,在需求分析、架构设计和详细设计阶段选择并巧妙应用对应的模型图,有助于有效地进行软件建模和系统设计,成为一个掌控大局、指导技术团队的优秀架构师。

2023-08-16 13:11:14 1008

转载 https 加密原理

服务器生成一对密钥,首先向 CA 中心请求自己的证书,并将自己的公钥发送给 CA 中心,CA 中心将证书返回服务器。HTTPS 证书的原理是使用非对称加密进行身份验证,使用对称加密进行通信。客户端收到认证,使用服务端给的公钥加密对称密钥,发送给服务器。服务器收到加密后的对称密钥,使用自己的私钥进行解密。CA 中心认证,返回客户端,告知其服务器的真实性。客户端将证书发送给 CA 中心,询问其有效性。服务器和客户端开始使用对称加密方式进行通信。客户端向服务器发起通信请求。服务器返回证书和公钥。

2023-06-14 09:52:55 106

转载 mqtt 客户端开发(1)

目录MQTT安装paho.mqtt.c库安装依赖安装编译及运行编译运行源代码MQTTMQTT是一种轻量级物联网消息推送协议,使用MQTT开发物联网设备将会十分简单方便。关于MQTT服务器的安装可以看我的这篇文章:搭建MQTT服务器。

2023-06-09 16:21:53 492

转载 Linux操作系统之文件管理(文件系统)

文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件。文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,那组织的方式不同,就会形成不同的文件系统。「一切皆文件」,不仅普通的文件和目录,就连块设备、管道、socket 等,也都是统一交给文件系统管理的。索引节点(index node)和目录项(directory entry),它们主要用来记录文件的元信息和目录层次结构。

2023-04-27 15:27:45 1733

转载 linux操作系统之内存管理,看这一篇就够了

最直观的,我们买手机,电脑,内存条,都会标明内存是多大,例如途中的8G,16G,128G都指的内存大小,另外支持国货,支持华为。我们应该都听说过 RAM 存储器,它是一种半导体存储器件。RAM 是英文单词 Random 的缩写,即“随机”的意思。所以 RAM 存储器也称为“随机存储器”。那么 RAM 存储器和内存有什么关系呢?内存就是许多 RAM 存储器的集合,就是将许多 RAM 存储器集成在一起的电路板。RAM 存储器的优点是存取速度快、读写方便,所以内存的速度当然也就快了。有何作用?

2023-04-27 14:14:24 1426

转载 在windows系统下安装git客户端连接gitlab

注意下,这个进度条你会发现很慢,需要你动鼠标在空白处多晃动几下就很快了,注意上面写的Please内容。我这里本地已经搭好了一个gitlab,加载Putty密钥,这个就是刚才保存的私钥。TortoiseGit客户端要下载两个,一个是安装程序,一个是中文语言包。任意空白处右键,TortoiseGit设置,重新运行首次启动向导。我这里下载的是Git-2.14.0-64-bit.exe版本。如果ssh连接不成功,请检查你的ssh端口是否是默认的22。上述下载完成后,你会得到以下这三个文件。生成PuTTY密钥对。

2023-02-08 10:13:46 2101

转载 C++ 实现 redis 发布订阅 --- 使用 hiredis 同步API(三)

本文只总结常规会用到的hiRedis使用方法,一般顺序为先用 redisConnect 连接数据库,然后用 redisCommand 执行命令,执行完后用 freeReplyObject 来释放redisReply对象,最后用 redisFree 来释放整个连接。,然后make && make install。

2022-12-22 17:35:25 721

转载 C++ 实现 redis 发布订阅 --- 使用 hiredis 同步API(二)

下载hiredis库源码,我的编译环境为ubuntu14,解压hiredis源码后,终端下进入源码目录,然后输入make命令编译即可,编译后将分别得到静态及动态库文件:libhiredis.a / libhiredis.so,然后结合头文件就可以在工程中使用redis了。做服务端开发基本都会用到redis,java调用redis就简单了,教程很多,库也都是现成的,多数会选择jedis库吧,但是c++调用redis就麻烦一点,基本都要自己编译才行。虽然支持c++的redis库也很多,但是用哪个呢?

2022-12-20 09:55:29 599

转载 C++ 实现 redis 发布订阅 --- 使用 hiredis 同步API(一)

在集群分布式环境中,经常使用的中间件消息队列有ActiveMQ、RabbitMQ、Kafka等,都是应用场景广泛并且性能很好的消息队列,供集群服务器之间,分布式服务之间进行消息通信。限于我们的项目业务类型并不是非常复杂,对并发请求量也没有太高的要求,因此我们的中间件消息队列选型的是基于发布-订阅模式的redis。这样的设计使得各个服务器之间耦合度太高,不利于系统扩展,并且会占用系统大量的socket资源,各服务器之间的带宽压力很大,不能够节省资源给更多的客户端提供服务,因此绝对不是一个好的设计。

2022-12-19 17:34:41 1381 1

转载 C++ 实现 redis 订阅发布 --- libevent

订阅、取消订阅和发布实现了发布/订阅消息范式,发布者不是计划发送消息给特定的订阅者。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。libevent库、boost库、 hiredis库等,因为是基于异步的发送和接收,需要回调函数来返回确认相关的信息。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。

2022-12-15 13:53:38 1013 1

转载 Modbus RTU 协议详解

~~~~~~~ 以:波特率9600、1bit起始位、8bit数据位、1bit停止位,1bit校验位、无流控为例,那么1s内就可以传输(1+8+1+1)/9600*3.5*1000≈4ms,所以,如果从机在接收过程中,超过了4ms没有收到数据,则认为本帧数据接收结束;~~~~~~~~ 要求使用偶校验。从机返回:01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a3 67。

2022-12-09 09:23:01 13214

转载 Ubuntu 18.04 安装并使用 Redis

Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;作为实时监控信号处理也非常不错。

2022-11-30 15:24:16 831

转载 C 语言实现redis订阅发布相关功能

1 安装hiredis,https://github.com/redis/hiredis 进行下载安装,默认即可。4 安装完libevent后,需要做个软连接,我这边是2.2版本的,默认安装到 /usr/local/lib/3 安装libevent,2.2版本以上,与旧版本安装方法不太一样。使用客户端命令进行发布deviceChannel频道消息。关于 c语言异步操作发布和订阅的问题。2 安装redis,4.0版本以上。ldconfig //让其马上生效。

2022-11-29 17:16:10 517

转载 cJSON库用法详解

cJSON库用法详解 --- 介绍一些构造JSON时,经常用到的函数,使用以下函数,就可以完成大部分JSON格式的构造。//创建对象---常用//创建数组---常用//创建整型数组//创建双浮点型数组//在对象中添加null//在对象中添加true//在对象中添加false//在对象中添加数字//在对象中添加字符串//在对象中添加项目//在数组中添加项目//JSON数据结构转换为JSON字符串---有格式//JSON数据结构转换为JSON字符串---无格式//清除结构体。

2022-11-28 15:39:06 4913 1

转载 Qt创建对话框的三种方法

在Qt Designer环境中,所有的操作都采用可视化的操作,可拖放控件、关联信号与槽、设置特定控件的属性。上面的代码中UiLoader::load()使用了QFile对像作为数据源,并且会生成QWidget对像,最后使用了QWidget::show()显示上图中的窗体界面。前面的两种方法需要事先创建好相应的文件或代码,然后连同其它文件进行编译,如果后期要修改界面则必须修改代码或UI文件并重新编译。因而在实际使用时,常常使用Qt Designer绘制界面,然后添加额外的代码进行更为完善的设计。

2022-10-14 13:35:17 2321

转载 内存数据库---为什么断电后Redis数据不会丢失

Redis作为一款内存数据库,被广泛使用于缓存,分布式锁等场景,那么假如断电或者因其他因素导致Reids服务宕机,在重启之后数据会丢失吗?本文主要介绍了RedisRDB和AOF,并分别介绍了两种持久化机制的原理,通过对两种持久化机制的对比分析了两种持久化机制各自的优点和缺点。

2022-10-08 15:37:28 718

转载 Linux 串口通信 详解

include /*标准输入输出定义*/#include /*标准函数库定义*/#include /*Unix 标准函数定义*/#include#include#include /*文件控制定义*/#include /*PPSIX 终端控制定义*/#include /*错误号定义*/参数fd为打开的终端文件描述符,参数optional_actions用于控制修改起作用的时间,而结构体termios_p中保存了要修改的参数。c_cc[NCCS]:控制字符,用于保存终端驱动程序中的特殊字符,如输入结束符等。

2022-09-13 17:43:47 2445

转载 sqlite --- 支持的函数及字段类型

**--------------------------------------------------------------------你看不见我分割线-----------------------------------------------------------------------------**/)selectstrftime(\'%d\',datetime());若目录下存在test.db文件,则会打开该数据库文件,若不存在,则会创建一个数据库文件,并进入数据库操作。...

2022-07-26 14:29:56 630

转载 sqlite --- Linux C 数据库接口操作

前言C语言中通过调用sqlite的函数接口来实现对数据库的管理(创建数据库、创建表格、插入数据、查询、数据、删除数据等),掌握sqlite数据库的语法,以及sqlite提供的函数接口,那么在linux下C语言编程操作数据库就变得简单了。第4个参数void*是你所提供的指针,你可以传递任何一个指针参数到这里,这个参数最终会传到回调函数里面,如果不需要传递指针给回调函数,可以填NULL。第3个参数sqlite3_callback是回调,当这条语句执行之后,sqlite3会去调用你提供的这个函数。...

2022-07-26 13:55:44 607

转载 sqlite3 --- 在Ubuntu下的编译安装以及使用c语言操作数据库

原文链接https1.下载sqlite源代码,地址https//www.sqlite.org/download.html(选择autoconf的)2.进入源代码根目录,打开终端执行./configure[-prefix=你想要安装的目录],具体我的是3.执行make指令4.执行makeinstall指令到你安装的目录能发现四个文件夹,bin包含了sqlite3执行文件include包含了连接sqlite3需要的头文件lib包含了静态链接库、动态链接库等。...

2022-07-26 11:18:26 512

转载 MQTT协议介绍

MQTT 协议

2022-07-18 16:53:10 1182

转载 Linux编程 --- C封装的库 如何能给 C++ 程序调用

C 程序的头文件要进行如下处理:/*__cplusplus为C++编译器包含的宏,例如用g++编译时,该宏就存在,则下面的语句extern "C"才会被执行*/#ifndef __TEST_H__#define __TEST_H__#ifdef __cplusplusextern "C" {#endifvoid C_fun();#ifdef __cplusplus}#endif#endif //__TEST_H__注:经过以上处理后 C 和 C++ 程序都能..

2022-05-12 14:00:19 191

转载 Linux编程 --- man 手册(API手册)使用方法

经常用man查各种函数和指令,也经常遇到明明是要找函数结果显示了指令或者关键字,很是郁闷,索性对man研究了一番。比如我需要看看exit函数怎么使用,以及用什么头文件是不是想着直接:man exit,看看这样的结果很明显不是你想要的结果。原来设计者把man手册进行了分页,也就是分类。代号 代表的内容 1 用户在shell环境中可操作的命令或可执行文件 2 系统内核可调用的函数和工具等 3 一些常用的函数与函数库,大部分为c的函数库 4 设.

2022-04-22 17:37:55 523

转载 Linux编程 --- 动态加载动态库 dlopen() dlsym()。。。

#include <dlfcn.h>void *dlopen(const char *filename, intflag);char *dlerror(void);void *dlsym(void *handle, const char *symbol);int dlclose(void *handle);Link with-ldl.DescriptionThe four functionsdlopen(),dlsym(),dlclose(),dlerro...

2022-04-22 17:31:49 1801

转载 Linux 网络通信 --- TCP 粘包处理

Linux下的socket编程实践(五)TCP的粘包问题和常用解决方案_zjy900507的博客-CSDN博客_linux socket粘包

2022-01-12 16:23:29 244

转载 Linux网络通信 --- connect 函数超时设置

如果用阻塞模式,调用connect 函数时 如果服务端IP地址或者端口号错误,要等待2-3分钟connect 函数才返回链接失败。这是无法忍受的。改进实现如下:connect socket的超时设置最近项目中,有个需求是检测某ip地址是否是通的,使用了socket的connect函数。但是,当ip地址写错的话,connect就会一直阻塞在那里,大概2、3分钟才能返回连接失败。这对于用户来说是不可接受的。下面的文章介绍了两种方法实现这种超时设置:转自http://blog.csdn.net

2022-01-11 15:24:27 2006

转载 Linux网络通信 --- 监听套接字为什么要设置成非阻塞的

常见的网络通信模型都会使用IO多路复用技术如select、poll、epoll等。当有新的连接请求到来时,监听套接字变为可读,然后调用accept()接收新连接、返回一个连接套接字。如果监听套接字是阻塞的,问题可能出在什么地方?先来看下TCP三次握手的示意图:从图中可知,connect()会先于accep()函数返回。当一个连接到来的时候,监听套接字可读,此时,我们稍微等一段时间之后再调用accept()。就在这段时间内,客户端设置linger选项(l_onoff = 1, l_li

2021-12-31 11:01:38 671

转载 Linux网络通信 --- send recv 的使用

原文地址:TCP之深入浅出send和recv作者:weizhulinux本篇我们用一个测试机上的阻塞socket实例来说明主题。文章中所有图都是在测试系统上现截取的。需要理解的3个概念1. TCP socket的buffer每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的流量(拥塞)控制便是依赖于这两个独立的buffer以及buffer的填充状态。接收缓冲区把数据缓存入内核,应用进程一直没有调用recv()进行读取的话,此数据..

2021-12-30 11:21:59 800

转载 Linux 网络通信 --- Select 使用

select 模式

2021-12-29 10:02:19 807

转载 进程间通信---信号量的使用

Linux信号量操作_sunxiaopengsun的专栏-CSDN博客_linux 信号量

2021-12-13 09:55:34 127

转载 Linux 共享内存的几种使用方法

世上最好的共享内存(Linux共享内存最透彻的一篇)_eydwyz的专栏-CSDN博客_linux 共享内存

2021-11-16 15:08:03 602

转载 IEC61850开发实战(七)控制服务的实现(3)

IEC61850开发实战(七)控制服务的实现(3)8月 11,2019 留下评论 IEC61850此次继续介绍控制服务的其他模型,让我们回顾一下,控制包括如下四种模型:常规安全的直接控制(简称DOns); 常规安全的操作前选择控制(简称SBOns); 增强安全的直接控制(简称DOes); 增强安全的操作前选择控制(简称SBOes);前面的两篇文章分别介绍了前两者,此次将介绍后两者,并以第四者增强安全的操作前选择控制的实例来让大家有一个更加直观的认识。前面两篇文章重点介绍的是常规安

2021-11-12 11:34:43 3510

转载 将vs+Qt的工程从windows平台移植到linux下_

将vs+Qt的工程从windows平台移植到linux下_崔杰城的博客-CSDN博客_windows下的qt工程移植到linux下

2021-11-11 08:51:20 1964

非常好用的FTP工具

这款工具是我目前为止见过的最好用的FTP工具分享给大家,非常小,数据传输速度非常快也非常稳定

2018-08-23

Linux makefile教程 非常详细

makefile 很详细的文档,这个文档掌握了,基本上就够用了。

2015-11-09

VC++6.0 英文版

该款为VC++6.0的绿色版 不需要安装,解压后放到D盘根目录就可以直接用了,非常好用

2015-11-09

IP地址扫描工具

当你想远程登录一个设备的时候,忘记这个设备之前设置的IP地址是多少,这时这个工具就派上用场了,可以说特别有用。可能找到整个局域网中的,主机名,MAC地址,IP地址列表。

2014-05-17

串口调试助手V2.2

串口调试助手V2.2 是本人到目前为止试用过的最稳定的一个版本,自动发送报文的时间设置为1毫秒,依然稳定运行。

2014-05-10

CString,char,int,COleDateTime,CTime,time_t之间的相互转换

这些类型的转换在开发数据库应用时很有用,也比较齐全

2009-10-26

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

TA关注的人

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