随笔分类 -  golang

摘要:ipc 网络摄像机 IP camera nvr 网络硬盘摄像机 nvr network video recorder 区别 ipc 直接获取流 ipc的设备IP和port ipc和ipc 直接连接的话 流通过nvr做转发 地址应该nvr的ip 和 port 阅读全文
posted @ 2022-06-27 09:53 vx_guanchaoguo0 阅读(101) 评论(0) 推荐(0)
摘要:前言 The selected directory is not a valid home for Go SDK 出现这个错误的原因是 idea 的 Go-plugin 插件,和 Go 的sdk版本不匹配; #####解决方法 在 golang 安装路径下寻找:go1.17\src\runtime\ 阅读全文
posted @ 2022-06-23 20:19 vx_guanchaoguo0 阅读(103) 评论(0) 推荐(0)
摘要:不在数据库中的数据则新增 [增量] all := []string{"a", "b", "c", "d"} update := []string{"a", "b", "c", "d", "f"} add:= []string{"f"} 存在数据库中 不在请求的数据中的数据 all := []stri 阅读全文
posted @ 2022-06-20 16:14 vx_guanchaoguo0 阅读(97) 评论(0) 推荐(0)
摘要:golang 东八区时间字符串比较先转换为时间戳 timezone := time.FixedZone("CST", 8*3600) start, end := "2022-06-09 21:17:47", "2022-06-19 10:55:34" startTime, err := time.P 阅读全文
posted @ 2022-06-11 10:40 vx_guanchaoguo0 阅读(163) 评论(0) 推荐(0)
摘要:在golang 保存时间字符串转为时间格式后保存多出8小时 初步排查可能mysql数据库服务器时间问题 show variables like'%time_zone'; // outpot Variable_name`, `Value` 'system_time_zone', 'CST' 'time 阅读全文
posted @ 2022-05-31 14:54 vx_guanchaoguo0 阅读(760) 评论(0) 推荐(0)
摘要:golang微服务组件 gokit 服务三层架构解析 Transport 协议平面 Endpoint 控制平面 Service 数据平面 脚手架 kitcli go get -u google.golang.org/grpc go get -u github.com/golang/protobuf/ 阅读全文
posted @ 2022-05-26 19:57 vx_guanchaoguo0 阅读(285) 评论(0) 推荐(0)
摘要:使用context.Context 上下文去全局数据 metadata type MD map[string][]string //第一种方式 md := metadata.New(map[string]string{"key1": "val1", "key2": "val2"}) //第二种方式 阅读全文
posted @ 2022-05-26 18:49 vx_guanchaoguo0 阅读(152) 评论(0) 推荐(0)
摘要:前置安装golang -u get & install go get -u github.com/golang/protobuf/proto go get -u github.com/golang/protobuf/protoc-gen-go 目录结构 root -- emergency -- te 阅读全文
posted @ 2022-05-24 15:14 vx_guanchaoguo0 阅读(155) 评论(0) 推荐(0)
摘要:提交到服务器的的json中的某个字段是json字符串 需要提交的json 字符串 var aa = {"id":35,"method":"call.setAdviseMedia","params":{"nid":"83605254241","medias":[{"operator":5,"strea 阅读全文
posted @ 2022-05-18 17:19 vx_guanchaoguo0 阅读(149) 评论(0) 推荐(0)
摘要:在排行榜中实现分数和时间排序 分数相同则按照时间排序 需求分析 redis中zset的long为int64 转为十进制是19位 时间戳10位 毫秒时间戳13位 高位存分数7位 十进制 7位 8字节中拆分 最高位不可用 还剩43位 高22位存分数 低41位存时间戳 golang 代码 package 阅读全文
posted @ 2022-05-17 22:22 vx_guanchaoguo0 阅读(641) 评论(0) 推荐(0)
摘要:一般场景是重试几次后失败 package main import ( "fmt" "time" ) func main() { retry(func() bool { return false }, []int{1, 3, 5}) } func retry(f func() bool, interv 阅读全文
posted @ 2022-05-13 10:17 vx_guanchaoguo0 阅读(403) 评论(0) 推荐(0)
摘要:发布消息的时候 通道被关闭 提前将channel 关闭 生产和消费则配置不一致 交换机 队列 绑定 三者对不上导致 无法发布 阅读全文
posted @ 2022-05-11 11:53 vx_guanchaoguo0 阅读(245) 评论(0) 推荐(0)
摘要:使用注意订阅 proudcut package main import ( "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/logger" "github.com/streadway/amqp" "log" 阅读全文
posted @ 2022-05-10 20:29 vx_guanchaoguo0 阅读(126) 评论(0) 推荐(0)
摘要:####### 使用ws 订阅人员变更信息 package main import ( "fmt" "github.com/gorilla/websocket" "log" "os" "os/signal" "time" ) func main() { // install signal inter 阅读全文
posted @ 2022-05-10 19:29 vx_guanchaoguo0 阅读(518) 评论(0) 推荐(0)
摘要:服务端代码 package main import ( "fmt" "net/http" "sync" "github.com/gorilla/websocket" ) var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBuf 阅读全文
posted @ 2022-05-09 22:25 vx_guanchaoguo0 阅读(116) 评论(0) 推荐(0)
摘要:md5 两种方式摘要 直接sum 是长度为16的byte 转为16进制输出 data := []byte(str) has := md5.Sum(data) fmt.Println(fmt.Sprintf("%x", has) ) 生成一个hash 接口对象 将字符串写入 转为16进制输出 w := 阅读全文
posted @ 2022-05-09 14:08 vx_guanchaoguo0 阅读(64) 评论(0) 推荐(0)
摘要:很多人认为 父 goroutine 结束后 子goroutine 一定会结束 结论只要main 不结束 goroutine 一定会运行 代码验证 package main import ( "fmt" "time" ) func main() { fmt.Println("main start") 阅读全文
posted @ 2022-04-29 20:13 vx_guanchaoguo0 阅读(136) 评论(0) 推荐(0)