适配器模式 概述 在开发过程会遇到有两个项目,A项目想调用B项目的接口,然而两个项目并没有做兼容。适配器模式就将一个类的接口,转换成客户期望的另一个接口。适配器模式就好比IPhone手机的转换器一样。还有Javachok…
标签:golang
Go - redis
Go-Redis包管理 很明显,我们Go是没有这个包的,那么我们可以利用GO的命令。首先我们得先配置GOPATH的路径,我选择的是/data/go/goSource作为我包的路径,所以shell执行如下export GO…
6行代码解决golang TCP粘包
什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。 协议数据包定义 本文模拟一个日志服务器,该服务器接收客户端传到的数据包并显示出来 ty…
【Go】slice的一些使用技巧
原文链接:https://blog.thinkeridea.com/201901/go/slice_de_yi_xie_shi_yong_ji_qiao.html slice 是 Go 语言十分重要的数据类型,它承载着很…
JWT在Gin中的使用
LearnJWT in Gin for Go 介绍 JSON Web Token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该 Token 被设计为紧凑且安全的…
也许 Go 开发可以更简单!Go += Package Versioning
简评:对于Go来说一直以来依赖包的版本控制上没有一个好的方案,尽管社区诞生了不下十余个解决该问题的工具,但一直以来没有一个官方的支持。这个提案有望在Go 的下个版本中看到官方的包版本控制了,去除了GOPATH依赖,同时还…
使用gvm管理多golang版本,但我想使用统一的GOTPAH
使用gvm管理golang版本遇到一个问题,就是我在.zshrc中设置了GOPATH,但是使用gvm切换后GOPATH又被gvm重新设置了,默认是$GVM_ROOT/pkgsets/go1.12.5/global。而我希…
如何在go中使用protobuf
protobuf是Google开发出来的一个语言无关、平台无关的数据序列化工具,在rpc或tcp通信等很多场景都可以使用。通俗来讲,如果客户端和服务端使用的是不同的语言,那么在服务端定义一个数据结构,通过protobuf…
shipyard中文版v3.0.2更新
Shipyard中文版官方同步更新 中文版shipyard v3.0.2与官方同步更新,更新内容详细可见GITHUB:https://github.com/dockerclubgroup/shipyard 本次更新内容包…
tidb高并发查询与修改造成锁冲突
一、背景 1、现有的业务使用的是mongo,数据量达到将近2亿条数据,高并发查询与修改达到三分之一,一主两从的mongo架构,读写分离 2、现有二、问题在业务高峰期内mongo已经撑不住了,经常造成查询与修改达到几百ms…
使用 delve 调试 golang 程序
安装 delve 官方的文档已经很全了,参考这里(github)安装。Mac OSX 比较麻烦,需要搞定证书。 断点和变量打印 delve 装好之后就可以直接在命令行使用 dlv 命令了。 查看可用的命令 dlv -h …
Go基础学习记录 - 编写Web应用程 - 数据库(四)
本次分享下 — PostgreSQL数据库驱动程序 为了保持项目的可学习性,我这里将之前分享的代码积累了下,放在github上,想要尽快入手学习的,可以直接clone我的代码,写代码不上手,都等于白搭,光看的…