- 博客(74)
- 资源 (22)
- 问答 (1)
- 收藏
- 关注
原创 杂项技能--小而重的积累
有的时候需要进行一些文本操作,这里记录一下:我们需要除去空行,那些空行里面可能包括空格,制表符等不可见字符,可以使用如下命令:1.grep -v ‘^\s*$’ 1.txt2.sed ‘/^\s*$/d’ 1.txt3.awk NF 1.txt那么如果我想把代码里所有的注释都删掉呢?就是那些以//开头的行,可能他们前面还有空格,制表符什么的。还有麻烦一点的,多行注释,像被/* ...
2019-06-20 23:54:56 1928 1
原创 记一次android studio的报错
使用的android的版本是:安装后设置下载路径,自动下载了sdk,然后在sdk manager中安装ndk,cmake等工具。创建项目的时候没有问题,但是在第二次构建的时候就有各种问个问题,按照网上操作了很多,但是依旧会报错,右边的错误会随着操作变化,左边的不会。解决办法:找到sdk中的ndk,看看有几个版本,试试删除最新的版本,可能是android studio自动获取最新版本导致sdk不兼容最新ndk。我删除红框中的文件夹后,再创建项目,编译就没问题了。...
2022-05-16 14:38:03 279
原创 android studio设置国内源
首先我是尝试在sdk manager中设置,但是这并没有用。于是找了在host中设置的方法,如果不想改手动改系统文件的话,安装个hostman来管理也不错。1 打开多个地点Ping服务器,网站测速 - 站长工具http://ping.chinaz.com输入 分别ping检测 dl.google.com dl.l.google.com dl-ssl.google.com 三个地址2.选一个IP地址绑定到hostxxx.xxx.xxx dl.google.comxxx...
2022-05-10 18:02:40 2039
原创 在hyper-v虚拟机上挂载windows主机文件夹
首先设置文件夹目录权限,然后安装 sudo yum install cifs-utils再挂载sudomount -t cifs -o username=WinUsr,password=WinPwd,rw,uid=1000,gid=1000 //WinIP/WinPath /mnt/LinuxPath
2022-04-21 17:48:28 2486
原创 编译webrtc
国内编译webrtc是真的不容易,找了几个国内的镜像,说是可以编译下载webrtc,但是试了下其实不行,都有各种问题,还是需要能够访问外网的机器才行.我编译webtrc的机器是x86-64 ubuntu20.04.1.下载代码mkdir webrtc_checkoutgit clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitexport PATH=$PWD/depot_tools:$PATHcd web
2022-03-31 12:53:34 2148
原创 p2p打洞之nat分类
最近学习了一些p2p的知识,这里做一些笔记。p2p首先要区分网络类型,不同的网络类型有不同的打洞的方式。1、完全锥形所谓的完全锥形其实表达得很形象,就是内网机器在局域网内打了一个洞,然后通过这个洞与外网通信。内网机器将数据发到网关时,路由器自动替换掉数据包中的源ip和源端口。并且将这个替换记录下来,记录在 一个表格中。对外端口 源ip 源端口 8080 xxxx.xxxx.xxxx.xxxx xxxx 这样,在外网发送数据到外网ip的对外端口时,就能够根据之前转发
2022-03-30 23:18:45 3342
原创 加密的流程
优化算法模仿现在的wordPress算法进行多重MD5加签,同时添加混淆及倒转等各种附加算法,最后采用变异的base64算法进行加密,输出密文。基本流程图如下:从系统响应及并发数来看,单机并发可以支撑到1000左右,再往上,cpu占用就已经比较大,难以应付业务开销...
2021-10-28 10:35:16 476
原创 编译前置库及工具安装
yum install net-tools git vim gcc glibc-static gcc-c++ libstdc++-staticbzip2 unzip cmake openssl openssl-devel ncurses-devel mlocate autoconf libtool
2021-10-26 12:42:35 150
原创 shell eval命令
使用方法:eval [参数]简单的讲就是可以把参数当做shell命令来执行,而且还可以自动的将变量进行替换。例如:执行一行命令:
2021-10-11 21:50:03 170
原创 提交github记录
github删除仓库:选中setting拉到最下:Delete this repository创建仓库:点击new填入名称,点击Create repository上传代码:复制链接:git clone git@github.com:yanzlong/test-manager-platform.git在git bash中输入...
2021-10-11 21:49:23 97
原创 GDB调试异常
在vscode中使用gdb调试的时候出现了异常,单步调试出现卡顿,出现变量的地方一直在转圈圈。及时是执行int a=0;这样的语句也要等很久,几分钟到十几分钟,而且cpu使用率很高。 解决方法:卸载gdb,重新安装,暂且不知道是不是和gdb版本有关系。...
2021-09-28 15:12:07 842
原创 samba服务器配置
# See smb.conf.example for a more detailed config file or# read the smb.conf manpage.# Run 'testparm' to verify the config is correct after# you modified it.[global] workgroup = WORKGROUP log file = /var/log/samba/log.%m ;hosts...
2021-07-27 18:34:30 104
原创 centos7使用管理工具升级GUN
sudo yum install centos-release-sclsudo yum install devtoolset-7scl enable devtoolset-7 bash
2021-07-14 10:59:46 267
原创 secureCRT连接报错
在多次尝试密码的时候会出现这样的问题:第一次写了密码,密码不对,需要改用户名直接在这里改即使是密码正确了也会报错:连接错误,不允许修改用户名或者服务名。The server has disconnected with an error. Server message reads:A protocol error occurred. Change of username or service not allowed: (test,ssh-connection) ->.
2021-03-11 11:23:09 1332
原创 c++ 定时任务获取休眠时间(每日凌晨)
unsigned int MessageStatistic::GetSleepTime(){ unsigned int ret=60*60*24; time_t t = time(NULL); struct tm * tm= localtime(&t); tm->tm_hour = 0; tm->tm_min = 0; tm->tm_sec = 0; ret+= mktime(tm); time_t timesta.
2021-03-05 11:30:53 830
原创 docker技术分享
1.镜像介绍docker可以看成是一个文件系统,他提供了除内核外的完整的运行时的环境。也就是说在这个文件系统里,可以包含部署的应用程序。这样做的好处是提高了工程的迁移性,提高同时也保证了对线上环境更好的控制,而且比起虚拟机技术,docker可以获得更好的性能,但是他的隔离性要稍微差一些。有关概念:镜像,容器,仓库。镜像docker的镜像时分层存储的,在构建镜像时,每一条指令都会使docker多加一层,而且构建时添加的不能真正的删除。因此在构建镜像的时候,需要认真的考虑每一层是什么,不要无脑的add
2021-01-03 18:06:49 246
原创 C++编译记录
1.编译rapjson时一直报错:-Werror=implicit-fallthrough=,我一开始把CmakeList.txt中所有的-Werror删除掉,但是在重新cmake后依然还是报错。于是在网上查找,最终发现方法:在所有的 -Werror 后面添加 -Wno-implicit-fallthrough,这表示忽略隐式转换的错误。还有如果有的工程有config文件的话,可以在配置的时候关闭警告变错误:./configure --disable-werror ...
2020-12-04 20:59:53 364
原创 python 列表骚操作
1.按某值将列表分开:class T: def __init__(self,m=0): self.m = mts是一个class T对象的数组s = [t for t in ts if t.m == 0]m = [t for t in ts if t.m != 0]2.分片:有个list,把他切分为batch_size个listdef split_list(list, batch_size): step_size = (len(list) .
2020-11-02 17:32:14 167
原创 安装elaticsearch 以及elaticsearch-sql
1.安装elaticsearch下载elaticsearch,我这里用的5.1.2的版本:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-1-2创建一个ela用户,配置好data目录和logs目录,一般解压至opt文件夹下直接解压即可,修改配置文件。# ======================== Elasticsearch Configuration ========================
2020-09-19 13:37:37 201
原创 golang连接zookeeper
用C++连接zookeeper需要安装很多的库,golang却简单得多。1.下载 go-zookeeper 文件进入工程目录git clonehttps://github.com/samuel/go-zookeeper.git 2.将go-zookeeper添加金gopathpackage mainimport ( "fmt" "go-zookeeper/zk" "time")var ( path = "/zk/path")func get(conn *zk.
2020-07-23 11:45:11 977
原创 Clion上搭建基于grpc的service与client实例
1.新建protobuf文件syntax = "proto3";message SearchRequest{ string Request = 1;}message SearchResponse{ string Response = 2;}service SearchService { rpc Search (SearchRequest) returns (SearchResponse);}2.编译protobuf和grpc手脚架文件protoc --cpp_o
2020-07-17 20:49:17 1441
原创 go语言中的继承与多态
继承与多态继承多态继承type Person struct { name string age int}type Student struct { Person id int score int}多态package mainimport "fmt"type Human interface { speak(language string)}type Chinese struct {}type American struct {}fun
2020-06-05 11:10:15 510
原创 go语言教程--map的应用
寻找不含有重复字符的子串对于每一个字母x,如果lastOccurred[x]不存在,或者小于start,则无需操作;如果lastOccured[x]>=start,需要更新stat为lastOccured[x]后一个位置。最后更新lastOccured[x],更新maxLength。实现lastOccured := make(map[byte]int)start :=0maxL...
2020-04-30 08:16:28 220
原创 go语言教程--map
map的创建m := map[string]sttring{"key":"value"}m2 := make(map[string]int) //m2 是 empty mapvar m3 map[string]int //m3 值为 nilmap的遍历for k,v := range m{}需要注意的是每次遍历的顺序可能是不一样的,如果要排序需要手动对key排序。–将key加到一...
2020-04-28 08:06:02 198
原创 go语言教程--slice
什么是切片Slice是数组的一个review,他的实现大致如下,ptr指向了切片的第一个位置,len表示切片的长度,cap表示从切片的开头到数组的结尾的长度。slice := array[2:6]slice包含了array下标为2的元素到下标为5的元素,是一个前闭后开的区间。slice可以拓展到5之后的元素,但是不能拓展到2之前的元素。也就是可以向后拓展但是不能像前拓展。![在这里插入图片描...
2020-04-27 08:30:44 183
原创 go语言教程--数组
1创建一个数组: var arr1 [5]int; arr2 := [3]int{1,2,4} arr3 :=[...]int{2,4,6} 四行五列:var grid [4][5]int2.遍历数组: for i:=0;i<len(arr3);i++{ } //使用range for i,v ran...
2020-04-26 08:42:41 481
原创 centos系统文件挂载不上
在给centos安装桌面后发现文件系统无法挂载上去,开机的时候会在bios中进行磁盘自检,进入系统后会报错:Only fileSyetem,说文件系统为只读。查看开机挂载的文件系统:/etc/fstab执行以下语句,重新挂载文件系统,之后不再报文件系统只读错误,mount -o remount,rw /再执行mount -a,将fstab中的文件系统重新挂载一遍即可。...
2020-01-10 20:00:15 2112
原创 Clion远程调试cmake项目
1.导入cmake项目:2.设置使用shell登录远程机器(不用root也可以):3.设置远程cmake,gdb如果这里ssh无法登录,确保配置正确。如果无故报“cannot establish connection”,进入第二步,点击Test connection,连接成功即可以ssh远程登录。4.设置cmake的启动参数5.添加remote debug...
2019-12-15 10:52:03 2602
原创 idea远程调试
1.查看 jetty是否开启远程调试功能:cd $JETTY_HOMcatstart.ini如果有下面这段,则已经开启调试功能:-Xdebug-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n可以看到端口是8787。2.配置idea输入ip,端口,选择jdk版本,use module cl...
2019-12-12 15:24:29 261
原创 kibana 安装使用教程
查看所有节点:curl -X GET 'http://ip:port/_cat/indices?v'安装kibana,对版本有严格的要求,只能使用特定的版本,es版本可以查看工程依赖。下面的链接可以查看kibana与es的版本对应关系:https://www.elastic.co/cn/support/matrix#matrix_compatibility去官网下载:https://w...
2019-12-06 09:42:10 424 1
翻译 protocol buffers 基本要素:基于c++
为什么使用protocol buffers? 我们将使用一个非常简单的例子,做一个地址簿的应用。在这个地址簿中,我们可以读写联系人的信息,有名字,ID,还有电话号码。 那么我们如何序列化和反序列化一个这样的数据结构呢?下面列举了几种方式: 首先说的方法就是直接传递结构体的二进制序列,但是这是一种不好的方法,因为发送端和接受端都要相同的存储配置,字节序等。同时,由...
2019-11-24 00:41:21 241
原创 poll&epll 模型
POLL网络编程模型PIPE信号的产生与处理,如何减少time_wait。1.首先是创建socket,设置ip端口。(socket_nonbock,socket_closexec)每个socket都有自己的输入缓冲区和输出缓冲区。2.再是设置端口复用,绑定端口,监听端口。3.定义poll event结构和events数组,将监听的事件的描述符加到poll event中,并且监听po...
2019-11-14 22:51:58 353
原创 左值引用与右值引用
引用的本质是一个阉割的指针,它是一个对象的别名,通过操作符&来实现,c++11又提出了一个左值引用与右值引用的概念。这里提一下变量的两个属性:左值和右值,左值是变量的地址,右值是变量存储的内容,变量的本质即存储空间的名称,编译后为对应的地址。左值引用: 一个C++引用声明后必须被初始化,否则会编译不过,初始化之后就相当于一个变量。由于拥有共同地址,而且...
2019-10-24 20:18:57 278 1
windows 运行gclient下载webrtc所需的Windows .NET Framework 4.组件
2022-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人