摘要:这些天看了一下 croc 库的实现。这是一个用来传输文件的工具,用处和 sftp, sz/rz 这些东西类似。但是不同之处在于这个工具文件的收发需要依赖于外部的一个 relay server。 sender 先与 relay server 建立连接,生成一个随机的 secret,注册房间信息 roo
阅读全文
摘要:写了好多年的 golang,逐渐形成了自己的一套习惯。项目里包含哪些文件,该放的东西放哪,基本都有了套路。当然这也只是针对我自己而已。 . ├── ... // docker 镜像构建需要忽略的文件 ├── ├── .dockerignore // docker 镜像构建需要忽略的文件 ├── Do
阅读全文
摘要:有个项目年前要做最后一次上线。项目中有用到 aliyun tablestore 的一个模块我做了一次重构。 这个模块的主要功能为从 Kafka 订阅消息,做一个的格式化处理之后存储到 aliyun 的 TableStore。并且提供接口根据查询参数从 aliyun tablestore 查询相关的数
阅读全文
摘要:前些天,给同事 review 一个 MR。MR 本身没什么问题,merge 完之后突发奇想跑了一下 golangci-lint 看看有没有啥问题。看到一个 issue 如下所示: main.go:102:16: SA1017: the channel used with signal.Notify
阅读全文
摘要:用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 "github.com/alfred zhong/wserver" 获取。 背景 最近拿到需求要在网页上展示报警信息。以往报警信息都是通过短信,微信和 App 推送给用户的,现在要让登录用户在网页端也能实时接收到报警推送。 依
阅读全文
摘要:想必 Java 的开发者没有不知道或者没用过 jps 这个命令的,这个命令是用来在主机上查看有哪些 Java 程序在运行的。 我刚用 Go 语言程序的时候也很苦恼,我部署在公司服务器上的 Go 程序,其他的同事由于不清楚就经常找不到。 那么 Go 语言有没有像 jps 这样的工具呢?当然有,不仅有,
阅读全文
摘要:关于 Go 中 Map 类型和 Slice 类型的传递 Map 类型 先看例子 m1: 结果是 我们再修改如下 m2: 发现结果变成了 要理解这个问题,需要明确在 Go 中不存在引用传递,所有的参数传递都是值传递。 现在再来分析下,如图: 可能有些人会有疑问,为什么途中的 m 像是一个指针呢。查看
阅读全文
摘要:Go 程序的性能优化及 pprof 的使用 程序的性能优化无非就是对程序占用资源的优化。对于服务器而言,最重要的两项资源莫过于 CPU 和内存。性能优化,就是在对于不影响程序数据处理能力的情况下,我们通常要求程序的 CPU 的内存占用尽量低。反过来说,也就是当程序 CPU 和内存占用不变的情况下,尽
阅读全文
摘要:Go语言标准库_输入/输出 转载节选自 "《Go语言标准库》" Reader 接口 Read 将 len(p) 个字节读取到 p 中。它返回读取的字节数 n(0 当 Read 在成功读取 n 0 个字节后遇到一个错误或 EOF (end of file),它就会返回读取的字节数。它会从相同的调用中返
阅读全文