自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (4)
  • 收藏
  • 关注

转载 vagrant 搭建 laravel 环境

本文章记录一下我在使用vagrant搭建laravel环境路程。1.1 安装前的准备首先需要vagrant,virtualbox,git 还有就是laravel提供的homesteadvagrant,virtualbox下载好说, homestead我们可以不下载,在之后通过add url的方式来添加,但是由于需要翻墙,网速较慢,所以此处我们先利用迅雷将homestead下载下来(...

2018-07-19 21:30:19 1690

原创 golang xss 攻击预防

避免XSS攻击 通过使用html的EscapeString 和 UnescapeString 函数实现。package mainimport ( "fmt" "html")func main() { str1 := "<script>alert(2)</script>" str2 := html.EscapeString(s...

2018-06-04 12:25:47 3993

原创 go get 兼容公司的gitlab

当拉取公司的gitlab时。通过在username目录下的.gitconfig文件中添加[url "[email protected]:"] insteadOf = https://git.example.com实现拉取公司内部的gitlab的代码。。。。...

2018-05-31 16:55:29 2303

原创 nsq 源码阅读(三) nsqlookupd tcp handler 处理函数

3. nsqlookupd 源码阅读(2) tcp handler 处理函数每个nsqd 生产者的状态发生变化时,都会通知nsqlookup将自己从nsqlookup的DB中删除。func (p *tcpServer) Handle(clientConn net.Conn) { p.ctx.nsqlookupd.logf(LOG_INFO, "TCP: new client...

2018-05-10 18:18:14 503

原创 nsq源码阅读(二)nsqlookupd - 2 RegistrationDB存储

2. nsqlookupd 源码阅读(2) RegistrationDB存储nsqlookupd 使用 RegistrationDB 来存储生产者的信息 需要注意的函数 (1) 该函数给你 category key subkey 让你查找符合条件的 Registrations。func (r *RegistrationDB) FindRegistrations(categor...

2018-05-10 14:10:26 356

原创 nsq源码阅读(二)nsqlookup-1

nsqlookupd 源码阅读(1)daemon的启动过程 1. Init 2. startfunc (p *program) Start() error { opts := nsqlookupd.NewOptions() flagSet := nsqlookupdFlagSet(opts) ....... ....... daemon := n...

2018-05-10 11:51:37 467

原创 nsq源码阅读(一)目录 结构

源码的目录结构 apps目录下生成相对应的exe文件,其他目录是一些相对应的工具文件。

2018-05-10 10:36:46 664

转载 yum 安装supervisor

安装yum install epel-releaseyum install -y supervisor默认配置文件:/etc/supervisord.conf 进程管理配置文件放到:/etc/supervisord.d/目录下即可进程配置文件如下实例:[program:test-server]process_name=%(program_name)scommand = ...

2018-05-04 18:50:01 16852 1

转载 桥接模式下linux虚拟机ping不通本地主机

1 入站规则打开文件和打印机共享(回显请求 - ICMPv4-In) 启用2 开启主机文件和打印机共享

2018-05-04 12:23:44 2172

原创 nsq 的AddConcurrentHandlers函数注意事项

AddConcurrentHandlers在使用这个函数的时候,可以指定n个线程来处理这个消息。在handler函数内,如果不手动调用msg.FInsh函数,表现的结果是: 即使指定了多个协程来处理消息,若某一个hander堵塞了,其他的协程无法获取到消息。所以在使用这个handler函数时,最好的使用方式是:进入handler函数后,就通知msg.finsh。这样handler的错...

2018-04-28 17:36:53 739 1

原创 echo 框架的日志模块

记录一下echo框架的日志使用1 e.Use(mw.Logger())中间件使用logger。每次http请求,会打印日志,该次请求的相关信息。这个中间件的日志模块同https://github.com/labstack/gommon/log 是类似的但是不是直接使用的。2 e.Logger由上图可知,echo自身的logger就是new的https://git...

2018-04-26 18:00:24 2015

原创 grpc 示例

1go get -u github.com/golang/protobuf/protogo get -u github.com/golang/protobuf/protoc-gen-go2 下载https://github.com/google/protobuf/releases 将bin目录添加到path目录下。3 编写proto文件rpctest.proto...

2018-04-24 21:33:36 1051

转载 nsq

做一下保存,copy过来转载自:地址按照[官网(http://nsq.io/overview/quick_start.html)执行的时候nsqd --lookupd-tcp-address=127.0.0.1:4160要指定 broadcast-address 是localhost,否则的话会是你默认的主机名,比如(admin),最后导致连接不上nsqd --lookup...

2018-04-22 12:07:39 399

转载 windows 下搭建zip mysql

新建conf文件,存放到bin目录下,添加[mysqld] basedir=C:\Program Files\MySQL\MySQL Server 5.6(mysql所在目录) datadir=C:\Program Files\MySQL\MySQL Server 5.6\data (mysql所在目录\data)2. 将bin目录添加到path环境下。3.系统管...

2018-04-17 17:31:57 147

原创 软链接硬链接

硬链接 ln /tmp/test.txt /tmp/test软链接 ln -s /temp/test.txt /tmp/tes硬链接:在当前目录下的inode中添加一个文件名,并将其指向的inode指向为/tmp/test.txt的inode。这样这两个文件使用同一个inode,如果源文件删除了。/tmp/test并不受影响,因为源文件对应的inode和block并没有删除。软链...

2018-04-06 16:55:47 232

转载 vi 命令

vi6.1 vi的三种模式一般模式:执行删除字符,删除整行,复制粘贴。编辑模式:通过a,i,o 进入编辑模式,esc退出。指令模式:输入:,/,?进入指令模式,进行文件的保存,搜素,替换,退出等操作。一般模式下可用的快捷键 按键 作用 备注 h 左移一个字符 nh 左移n个字符 j 下移一个字符 同上 k 上...

2018-03-29 17:53:49 193

转载 Linux 自动挂载u盘

手动挂载的流程sudo fdisk -l mkdir /mnt/usbmount -t vfat /dev/sd*1 /mnt/usbumount /mnt/usbrm -rf /mnt/usb自动挂载的步骤1. 在/etc/udev/rules目录下新建11-add-usb.rules和11-add-remove.rules,负责设备监测。 root@am3...

2018-03-28 15:53:34 2110 1

原创 go int size

由于之前学过c/c++,所以一直认为go的int是4个字节。 最近在go中文社区上看别人的问题时,忽然感觉他描述的int好像是8个字节,测试发现:func cpu() { fmt.Println(runtime.GOARCH) fmt.Println(strconv.IntSize)}当前机器是64位的,所以int也是64位即8个字节。。。。 学了这么久的g...

2018-03-19 14:38:48 771

转载 go hashmap的实现

本文转自:skoo’s note 参考 golang map源码详解hashmap 通过一个 bucket 数组实现,所有元素将被 hash 到数组中的 bucket 中,bucket 填满后,将通过一个 overflow 指针来扩展一个 bucket 出来形成链表,也就是解决冲突问题。这也就是一个基本的 hash 表结构,没什么新奇的东西,下面总结一些细节吧。注意一个 bucket ...

2018-03-18 16:40:09 2054

原创 golang 的slice 问题

关于go的slice 底层,这里不多做介绍,就是一个struct和一个数组构成。 通过以下几个例子说明,go对slice的处理方式。(1)func main() { var t = make([]int, 0, 10) var s = make([]int, 0, 10) fmt.Printf("addr:%p \t\tlen:%v content:%v\n", ...

2018-03-18 11:32:39 557 1

原创 Mysql性能调优

Mysql性能调优mysql 性能调优有很多方面,主要是这几个方面 数据库表的设计合理性,主要是满足三范式。 使用适当的索引 分表技术 读写分离 存储过程 mysql 的配置文件的youhua 定时处理垃圾数据 1. 三范式1 范式 是指表的列具有原子性,不可再拆分,只要数据库是线性的,都自动满足1NF。2 范式 表中的纪录是唯一的。...

2018-03-16 17:57:54 217

原创 Mongodb入门学习(3)聚合框架

mongodb学习笔记 (四)聚合框架简单的例子db.live_online_data.aggregate({"$match":{"startTime":{"$gte":1520179200000},"endTime":{"$lte":1520265600000}}},{"$project":{"userOnline":1,"_id":

2018-03-16 17:22:20 163

转载 postman

怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件 解决“只能通过Chrome网上应用商店安装该程序”的方法

2018-03-13 11:30:04 220

转载 docker 部署golang web

http://blog.csdn.net/horsefoot/article/details/51654785http://blog.csdn.net/razilfelix/article/details/70247766使用阿里云的docker镜像加速:https://www.cnblogs.com/atuotuo/p/6264800.html1. 编写Dockerfile举例:...

2018-02-28 15:26:08 324

原创 mysqldump 定时备份数据库

使用mysqldump定时备份数据库mysqldump备份数据库数据的语句如下: (1)备份整个数据库 mysqldump -uroot -p dbname> filepath (2) 导出数据库内的某几个表 mysqldump -uroot -p dbname tablename1 tablename2 > filepath (3) 导出某个表的表结构...

2018-02-28 11:23:09 1665

原创 nohup

start.sh#!/bin/bashnohup ./exe &ps -ef kill -9 num

2018-02-27 18:45:26 323

原创 Golang GVT

gvt 是golang众多包管理中的一员,因为我最早用的是gvt,所以其他的工具一直也没用过。并且gvt可以将依赖包的依赖包的依赖包….都下载下来,统一了团队协作环境不一致的问题。使用方法: 1. 下载并配置 go get github.com:FiloSottile/gvt 将在gopath/bin目录放到path下,此时在cmd下执行gvt可以看到如下输出 ...

2018-01-31 16:40:35 1435

原创 Go语言经典笔试题分析

点击查看go语言经典笔试题1 subslice引用

2018-01-31 11:17:53 3118

原创 Golang 注册服务路径的问题

Golang 注册服务路径的问题在使用 "github.com/kardianos/service"将go程序注册成window服务的时候,对于这时候的程序的工作路径,如果我们不去获取,默认当前的路径就是程序所在的路径,就会变成发现service程序所在的 C:\Windows\System32目录下,但是如果我们进行了获取,比如 osPath, _ := e

2018-01-30 20:48:04 2212

转载 golang context

https://studygolang.com/articles/10155?fr=sidebar在go服务器中,对于每个请求的request都是在单独的goroutine中进行的,处理一个request也可能设计多个goroutine之间的交互, 使用context可以使开发者方便的在这些goroutine里传递request相关的数据、取消goroutine的signal或截止日期。

2018-01-29 11:10:23 197

原创 Golang json序列化字符串时多了\的问题

golang json序列化得到的数据有\的问题我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"`}该API接口

2018-01-26 18:28:15 17846 2

转载 Golang 反射

转自:http://www.jb51.net/article/90021.htmvar x float32 = 2.1 v := reflect.ValueOf(x) fmt.Println(v) fmt.Println(v.Float()) fmt.Println(v.Type()) fmt.Println(v.Kind()) // kin

2018-01-26 11:35:15 212

原创 Golang LRU map使用

LRU:(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。在k8s.io/apimachinery/pkg/util/cache这个代码库中,实现了LRUExpireCache数据结构,他的功能类似于LRU但不完全是。LRUExpireCache可以设定数据结构的大小,当输出超过指

2018-01-24 12:02:43 1429

原创 Golang 使用pprof分析goweb的性能问题

go的pprof可以用来对服务的性能进行检测,其中net/http/pprof包用来检测web服务器的相关的性能的分析,包括goroutine的数量,heap的大小问题。简单使用package mainimport ( "fmt" "log" "net/http" _ "net/http/pprof" "time")func mai...

2018-01-23 21:06:04 6502

原创 MongoDB 常见的登录错误总结

1Mon Jan 22 19:10:41.502 JavaScript execution failed: Error: couldn't connect toserver 127.0.0.1:27017 at src/mongo/shell/mongo.js:L112exception: connect failed对于上述错误,关闭服务,将mongodb的data目录下的mongo

2018-01-22 19:19:01 1312

原创 Golang 加解密

golang 加密与加解密本文介绍几个go实现的常见的加密与加解密算法。1.加密1.1 MD5package md5import ( "crypto/md5" "fmt" "io")func Md5() { h := md5.New() io.WriteString(h, "Hello World!") fmt.Pr

2018-01-17 16:50:16 932 1

转载 Mysql入门学习(5) 之go操作mysql

转自:谢大佬package mainimport ( "database/sql" "fmt" //"time" _ "github.com/go-sql-driver/mysql")func main() { db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8")

2018-01-16 16:06:49 258

原创 golang http长连接

http的长连接golang 的net/http库默认支持长连接。 通过ListenAndServe源码可以看到。for { rw, e := l.Accept() ... go c.serve(ctx) }每一个tcp连接,go都会对应一个协程对其服务,再server内,源码显示 for { w,

2018-01-16 11:53:11 6452

原创 Golang 方法的结构指针接收者和结构值接收者

值接收者和方法接收者

2017-12-26 10:36:49 5827 1

原创 Git与GitHub

git,GitHub

2017-12-24 15:30:13 182

DOS批处理命令手册

DOS批处理命令手册,收集了window下批处理的完整命令,以及实现了一些小的例子..................................

2017-09-08

TCP-IP详解.卷3

TCP-IP详解.卷3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333

2017-09-08

TCP-IP详解卷2:实现.pdf

TCP-IP详解卷2:实现.pdf完整电子版,.................................................................................

2017-09-08

空空如也

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

TA关注的人

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