Golang
文章平均质量分 86
从实践中学习,从实践中提升!
「已注销」
这个作者很懒,什么都没留下…
展开
-
GitHub 仓库对比工具 —— github-compare
我们在做框架调研时,你可能会先通过 google 去搜索相关关键词得到一些结果,其次是从 GitHub 查看相应的 Topic 来选择合适的框架。相信大多数人在选择框架时,不会随随便便就拿来用,而是查看一些该仓库的指标来决定是否选择,或者对多框架进行对比。原创 2022-05-25 15:44:55 · 2427 阅读 · 0 评论 -
grpc 源码阅读之 balancer
BalancergRPC balancer背景接着上篇《gRPC 插件式编程之Resolver》,gRPC 将 target 解析为 resolver.Target 后,通过 resolver.Builder.Build 方法调用resolver.ClientConn.UpdateState(State) error 方法,该方法做了哪些事情呢,我们本篇接着看源码往下走。UpdateStateUpdateState 的调用会调用 grpc.ClientConn.updateResolverSta原创 2022-01-17 11:20:39 · 1065 阅读 · 0 评论 -
gRPC源码阅读及实践之 Resolver
ResolvergRPC 插件式编程之Resolver随着微服务越来越盛行,服务间的通信也是绕不开的话题,gRPC 在众多 RPC 框架中算得上佼佼者,不仅其有一个好爸爸,grpc 在扩展方面也给开发者留有足够的空间,今天我们将走进grpc 扩展之 Resolver,gRPC Resolver 提供了用户自行解析主机的扩展能力,我们在使用 gRPC 时,大家有没有想过,为什么 gRPC 为什么支持以下几种格式的 target:直连, 链接 target 为目标服务的endpointdns 服原创 2022-01-14 22:31:43 · 953 阅读 · 0 评论 -
Golang美化日志输出工具-Ketty
Kettyketty 是一个Golang 开发的简单的日志美化输出 Logger。Githubhttps://github.com/anqiansong/ketty安装$ go install github.com/anqiansong/ketty@latest快速开始func main(){ console.Info(` { "name":"Hello Ketty", "description":"a color logger",原创 2021-11-26 23:10:47 · 1321 阅读 · 0 评论 -
golang学习之旅——解开心中的go mod疑惑
原文地址https://github.com/anqiansong/golang-notes/blob/main/go-module.mdgithubhttps://github.com/anqiansong阅读说明本文中国 URLs环节 表格渲染不太友好,建议阅读原文go module在go1.16版本发布后,go module由原来的默认值 auto 变为 on 了,这意味着后续开发中,go更推荐用go module 模式开发,而不是gopath模式开发了。在之前,我也是大多数以go m原创 2021-03-05 17:33:32 · 1285 阅读 · 0 评论 -
使用go-zero从0到1快速构建高并发的短链服务
go-zero关于go-zero介绍请看上一篇博文《好未来晓黑板go-zero微服务框架: 你不需要懂微服务,懂业务就行》使用go-zero从0到1快速构建高并发的短链服务0. 什么是短链服务?短链服务就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。写此短链服务是为了从整体上演示go-zero构建完整微服务的过程,算法和实现细节尽可能简化了,所以这不是一个高阶的短链服务。1. 短链微服务架构图2. 准备工作安装etcd, mysql, redis准备goctl工具直转载 2020-08-29 23:08:13 · 4603 阅读 · 2 评论 -
好未来晓黑板go-zero微服务框架: 你不需要懂微服务,懂业务就行
go-zero0. go-zero介绍go-zero是一个集成了各种工程实践的web和rpc框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。使用go-zero的好处:轻松获得支撑千万日活服务的稳定性内建级联超时控制、限流、自适应熔断、自适应降载等转载 2020-08-29 23:05:59 · 2431 阅读 · 0 评论 -
Golang channel实现limiter
普通Limiter特点:无时间限制,只要不超过数量就可通过// 基于channel阻塞实现// 缺点:阻塞无时间限制type ( ChannelLimiter struct { bufferChannel chan golang.PlaceholderType })func NewChannelLimiter(limit int) *ChannelLimiter { return &ChannelLimiter{bufferChannel: make(chan golang.原创 2020-05-10 23:16:17 · 460 阅读 · 0 评论 -
Golang使用Date进行Java日期格式化
Githubhttps://github.com/noogo/dateDateDate是一个基于time包装的一个日期包,通过此包可以快速创建日期、获取时间戳、毫秒数及最重要的日期格式化,另外你还可以继续使用time包下的所有函数(除time.Foramt(string)外)你可以通过以下方法快速创建一个Date对象:Now()WithTime(t time.Time)WithTim...原创 2020-04-29 12:07:07 · 1418 阅读 · 0 评论 -
一行命令实现数据库表转golang struct
Githubd地址中文文档 | DOCUMENTokcli 可以将指定数据表生成为对应的model文件,目前支持将列名、数据类型、默认值、注释带入指定model中,就像如下文件:import "time"type ( Student struct { Id int32 `db:"id"` Name string...原创 2019-12-13 16:53:43 · 333 阅读 · 0 评论 -
基于Go的双向链表实践
基于Go的双向链表实践前言关于单向链表、双向链表,我向下面这片文档讲的非常详细了链表参考地址说明本次以双向链表来进行实践组成元素Element:元素值Prev(*Entry):prev节点Next(*Entry):next节点lengthlist方法列表Length():链表长度Add(int,interface{}):添加元素到指定位置AddFirst(i...原创 2019-05-23 17:10:30 · 235 阅读 · 0 评论 -
Jenkins部署Golang(centOS)
前言说到自动化部署,应该都会联想到jenkins,jenkins到底有多么强大,这里就不啰嗦了,之前一直百度“jenkins部署go”、“go自动化部署”、“jenkins 部署golang”,然而都没有详细的文档,对度娘信任快结束了。下面就将我用jenkins部署golang的过程重现一下,以作笔记。准备工作1、centOS安装go环境2、centOS安装nginx3、centO...原创 2018-10-17 19:13:09 · 5636 阅读 · 0 评论