我用 go-zero 一周实现了一个中台系统,已开源!

我用 go-zero 一周实现了一个中台系统,已开源!作者:Jack最近发现golang社区里出了一个新星的微服务框架,来自好未来,光看这个名字,就很有奔头,之前,也只是玩过go-micro,其实真正的还没有在项目中运用过,只是觉得 微服务,grpc 这些很高大尚,还没有在项目中,真正的玩过,我看了一下官方提供的工具真的很好用,只需要定义好,舒适文件jia结构 都生成了,只需要关心业务,加上最近 有个投票的活动,加上最近这几年中台也比较火,所以决定玩一下,开源地址: https://github...阅读全文

51CTO博客 2021-02-04 13:18:59 mb6018ead621887

go-zero解读与最佳实践(上)

go-zero解读与最佳实践(上)本文有『Go开源说』第三期 go-zero 直播内容修改整理而成,视频内容较长,拆分成上下篇,本文内容有所删减和重构。大家好,很高兴来到“GO开源说” 跟大家分享开源项目背后的一些故事、设计思想以及使用方法,今天分享的项目是 go-zero,一个集成了各种工程实践的 web 和 rpc 框架。我是Kevin,go-zero 作者,我的 github id 是 kevwan。go-zero 概览go-zero 虽然是20年8月7号才开源,但是已经经过线上大规模检验...阅读全文

51CTO博客 2021-02-04 09:44:14 mb6018e97449ea1

手撸golang 结构型设计模式 适配器模式

手撸golang 结构型设计模式 适配器模式缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>本系列笔记拟采用golang练习之适配器模式适配器模式(Adapter Pattern)又叫作变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够一起工作,属于结构型设计模式。_场景某智能家居应用, 可接入并显示温度计信息系统设计的温度计接口, 采用的是摄氏度单位现按客户需求, 要接入某进口款温度计, 厂家提供的sdk只提供华氏...阅读全文

Segmentfault 2021-02-07 16:32:34 .container .car 等

手撸golang 结构型设计模式 适配器模式

手撸golang 结构型设计模式 适配器模式缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>本系列笔记拟采用golang练习之适配器模式适配器模式(Adapter Pattern)又叫作变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够一起工作,属于结构型设计模式。_场景某智能家居应用, 可接入并显示温度计信息系统设计的温度计接口, 采用的是摄氏度单位现按客户需求, 要接入某进口款温度计, 厂家提供的sdk只提供华氏...阅读全文

Segmentfault 2021-02-04 10:32:56 .container .car 等

手撸golang 结构型设计模式 适配器模式

手撸golang 结构型设计模式 适配器模式缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>本系列笔记拟采用golang练习之适配器模式适配器模式(Adapter Pattern)又叫作变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够一起工作,属于结构型设计模式。_场景某智能家居应用, 可接入并显示温度计信息系统设计的温度计接口, 采用的是摄氏度单位现按客户需求, 要接入某进口款温度计, 厂家提供的sdk只提供华氏...阅读全文

Segmentfault 2021-02-04 10:32:56 .container .car 等

2021-02-03:手写代码:KMP算法。

福哥答案2021-02-03: Knuth-Morris-Pratt 字符串查找算法,简称为 KMP算法,常用于在一个文本串 S 内查找一个模式串 P 的出现位置。 这个算法由 Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这 3 人的姓氏命名此算法。 下面直接给出 KMP算法 的操作流程: 1.假设现在文本串 S 匹配到 i 位置,模式串 P 匹配到 j 位置。 2.如果 j = -1,或者当前字符匹配成功(即 S[i]...阅读全文

简书 2021-02-04 04:32:39 福大大架构师每日一题

golang搭配makefile真香

图片.png 【关注公众号】「syd3600520」 回复002 获取Go相关学习资料 这篇文章打算跟大家聊聊Makefiles,作为一个后端开发者,熟练掌握Makefiles咖啡可以多喝几口。书归正传 golang内置了很多 go commands 可以帮助我们完成go每个阶段的开发工作,但是很多时候我们需要分享我们的代码给其他人,初次看到我们代码工程的人可能并不知道怎么让它跑起来。当然你也可以通过README.md或者其他方式来告知读者。 但对于那些只想快速构建程序的人来说,使用Makefi...阅读全文

简书 2021-02-04 04:32:39 Leo灬叔叔

肝了一上午golang之plan9入门

【关注公众号】「syd3600520」 回复002 获取Go相关学习资料 从计算机诞生到现在,编程语言的发展大致分为了三个阶段 从打孔程序的机器语言 一系列指令、寄存器代码的汇编语言 再到我们日常使用的高级语言 机器语言一堆的0/1代码确实反人类,汇编语言指令繁杂 不同机器设备还有较大差异。比如x86架构的汇编指令一般有两种格式: Intel汇编 DOS、Windows包括我们之前了解的8086处理器 Windows派系:VC编译器 AT&T汇编 Linux、Unix、Mac OS Unix派系...阅读全文

简书 2021-02-04 04:32:38 Leo灬叔叔

Jenkins 构建及回滚任务

以 golang 构建项目为例。 cicd 新建任务 输入一个任务名称 选择:构建一个自由风格的软件项目 可选:也可以复制已创建的任务 确定提交 image-20210203153829359 image-20210203153954925 配置 再次编辑刚创建的任务 image-20210203154135859 描述 对你的项目进行描述,可以写如下信息。 项目名称 部署的IP地址 部署远程的目录 日志路径 配置目录及文件名称 启动服务 停止服务 重启服务 等等 image-202102031...阅读全文

简书 2021-02-03 20:32:57 百里江山

Golang 上下文 Context

自己整理了一张图,ProcessOn 做的,可以参照着这张图去阅读学习 context 的源码。 简单的总结就是,万物( Context )基于 emptyCtx,可以认为一个 ctx 为一个节点,然后根据需求,配置成 valueCtx、cancelCtx 或 timerCtx,最终形成一条子节点包含母节点的链表。 源码内容不多,可以慢慢消化。 但凡学习了新的东西,要思考,我学习的这个东西,能用在什么地方并用自己的语言去表述: 比如点鞭炮,一条引线可以同时点燃左右两串鞭炮,引线又是由一节节火药连...阅读全文

简书 2021-02-03 20:32:46 埃尔温薛定谔不养猫

golang sync.WaitGroup 在for循环内取值错误

背景:需要for循环传不同的参数请求同一个接口得到数据。 吐槽:那为什么不能改一下接口,传多类型一次返回数据?老项目能用则用,动一动锅从天上来。 很多个请求都先后发出,所有请求都回来我们再处理所有结果,正好 sync.WaitGroup能满足我们的需求。 网上一顿搜索终于实现了,但出了一个BUG,for循环上的值和在go func使用会被覆盖。 有问题的代码 // 咔咔一顿操作 result := []string{} group := &sync.WaitGroup{} for dataKey...阅读全文

简书 2021-02-03 20:32:36 東玖零

beego项目和go项目 打包部署到linux

【beego项目】 一. 打包 打开Terminal 定位到工程的 main.go 文件夹目录 执行命令,打包 linux打包: bee pack -be GOOS=linux windows打包: bee pack -be GOOS=windows 二. 部署 1. 如何部署到阿里云上 会产生 xxx.tar.gz文件(当然 前提 不出现错误),通过工具或命令将该压缩文件发送到阿里云ECS指定的目录下;然后 登录阿里云ECS 并进入相应的目录对发送过来的文件解压缩; 解压缩成功后 可以看到2个...阅读全文

简书 2021-02-03 20:32:36 盛开在夏天的太阳

Kubelet从入门到放弃:识透CPU管理(下)

三、源码分析在介绍代码之前,zouyee先带各位看一看CPU manager的启动图(CPU manager属于Container Manager模块的子系统) 对于上图的内容,zouyee总结流程如下:1、在命令行启动部分,Kubelet中调用NewContainerManager构建ContainerManager 2、NewContainerManager函数调用topologymanager.NewManager构建拓扑管理器 3、NewContainerManager函数调用cpuma...阅读全文

Segmentfault 2021-02-06 21:32:33 .container .car 等