- 博客(19)
- 资源 (21)
- 收藏
- 关注

原创 GitHub 仓库对比工具 —— github-compare
我们在做框架调研时,你可能会先通过 google 去搜索相关关键词得到一些结果,其次是从 GitHub 查看相应的 Topic 来选择合适的框架。相信大多数人在选择框架时,不会随随便便就拿来用,而是查看一些该仓库的指标来决定是否选择,或者对多框架进行对比。
2022-05-25 15:44:55
2577

原创 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
1130

原创 gRPC源码阅读及实践之 Resolver
ResolvergRPC 插件式编程之Resolver随着微服务越来越盛行,服务间的通信也是绕不开的话题,gRPC 在众多 RPC 框架中算得上佼佼者,不仅其有一个好爸爸,grpc 在扩展方面也给开发者留有足够的空间,今天我们将走进grpc 扩展之 Resolver,gRPC Resolver 提供了用户自行解析主机的扩展能力,我们在使用 gRPC 时,大家有没有想过,为什么 gRPC 为什么支持以下几种格式的 target:直连, 链接 target 为目标服务的endpointdns 服
2022-01-14 22:31:43
1016

原创 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
1378

原创 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
1345

翻译 安装Oh My Zsh
前言本文为译文;原文隧道ohmyzsh介绍ohmyzsh是一个开放源代码,社区驱动的框架,用于管理zsh配置。听起来真无聊。让我们再试一次。噢,我的Zsh不会使您成为10倍的开发人员…但是您可能会觉得自己像一个。快速开始先决条件类似于Unix的操作系统:macOS,Linux,BSD。在Windows上:WSL2是首选,但cygwin或msys也大多数可用。应该安装Zsh(v4.3.9或更高版本是可以的,但我们更喜欢5.0.8及更高版本)。如果尚未预安装(请运行zsh --versio.
2020-11-24 22:02:54
1685
1

原创 如何打造漂亮的终端
前言今天为大家分享一下如何打造一款漂亮的终端,相信很多同学都有自己私藏的终端UI,如果有更好看的终端可以留言分享给大家!准备工作iTerm2ohmyzsh软件环境mac OS 10.14.6安装ohmyzsh安装由于ohmyzsh的安装比较步骤比较多,因此单独开放一篇文章来介绍,详情见[ohmyzsh安装教程]()iTerm2安装进入iTerm2官网下载iTerm2安装即可ohmyzsh主题安装我这里选择安装一款名为robbyrussell的主题$ vi ~/.z.
2020-11-23 22:17:59
397

原创 IDEA美化之主题篇
前言各位idea同学们,大家晚上好,这是《IDEA之家》公众号的第一篇文章,本公众号会定期给大家推荐一些我发现的IDEA相关的比较优质的资源,当然也会分享一些我在使用过程中的经验给大家,希望本公众号可以给大家带来好的资源,帮助大家更好的使用IDEA开发。安装IDEA后的第一步你会做什么?你在安装好IDEA系列软件后的第一件事情是做什么?激活,破解,汉化?哈哈,这也许会是我之前也会一直做的事情,在现在,我在安装完IDEA软件后的第一件事情便是——主题安装,我们都知道,一个漂亮的主题可以给我们开发过程中带
2020-11-22 23:23:10
2747
1

转载 使用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
4681
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
2523

原创 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
477

原创 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
1454

原创 一行命令实现数据库表转golang struct
Githubd地址中文文档 | DOCUMENTokcli 可以将指定数据表生成为对应的model文件,目前支持将列名、数据类型、默认值、注释带入指定model中,就像如下文件:import "time"type ( Student struct { Id int32 `db:"id"` Name string...
2019-12-13 16:53:43
363

原创 docker运行golang文件之端口映射【笔记】
docker运行golang文件之端口映射【笔记】引言在之前,我们以golang为基础镜像,创建Dockerfile,然后将go文件放入docker中编译运行,详情请参考docker基于Golang制作镜像输出hello docker【笔记】一节,经过镜像制作运行才发现docker文件大小达到了814M,在实际开发过程中,如果仅仅是为了能够运行go项目,我们是绝对不允许这种镜像存在的。这一节...
2019-07-23 23:12:05
864

原创 docker基于Golang制作镜像输出hello docker【笔记】
准备工作编写hellodocker.go文件,让程序输出“hellodocker”即可在指定目录中新建Dockerfile文件,内容如下:FROM golangMAINTAINER anqiansong "anqiansong@graver.cn"WORKDIR /helloADD . /helloRUN go build hellodocker.goENTRYPOINT ["...
2019-07-21 23:09:19
1088

原创 基于Go的双向链表实践
基于Go的双向链表实践前言关于单向链表、双向链表,我向下面这片文档讲的非常详细了链表参考地址说明本次以双向链表来进行实践组成元素Element:元素值Prev(*Entry):prev节点Next(*Entry):next节点lengthlist方法列表Length():链表长度Add(int,interface{}):添加元素到指定位置AddFirst(i...
2019-05-23 17:10:30
249

原创 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
5686

原创 nginx配置学习(个人笔记,以防忘记)
前言自己基于springboot写了两个服务A,B,为了区分,A和B为两个不同的项目,分别使用端口8100和8200端口进行访问,在一般情况下,我们要访问这两个服务需要通过http(s)://+域名(IP)+port+path的形式来方式,这个一个完整请求路径,如:访问服务A中的登录接口,在我的项目中登录接口地址为/user/login因此访问A登录地址为http://loca...
2018-08-06 11:53:33
401
原创 Intellij新秀CommentShell,让你的注释运行起来。
CommentShellgithub地址:https://github.com/anqiansong/CommentShell/????????欢迎star,fork,issue???????? ????????CommentShell(CSL)一个可以在注释中运行shell命令的intellij插件。其可以帮助开发者快速在文件内执行指定命令,而不需要在终端去敲打shell命令, 如:开发golang的grpc服务时,我们需要用protoc工具生成pb.go,传统做法是编写完proto文件后在打
2021-03-26 17:57:41
260
java API for mac
2015-10-12
fatjar eclipse快速打包jar插件
2015-09-16
android网络请求框架
2015-08-14
HTTP网络请求框架
2015-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人