性能/内存优化 + 工具

net/http/pprof

2019-08-13 16:07:01

阅读数 8

评论数 0

通道 channel

1. 无缓冲的通道,向通道中写入之后,如果没有被读取,则写入线程(协程)被阻塞,直到数据被读取 无缓冲的通道,如果通道没数据,则读取线程被阻塞,直到通道中有数据写入 2.channel底层原理 //https://www.jianshu.com/p/5046bf8593c3 3...

2019-08-13 15:54:06

阅读数 9

评论数 0

go+tcp网络编程

1.字节对齐 64位机器默认是8字节对齐的 int32 长度为4, int 在32位os上是4个字节,64位是8个字节 bool 类型虽然只有一位,但也需要占用1个字节,因为计算机是以字节为单位 64为的机器,一个 int 占8个字节 string 类型占16个字节,内部包含一个指向数据的指针...

2019-08-12 11:28:03

阅读数 12

评论数 0

go + net/rpc + protobuf

1.net/rpc服务端 线程模型每个新链接使用一个协程处理 , 看源码net/rpc/server.go // Accept accepts connections on the listener and serves requests // for each incoming conne...

2019-08-11 12:12:02

阅读数 10

评论数 0

go-micro

https://www.jianshu.com/p/a94ca773342a(还没有完全理解透) 验证而tls下使用http2协议(抓包分析) ------------------------------------------------ 1.启动micro web服务(这个类似micro...

2019-08-11 11:58:23

阅读数 263

评论数 0

IM研究

OpenFire, Tigase, Prosody, Mosquitto, ejabberd fastjson 淘宝的东西 https://github.com/mogutt蘑菇街 java

2019-07-29 22:20:55

阅读数 15

评论数 0

mgo

uri mongodb://admin:123456@127.0.0.1:27017/wechat (有密码) 无密码:127.0.0.1:27017 使用mgodatagen生成测试数据 使用 mgodatagen,1000 万个 document 可以在 1 分多钟生成 ...

2019-07-24 10:40:29

阅读数 12

评论数 0

Go + time包

1.timestamp转string 2. string 转timestamp 3.定时器 a.ticker 如果ticker函数被阻塞的话,后面的ticker还是会等本ticker完成以后,继续执行 ticker := time.NewTicker(time.Second * 5) ...

2019-07-12 16:46:43

阅读数 25

评论数 0

文件压缩/解压命令

文件解压缩 tar -xvzf xxx.tar.gz x 解压 v 解压过程中创建的文件在控制台显示 z gzip创建的压缩文件,要解压 f 创建文件,后面紧跟文件名 打包 tar -czvf mydir.tar mydir ...

2019-07-12 10:08:56

阅读数 8

评论数 0

go结构体总结(高级进阶)

1.结构体和Json type CurrUser struct{ Name string `json:"name,omitempty"` //如果为空值,则转json的时候,该字段不生成,从没有该字段的json字符串转结构体的时候,不报错,为默认值 ...

2019-07-11 18:50:27

阅读数 33

评论数 0

pymongo

1. 多条件组合group,match要作为第一个参数才能赛选 db.comment.aggregate([{$match:{"time.create":{$gt:1562515200000}}},{ $group: { _id: {user :"$user&qu...

2019-07-10 14:49:11

阅读数 32

评论数 0

VSCode

1.代码回跳快捷键 在mac下可能和其他的快捷键冲突,自己可以在keyboard shortcuts中设置下 GoBack ,设置后回车确定 2.golang字符串调试的时候显示不完整 先升级 delve,确保使用 v1.2 版本 Ctrl+Shift+P --> Go:...

2019-07-03 11:19:57

阅读数 26

评论数 0

cassandra

1.

2019-07-01 16:07:09

阅读数 118

评论数 0

go 依赖管理

1.go vendor 创建项目之后,在项目根目录下 govendor init,自动生成vendor文件夹(存放你项目需要的依赖包)和vendor.json文件 然后编写代码,再将依赖使用go get下载到src目录下 在本项目的根目录下执行govendor add +external ...

2019-06-28 14:53:30

阅读数 26

评论数 0

mac开发环境/工具安装

sudo spctl --master-disable Beyond Compare过了试用期 删除/User/用户名/Library/Application Support/Beyond Compare/ 文件夹下所有文件

2019-05-31 19:05:08

阅读数 98

评论数 0

pyramid/virtualenv

1.使用eclipse搭建调试环境(使用pserve替代pserve-script.py) https://blog.csdn.net/liquanfeng326/article/details/10747019/ 2.virtualenv 在virtualenv下也有一个python程序 ...

2019-05-29 11:37:52

阅读数 50

评论数 0

protobuffer(python中使用)

1.安装 https://blog.csdn.net/wenwenxiong/article/details/53644845 2.ImportError: cannot import name symbol_database 使用make安装完protobuf后,还要继续安装protobu...

2019-05-27 15:33:04

阅读数 55

评论数 0

go flag

var confFile string func init() { flag.StringVar(&confFile, "c", "./feed_queue.conf", " set feed queue config file...

2019-05-22 16:46:39

阅读数 24

评论数 0

supervisord守护进程的使用

在运行的过程中,不能删除日志文件,否则日志文件无法打印

2019-05-22 16:27:34

阅读数 84

评论数 0

beego

1.URL正则表达式 beego.Router(“/api/?:id”, &controllers.RController{}) 默认匹配 //例如对于URL”/api/123”可以匹配成功,此时变量”:id”值为”123” Ctx.Input.Param(":id&...

2019-05-22 16:25:16

阅读数 74

评论数 0

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