自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Simon的博客

专注于互联网后台架构开发

  • 博客(245)
  • 收藏
  • 关注

原创 vim 精确匹配查找单词

1、从头搜索:/hello2、从尾搜索:?hello3、精确搜搜:"<“表示匹配单词开头,”>“表示匹配单词末尾,匹配完整单词”?<hello>“或者”/<hello>"如输入"/hel"、"/<hel"、"/llo>",可能搜索到hello...

2018-11-06 20:36:18 12847 1

原创 etcd键值操作

etcd 删除键值1、查询所有键值curl http://10.0.2.255:9001/v2/keys/services/?recursive=true2、删除键值curl http://10.0.22.39:9001/v2/keys/key?recursive=true -XDELETE如查询到的key是:/services/clock/0/10611/255:10611cur...

2018-10-25 20:42:14 3887

原创 揭开golang中defer的坑

揭开golang中defer的坑defer执行顺序,后进先出,是个栈函数在执行最后的RET返回指令前,会先检查是否存在defer语句,如果有从栈中依次取出匿名返回值在return执行时被声明然后给他赋值,所以并不会返回在defer中修改后的值,有名返回值在函数声明时即被声明,在defer中修改即是修改返回值return内部有两个步骤,一是给返回值赋值(有名返回值直接赋值,匿名返回值则先...

2018-09-12 21:25:43 1371

原创 golang通过代理访问url

直接上实例package mainimport ( "fmt" "io/ioutil" "net/http" "net/url" "net" "time")func main() { proxyAddr := &quo

2018-09-10 21:15:17 9804

原创 protoc-gen-go生成的pb协议tag去掉omitempty

有很多种方法,公司级的最好还是修改源码https://github.com/golang/protobuf/blob/master/protoc-gen-go/generator/generator.go#L2500tag := fmt.Sprintf(“protobuf:%s json:%q”, g.goTag(message, field, wiretype), jsonName+...

2018-08-10 11:47:27 5857

原创 mongodb按照字段模糊查询方法

数据库直接查询db.student.find({name:{$regex:'jack', $options:'i'}})db.student.find({name:{$regex:/jack.*/i}})db.student.find({name:/jack/i})开源组件使用github.com/globalsign/mgo使用query := bson.M{Name: b...

2018-07-30 15:41:57 18460

原创 分布式调用链追踪zipkin

分布式调用链追踪zipkinzipkin是Twitter的一个开源项目,基于论文Google Dapper(https://ai.google/research/pubs/pub36356)实现,可以用来收集各个服务器上请求链路的跟踪数据,可以通过API接口来查询数据来实现对服务系统的监控,此外zipkin还提供了UI方便直观查询跟踪信息和服务间依赖关系。一、zipkin架构...

2018-07-27 16:26:15 2393

原创 mysql命令导出查询记录到文件

mysql命令导出查询记录到文件命令行参数很重要,先介绍几个-e, –execute=name //执行mysql的sql语句-N, –skip-column-names //不显示列信息-p, –password[=name] //输入密码-P, –port=# //设置端口-u, –user=name //用户名由于大多都是在Linu...

2018-07-18 16:49:19 2012

原创 centos安装zipkin

安装JDK1.8.0以上版本[simon@localhost ~]$ mkdir -p data/release/zipkin && cd "$_"[simon@localhost zipkin]$ wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-...

2018-07-17 14:42:37 1278

原创 centos安装logstash

1、下载安装公共签名keyrpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch2、在/etc/yum.repos.d/下新建一个repo文件,如logstash.repo[logstash-6.x]name=Elastic repository for 6.x packagesbaseurl=https://...

2018-07-11 09:48:33 868

转载 centos下安装JDK的4种方法

以下转载于:https://www.linuxidc.com/Linux/2016-09/134941.htm由于各Linux开发厂商的不同,因此不同开发厂商的Linux版本操作细节也不一样,今天就来说一下CentOS下JDK的安装:方法一:手动解压JDK的压缩包,然后设置环境变量1.在/usr/目录下创建java目录[root@localhost ~]# mkdir/usr/ja...

2018-07-11 09:41:42 321

原创 普通用户使用docker的方法

添加用户组,将用户添加到组,重启docker即可[root@localhost ~]# groupadd docker[root@localhost ~]# groupsroot[root@localhost ~]# usermod -a -G docker simon [root@localhost ~]# grep docker /etc/groupdockerroot:x:99...

2018-07-09 15:47:28 4832

原创 docker-compose部署nsq集群

两台机器上分别创建docker-compose.yml 然后执行docker-compose up -dversion: '2'services: nsqlookupd: image: nsqio/nsq command: /nsqlookupd ports: ...

2018-07-06 17:26:14 992

转载 分布式调用跟踪与监控实战

https://yq.aliyun.com/articles/75338?spm=5176.10695662.1996646101.searchclickresult.f81012eaUvEDsX https://blog.csdn.net/wangyangzhizhou/article/details/53844668 https://www.v2ex.com/t/449309 https...

2018-07-06 15:55:49 490

原创 docker-compose、docker-machine安装

[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose [root@localhost bin]# /usr/local/bin/dock...

2018-07-04 20:30:42 470

原创 go-channel空间不够怎么办

一句话总结:channel空间不够存储到其他地方,等有空间再存储尽量package mainimport "fmt"func main() { memoryMsgChan := make(chan int, 4) s := []int{1,2,3,4,5,6,7} for _, msg := range s { select { ...

2018-07-04 10:55:05 1537

原创 docker部署nsq

[root@localhost ~]# docker pull nsqio/nsq[root@localhost ~]# docker run -d --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd2fa8d6d17df28454d57dc52a3c7f207dc6feb1c4c873b473432a10b8ef241...

2018-07-03 20:35:38 1604

原创 golang的proto文件过大导致变成java类文件太大导致编译失败的解决办法

java是单个类文件不能超过65k,如果proto协议文件过大则会导致失败,解决办法是在头部加上option java_multiple_files = true;

2018-07-02 19:45:23 2974

原创 docker--在centos镜像上添加其他镜像

一句话总结:镜像分层,可一层层叠加,关键是Dockerfile的编写Dockerfile:#新生成的镜像是基于sshd:dockerfile镜像From docker.io/centosMAINTAINER simon "[email protected]"RUN cd /usr/local/src //或者使用:WORKDIR /usr/local/srcRUN yum instal...

2018-06-29 09:38:36 1095

原创 golang单元测试和压力测试

1、运行文件夹下所有单元测试 go test 2、运行单个文件 go test -v add_test.go add.go 3、运行单个方法 go test -v -test.run Test_Add1、运行文件夹下所有压力测试 go test -test.bench=”.*” 2、运行单个文件 go test add_bench_test.go add.go -test.b...

2018-06-28 20:32:44 2017 1

转载 从一份配置清单详解Nginx服务器配置

转自于:https://juejin.im/post/5b3174a8e51d45588576f907全局块 该部分配置主要影响Nginx全局,通常包括下面几个部分:配置运行Nginx服务器用户(组) worker process数 Nginx进程PID存放路径 错误日志的存放路径 配置文件的引入events块 该部分配置主要影响Nginx服务器与用户的网络连接,主要...

2018-06-28 19:33:11 390

原创 Linux应用程序添加到service

[simon@www ~]vimmain.go[simon@www ]vimmain.go[simon@www ] vim main.go [simon@www ~] go build main.go [simon@www ~]mvmaintestlinuxservice[simon@www ]mvmaintestlinuxservice[simon@www&...

2018-06-25 22:44:54 1555

原创 docker部署go应用

1、Dockfile用来生成自己的镜像2、编辑文件3个文件:Dockerfile docker.sh main Dockerfile:From docker.io/ubuntu:15.10MAINTAINER Simon "[email protected]"RUN mkdir -p /home/test/RUN cd /home/test/ADD docker.sh /home/...

2018-06-19 01:13:46 2543

原创 CentOS平台下的Docker安装与启动

174 yum search docker 175 yum install -y docker 176 systemctl start docker 177 docker version 178 docker info 179 sudo docker run hello-world

2018-06-17 01:45:10 188

转载 centos安装mysql

转载于:https://blog.csdn.net/wz1226864411/article/details/76146180一般在linux下安装mysql 的步骤如下:安装前看是否安装过mysql,yum list installed mysql*如果有就用yum remove卸载mysql查看yum库下是否有mysql-serveryum list | grep my...

2018-06-17 01:24:29 221

原创 centos安装Nginx

8 yum install net-tools 9 yum install wget 10 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 12 mkdir src 14 cd src/ 15 wget http://downloads...

2018-06-16 19:32:47 208

原创 supervisor

1、安装及启动sudo apt-get install supervisor/etc/init.d/supervisor start2、配置、reload配置sudo vim /etc/supervisor/supervisord.conf sudo supervisorctl reload/etc/init.d/supervisor restartsimon@ubuntu...

2018-06-07 14:31:20 270

原创 git创建、删除本地及远程分支

1、创建本地分支 git checkout -b sit 2、创建远程分支 git push origin sit 3、删除远程分支 git push origin –delete sit 4、删除本地分支 先切换到其他分支 git checkout dev 删除 git branch -d sit2 或者 git branch -D sit2...

2018-05-24 13:05:07 553

原创 git提交文件以及撤销

zhaojunyandeMBP:testgit zhaojunyan$ git clone https://github.com/JunyanZhao/etcdStudy.gitCloning into 'etcdStudy'...warning: You appear to have cloned an empty repository.zhaojunyandeMBP:testgit zh...

2018-05-13 23:08:43 300

原创 Mac、Ubuntu终端开启多标签及切换

1、MAC打开标签 command + T 拆分面板 command + D 关闭拆分 command + shift + D 切换 command + shift + [/]2、Ubuntu打开终端 ctrl + alt + T 打开标签 Ctrl + shift + T 切换标签 alt + 1、2、3;Ctrl + pagedown、pagecup 关闭 ctrl...

2018-05-12 21:34:51 3241

原创 MySQL中tinyint(4)、smallint、bigint(20)等变量

一句话总结:所占位数不同,括号里面代表最大显示的长度 类型 占用字节 tinyint 1 smallint 2 mediumint 3 int 4 bigint 8后边括号里面的数字代表什么意思呢tinyint(M), M默认为4; SMALLINT(M), M默认为6; MEDIUMINT(M), ...

2018-05-05 11:10:23 3663

原创 Ubuntu升级go版本

sudo apt install golang-gosudo apt-get install golang-1.9sudo apt-get remove golang-1.9sudo apt autoremove 先卸载旧版本curl -O https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz $ tar -C...

2018-05-04 13:24:23 10171

原创 mac下git命令自动补全

获取脚本curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash在~/.bash_profile中加上if [ -f ~/.git-completion.bash ]; then . ~/.git-com...

2018-04-22 21:56:07 392

原创 mac下安装mysql

1、下载server和workbench2、安装server2018-04-22T09:29:10.385999Z 1 [Note] A temporary password is generated for root@localhost: 8Jj)>opkXLuN If you lose this password, please consult the section Ho...

2018-04-22 19:17:26 203

原创 ssh-keygen生成git ssh密钥,解决多台电脑clone工程

1、检查是否生成过ssh 密钥cd ~/.ssh/ Windows下使用git bash2、使用ssh-keygen命令生成ssh 密钥使用ssh-keygen命令生成ssh 密钥可以使用以下命令:ssh-keygen -t rsa也可以使用以下命令在生成时添加注释:ssh-keygen -t rsa -C "XXXX"生成ssh 密钥后,可以到~/.ssh目录下查看...

2018-04-21 11:15:59 1665

原创 shell脚本

1、写命令到test.sh中simon@ubuntu:~/Desktop/Link to rpcproto/merchantpay$ echo echo "hello" > test.shsimon@ubuntu:~/Desktop/Link to rpcproto/merchantpay$ cat test.sh echo hellosimon@ubuntu:~/Desktop/...

2018-04-05 17:21:18 184

原创 golang XORM速记

一、初始化 配置 user = userDB pass = 123456 host = 127.0.0.1 port = 3306 database = user_db maxconn = 100 maxidle = 100 showsql = false charset = utf8mb4初始化 ...

2018-04-05 17:08:35 2959

原创 proto文件生成go代码

一句话总结:多个文件在一个包里需一起编译,有依赖其他proto文件需手动改导入路径1、单个文件protoc --go_out=plugins=grpc:. hello.proto2、多个文件protoc --go_out=plugins=grpc:. *.proto3、多个文件且依赖其他proto文件protoc --go_out=plugins=grpc:. ...

2018-04-03 22:11:36 10622 1

原创 interface{}类型通过json.Unmarshal之后的类型

一句话总结:所有JSON数值类型一律解析为float64类型,需手动转换;对于map类型需判断是否为nil再转换为所需类型。interface{}类型在json.Unmarshal时,会自动将JSON转换为对应的数据类型: JSON的boolean 转换为bool JSON的数值 转换为float64 JSON的字符串 转换为string JSON的Array 转换为[]interfa...

2018-04-03 21:11:58 14780

原创 protobuf中的omitempty字段

一句话总结:带有omitempty字段的成员,如果该字段为nil(字符串”“,空数组等),则打包的JSON结果不会有这个字段。我们把proto文件自动生成go代码时会出现omitempty字段,如下type Reply struct { Code uint32 `protobuf:"varint,1,opt,name=cod...

2018-04-03 20:59:47 9383

空空如也

空空如也

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

TA关注的人

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