- 博客(27)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 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
2022-07-11 14:12:10 447
原创 k8s节点加入集群
k8s节点加入集群流程及常见问题//移除dockeryum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ .
2022-03-19 23:44:45 2799
原创 go之gRPC入门
gRPC 是一个高性能、开源和通用的 RPC 框架,基于HTTP2.0实现,具体原理及其他不再多说,百度/google有很多文章,这里主要分享一下如何搭建grpc环境以及如何用插件自动生成*.pb.go代码(以下分享均基于CentOs7)下文中如果echo $GOPATH为空,则请用绝对路径代替GOPATH一、gRPC开发环境搭建1、安装golang: yum install -y golang(安装成功后输入go version可以看到对应版本号)2、创建工程目录:...
2021-01-11 20:29:09 933 3
原创 go中父协程与子协程的生命周期
首先说一下结论:当父协程是main协程时,父协程退出,父协程下的所有子协程也会跟着退出;当父协程不是main协程时,父协程退出,父协程下的所有子协程并不会跟着退出(子协程直到自己的所有逻辑执行完或者是main协程结束才结束) 再来代码验证一下,下面是代码package mainimport ( "log" "time")func main(){ defer trace("main")() go goroutine() time.Sleep(20*ti...
2020-11-14 21:58:00 2225 1
原创 go中关于defer函数带返回值和不带返回值的问题
最近学习go语言,也写过不少defer,例如socket通信当成功建立连接后立马来一个defer mSocket.Close()亦或是当http建立连接后来一个defer resp.Close(),go defer的引入简直不要太爽,开发者将资源释放的动作放在defer里面,就再不需要过于关注资源释放的问题了。 defer好用是好用,但最近《go程序设计语言》关于defer这一块的介绍时,书中写了一个demo,用defer实现了进入函数的打印以及出函数的打印和函数花费的时间...
2020-11-14 21:27:19 1577 3
原创 epoll实现简单socket通信
epoll是常用的socket通信方式,相比于select和poll来说,效率提升了不止一点半点 其一:select中socket描述符(文件描述符)集的数据结构为数组,poll的文件描述符集数据结构为链表,无论数组还是链表,它们都是线性结构,当遍历时,也只能线性遍历;而epoll文件描述符集采用的红黑树(平衡二叉树的一个变体)的数据结构,红黑树的遍历则相比于线性遍历,效率要高很多。 其二:select和poll对文件描述符集先要拷贝到内核区,内核修改后再拷贝至用户区,要经过2次...
2020-06-28 14:51:29 1725 1
原创 linux C实现socket通信(单线程和多线程的实现)
socket通信是网络编程的基础,对于其概念的解释以及知识点的介绍网上都写的很详细了,这里不再啰嗦,这里主要是基于linux实现简单的客户端服务器端通信,功能为从客户端输入一行字符(可包含空格),服务器收到后进行显示并将收到的字符串再发送给客户端,并且服务器端可以一直对客户端的连接进行监听(这里先只实现一个客户端的连接,后面引入多线程,让多个客户端可以同时连接服务器端)。服务器端流程为创建socket->绑定->监听->连接->通信->关闭socket代码里有详细注释,
2020-06-05 23:02:30 3550 1
原创 大数的加减法操作(C代码)
网上有关大数加减法操作的代码多是不带符号进行运算的,自己写了一个带符号的版本,供学习和参考,代码里面注释很详细,直接上代码#include <stdio.h>#include <string.h>#define M 100 //定义了数量M是100作为数组初始化的数量 typedef struct bigint{ char num[M]; int symbo...
2020-04-25 21:15:02 755
原创 C语言有关返回局部变量的问题
最近阅读C++primer第五版P201写道不要返回局部对象的引用或指针,借此梳理一下返回局部变量的问题其实,返回局部变量安全与否设涉及到内存的分配问题,一条总的原则就是函数结束后所返回的东西是否发生改变。我们知道,一般分为堆内存、栈内存、静态存储区、常熟区和代码区(相关内存的问题请见https://blog.csdn.net/lj779323436/article/details/104...
2020-04-24 14:51:04 265
原创 定义结构体指针
常见到定义结构体时的指针定义形式,记录学习一下typedef struct { int a; double b; }demo, *pdemo; //typedef 了两个新的数据类型(结构体),其中一个是指针方式的名字 int main(void) { char i = 'y'; demo a1; ...
2020-04-21 15:40:29 2533
原创 C++中的函数重载有关参数为引用的问题
C++中的函数重载通常根据参数类型及个数来实现,但当含有引用参数和非引用参数时会出现一些问题,先见如下代码:bool str_equal(string str1 , string str2){ cout<<"str_equal no & no const"<<endl; return str1.size() == str2.size();}bool ...
2020-03-26 12:06:45 968
转载 C/C++内存分配机制(非原创)
原文链接:https://blog.csdn.net/jirryzhang/article/details/79518408C语言在内存中一共分为如下几个区域,分别是:1. 内存栈区: 存放局部变量名;2. 内存堆区: 存放new或者malloc出来的对象;3. 常数区: 存放局部变量或者全局变量的值;4. 静态区: 用于存放全局变量或者静态变量;5. 代码区:二进制代码。知道如...
2020-03-05 15:33:15 397
原创 android客户端控制树莓派GPIO点亮LED灯
首先需要android客户端与树莓派进行连接,树莓派与android客户端利用wifi连接并进行socket通信请参考我的另一片文章:https://mp.csdn.net/postedit/79911322 。树莓派与Android客户端连接成功后就可以开始让android客户端给树莓派发送指令控制树莓派GPIO口的电平输出 首先需要搞清楚树莓派的GPIO引脚,这里我用的树莓派3B,其...
2018-04-16 17:50:50 6038 10
原创 树莓派与Android客户端进行socket通信
首先,需要对树莓派进行配置,使其成为AP热点,这里我用的树莓派3B自带wifi蓝牙模块,树莓派3B作AP热点的方法具体参考https://blog.csdn.net/u014271612/article/details/53766627这篇文章,但配置过程中会遇到一些小问题,比如在输入git clone https://github.com/oblique/create_ap 这条命令时...
2018-04-12 12:56:16 15169 19
原创 Windows10下安装Ubuntu双系统
Windows10 下安装ubuntu16.04linux双系统前些天尝试在Windows10下安装Ubuntu的linux双系统,上网百度了一些资料,尝试了N多遍,最后终于成功在windows上安装了Ubuntu16.04双系统。选中Windows图标,单击右键,选择磁盘管理可以看到我这里有2块硬盘接下来我要分配100G的空间用来安装linux系统,步骤如下:
2018-01-28 15:10:31 595 1
原创 android顶部回退按钮的实现
最近看来好多关于android顶部导航栏回退的实现如下图效果点击返回上级页面,网上的大部分都实现特别繁琐,其实安卓自带BUFF,在Manifest清单文件中一句代码就能搞定,特别easy,下面贴方法 <activity android:name=".SearchActivity" android:parentActivityName=".MainActi
2017-04-09 22:00:43 8809 2
原创 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转化为字符串
2017-01-24 11:19:04 417
原创 十六进制转八进制
C++实现#include#includeusing namespace std;int main(){ int n; cin>>n; string hex[n]; string bin[n]; for(int i=0;i<n;i++) cin>>hex[i]; for(int j=0;j<n;j++) for(int i=0;i<hex[j].length();i++
2017-01-23 16:27:36 387
原创 1040. 有几个PAT(25)
思路:每一个A能组合成PAT的个数等于这个A前面的P的个数乘以这个A后面的T的个数下面贴代码:注释都写上来了,大家可以参考参考。#includeusing namespace std;int main(){ char ch[100000]; long sum=0,p=0,t=0; scanf("%s",ch); for(int i=0;ch[i]!='\0';i++){
2016-10-28 12:51:41 297
原创 PAT1039. 到底买不买(20)
其实这个题挺简单的,代码如下:#includeusing namespace std;int main(){ int num1[123]={0},num2[123]={0}; //'z'的ASCII码:122 char str1[10001],str2[1001]; bool flag=true; int count1=0,count2=0; //count1:差的数目,cou
2016-10-26 12:29:50 284
原创 linux中的文件移动
Linux不同于Windows,在Windows操作系统中我们只需要傻瓜式的将文件用鼠标拖到目标文件夹即可,但是在Linux中移动文件却不是那么的简单。以Ubuntu16.04为例说一下Linux中的文件的移动。1、在Linux中进入文件所在的文件夹目录下,然后在当前目录下任意空白处单击鼠标右键,选择在命令行中打开(我要将sogou.deb文件移动到/usr/local/目录下)2
2016-10-10 22:25:42 9294 2
原创 ubuntu16.04开机循环输入密码无法进入桌面的解决办法
前些天碰到一个头疼的问题,启动我的ubuntu之后,输入密码闪屏一下,又需要输入密码!!!于是再输还要再输!!!!!经过百度一翻后终于找到原因和解决办法。原来是我之前在profile文件里配置了一次java环境变量造成的这是我之前的配置:export JAVA_HOME=/usr/jdk1.8.0_101export PATH=$JAVA_HOME/bin:$JAVA_HOME/jr
2016-09-24 11:02:12 57592 19
原创 linux中新建文件夹
Ubuntu16.04系统下的文件夹新建先进入目标文件夹下再单击鼠标右键选择打开终端再获取最高权限,在终端中输入sudo su回车再就可以新建文件夹了,在终端输入mkdir 文件夹名注意:上面的mkdir和文件夹名之间有一个空格!!!
2016-09-24 10:54:54 4298
原创 用Bmob实现用户数据添加和查询显示
我用的例子利用Bmob云服务器实现了让用户上传待出售商品信息,以及能浏览在售商品信息的小功能。刚接触Bmob感觉它确实好用,但我不得不吐槽那个案例更新的太慢了,新版本的SDK跟老版本还是有很大差别的,建议更新SDK的同时也更新一下案例。再就是文档写的不怎么详细。好了,废话不多说,先看一下我的效果图:其中,主要问题就是用户数据上传和数据的下载显示在屏幕上。注意啦:在这里我用的是Bmo
2016-09-17 15:29:27 18862 8
原创 基于XMPP和openfire(服务器)实现即时通讯中的用户登录功能
基于XMPP和openfire(服务器)实现即时通讯中的用户登录功能初学Android 现在想利用openfire作为服务器,基于XMPP协议写一个即时聊天的android应用,现在整理一下实现即时通讯中的用户登录功能,有不当之处,敬请指出,共同学习进步。** XMPP实现简单登录功能(利用openfire作为服务器) **用户登录可能会出现登录不上,出现异常的情况,所以登录这一部分就需要
2016-08-31 23:02:38 726
原创 Huffman编码与译码
近期学习数据结构碰到Huffman编码与译码问题,自己动手写了一些,注释比较全,OK,下面直接贴代码。#include#include#define TElemType char#define WType int#define leafNumber 5 //默认权重集合大小#define totalNumber 9 //树节点个数=2*leafNumber-1us
2016-01-10 10:39:24 1142
PAT1010有一个测试点未通过
2016-10-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人