pulsar常用命令 #创建安全认证keybin/pulsar tokens create-secret-key --output data/admin-secret.key #创建角色,生成tokenbin/pulsar tokens create --secret-key data/admin-secret.key --subject pulsaradmin #创建租户bin/pulsar-admin tenants create test_tenant#创建租户,并指定管理员bin/pulsar-admin
k8s节点加入集群 k8s节点加入集群流程及常见问题//移除dockeryum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ .
go之gRPC入门 gRPC 是一个高性能、开源和通用的 RPC 框架,基于HTTP2.0实现,具体原理及其他不再多说,百度/google有很多文章,这里主要分享一下如何搭建grpc环境以及如何用插件自动生成*.pb.go代码(以下分享均基于CentOs7)下文中如果echo $GOPATH为空,则请用绝对路径代替GOPATH一、gRPC开发环境搭建1、安装golang: yum install -y golang(安装成功后输入go version可以看到对应版本号)2、创建工程目录:...
go中父协程与子协程的生命周期 首先说一下结论:当父协程是main协程时,父协程退出,父协程下的所有子协程也会跟着退出;当父协程不是main协程时,父协程退出,父协程下的所有子协程并不会跟着退出(子协程直到自己的所有逻辑执行完或者是main协程结束才结束) 再来代码验证一下,下面是代码package mainimport ( "log" "time")func main(){ defer trace("main")() go goroutine() time.Sleep(20*ti...
go中关于defer函数带返回值和不带返回值的问题 最近学习go语言,也写过不少defer,例如socket通信当成功建立连接后立马来一个defer mSocket.Close()亦或是当http建立连接后来一个defer resp.Close(),go defer的引入简直不要太爽,开发者将资源释放的动作放在defer里面,就再不需要过于关注资源释放的问题了。 defer好用是好用,但最近《go程序设计语言》关于defer这一块的介绍时,书中写了一个demo,用defer实现了进入函数的打印以及出函数的打印和函数花费的时间...
epoll实现简单socket通信 epoll是常用的socket通信方式,相比于select和poll来说,效率提升了不止一点半点 其一:select中socket描述符(文件描述符)集的数据结构为数组,poll的文件描述符集数据结构为链表,无论数组还是链表,它们都是线性结构,当遍历时,也只能线性遍历;而epoll文件描述符集采用的红黑树(平衡二叉树的一个变体)的数据结构,红黑树的遍历则相比于线性遍历,效率要高很多。 其二:select和poll对文件描述符集先要拷贝到内核区,内核修改后再拷贝至用户区,要经过2次...
linux C实现socket通信(单线程和多线程的实现) socket通信是网络编程的基础,对于其概念的解释以及知识点的介绍网上都写的很详细了,这里不再啰嗦,这里主要是基于linux实现简单的客户端服务器端通信,功能为从客户端输入一行字符(可包含空格),服务器收到后进行显示并将收到的字符串再发送给客户端,并且服务器端可以一直对客户端的连接进行监听(这里先只实现一个客户端的连接,后面引入多线程,让多个客户端可以同时连接服务器端)。服务器端流程为创建socket->绑定->监听->连接->通信->关闭socket代码里有详细注释,
大数的加减法操作(C代码) 网上有关大数加减法操作的代码多是不带符号进行运算的,自己写了一个带符号的版本,供学习和参考,代码里面注释很详细,直接上代码#include <stdio.h>#include <string.h>#define M 100 //定义了数量M是100作为数组初始化的数量 typedef struct bigint{ char num[M]; int symbo...
C语言有关返回局部变量的问题 最近阅读C++primer第五版P201写道不要返回局部对象的引用或指针,借此梳理一下返回局部变量的问题其实,返回局部变量安全与否设涉及到内存的分配问题,一条总的原则就是函数结束后所返回的东西是否发生改变。我们知道,一般分为堆内存、栈内存、静态存储区、常熟区和代码区(相关内存的问题请见https://blog.csdn.net/lj779323436/article/details/104...
定义结构体指针 常见到定义结构体时的指针定义形式,记录学习一下typedef struct { int a; double b; }demo, *pdemo; //typedef 了两个新的数据类型(结构体),其中一个是指针方式的名字 int main(void) { char i = 'y'; demo a1; ...
C++中的函数重载有关参数为引用的问题 C++中的函数重载通常根据参数类型及个数来实现,但当含有引用参数和非引用参数时会出现一些问题,先见如下代码:bool str_equal(string str1 , string str2){ cout<<"str_equal no & no const"<<endl; return str1.size() == str2.size();}bool ...
C/C++内存分配机制(非原创) 原文链接:https://blog.csdn.net/jirryzhang/article/details/79518408C语言在内存中一共分为如下几个区域,分别是:1. 内存栈区: 存放局部变量名;2. 内存堆区: 存放new或者malloc出来的对象;3. 常数区: 存放局部变量或者全局变量的值;4. 静态区: 用于存放全局变量或者静态变量;5. 代码区:二进制代码。知道如...
android客户端控制树莓派GPIO点亮LED灯 首先需要android客户端与树莓派进行连接,树莓派与android客户端利用wifi连接并进行socket通信请参考我的另一片文章:https://mp.csdn.net/postedit/79911322 。树莓派与Android客户端连接成功后就可以开始让android客户端给树莓派发送指令控制树莓派GPIO口的电平输出 首先需要搞清楚树莓派的GPIO引脚,这里我用的树莓派3B,其...
树莓派与Android客户端进行socket通信 首先,需要对树莓派进行配置,使其成为AP热点,这里我用的树莓派3B自带wifi蓝牙模块,树莓派3B作AP热点的方法具体参考https://blog.csdn.net/u014271612/article/details/53766627这篇文章,但配置过程中会遇到一些小问题,比如在输入git clone https://github.com/oblique/create_ap 这条命令时...
Windows10下安装Ubuntu双系统 Windows10 下安装ubuntu16.04linux双系统前些天尝试在Windows10下安装Ubuntu的linux双系统,上网百度了一些资料,尝试了N多遍,最后终于成功在windows上安装了Ubuntu16.04双系统。选中Windows图标,单击右键,选择磁盘管理可以看到我这里有2块硬盘接下来我要分配100G的空间用来安装linux系统,步骤如下:
android顶部回退按钮的实现 最近看来好多关于android顶部导航栏回退的实现如下图效果点击返回上级页面,网上的大部分都实现特别繁琐,其实安卓自带BUFF,在Manifest清单文件中一句代码就能搞定,特别easy,下面贴方法 <activity android:name=".SearchActivity" android:parentActivityName=".MainActi
FJ 下面贴代码,注释都有#includeusing namespace std;string fun(int n){ if(n==1){ return "A"; } else{ //先将字符转化为string形式 char ch='A'+n-1; string s="A"; //s为一个任意字符的字符串 s[0]=ch; // 将ch='A'+n-1转化为字符串