一个适合初级 Gopher 练手的项目

本项目见GITHUB:market_monitor 这是一个初级 Gopher 练手的小项目;该项目功能简单,主要实现监测币市行情变化、达到预警效果的功能,大致的使用场景如下: 用户登录服务; 用户设置关注的币种及预警的走势价格; 当行情变化触发到用户的预警设置时,服务将自动发送提醒邮件通知用户; 整体功能简明,通过这个项目你可以了解到: 基于 Go Mod 的项目包管理 Gin 框架的基本开发 Gin 服务跨域问题的处理 基于 JWT 注册、登录等验证流程 数据库 MySQL ORM 的基本使...阅读全文

2019-01-12 17:34:38 erik
阅读:4054 评论:1

对一段有关Go Code Block和变量作用域的代码的简要分析

近期,Go team的David CrawShaw在twitter上贴出了一段代码,如下: func main() { if a := 1; false { } else if b := 2; false { } else if c := 3; false { } else { println(a, b, c) } } David CrawShaw想表达的意图是gopher们很少在”else if”后面的simple statement中使用“短变量声明”形式,而这段代码是个例外。我们看到b、c...阅读全文

阅读:3093 评论:2

Go语言 实现发送短信验证码 并登录

现在大多数app或wap都实现了通过手机号获取验证码进行验证登录,下面来看下用go来实现手机号发送短信验证码登录的过程,基于的框架是gin 。 首先是短信服务商的申请,比如腾讯云、阿里云、网易易盾等,腾讯云自己申请个微信公众号就行,然后申请相关的短信签名、和短信模板,腾讯有100条试用喔。 具体的代码实现。 配置腾讯云短信服务的发送短信相关配置,具体可以参考腾讯云短信服务的api 文档,进行配置。 ```go sms: secret-key: #秘钥,可在控制台查询...阅读全文

2022-07-16 19:43:18 goCenter
阅读:2993 评论:0

示例二:不需要写一行go代码,一键自动生成 grpc+gorm+redis+CRUD 完整微服务项目代码

生成的CRUD的api接口代码用在web服务比较常见,生成CRUD的api接口代码到grpc服务不多,本文介绍使用生成代码工具sponge,把`生成的CRUD方法代码`与`生成的微服务(grpc)代码`无缝结合在一起,不需要添加或更改任何代码,也不需要写proto文件描述信息,并包括分页条件查询、缓存等功能。 ### 依赖工具 - 导入 [sql](https://github.com/zhufuyi/sponge_examples/blob/main/1_web-gin-CRUD/...阅读全文

2023-11-08 22:07:58 zhufuyi
阅读:1138 评论:0

示例三:一键自动生成通用web服务(gin)项目代码,开发效率至少提升1倍

生成CRUD的api接口代码工具都比较成熟了,CRUD代码都是标准化固定化的,对于任意自定义的api接口代码,应该不少开发者还是手工编写,这些不是标准化接口代码,应该如何生成呢? 这里的解决方案是使用protobuf协议来描述api接口,通过自定义插件 [protoc-gen-go-gin](https://github.com/zhufuyi/sponge/tree/main/cmd/protoc-gen-go-gin) 生成web服务的任意api接口代码。 ### 依赖工具 ...阅读全文

2023-11-08 22:11:26 zhufuyi
阅读:1351 评论:0

示例四:一键自动生成通用微服务(grpc)项目代码,轻松实现高效的微服务开发

在使用protobuf协议的grpc服务中,通常添加新grpc方法的步骤: 1. 在proto文件定义grpc方法和message。 2. 根据proto文件生成pb.go文件。 3. 实现server端的grpc方法接口,在实现grpc方法函数里面编写业务逻辑代码。 4. 使用第三方工具或写一个调用grpc方法的客户端来测试。 其实这四个步骤中涉及的绝大多数代码可以自动生成,简化到只需在proto文件定义grpc方法和message,然后在生成的模板文件填写具体业务逻辑代码即...阅读全文

2023-11-08 22:13:13 zhufuyi
阅读:1129 评论:0

示例五:一键自动生成grpc网关服务代码,轻松实现跨服务、跨语言grpc调用

grpc网关是一种充当客户端和grpc服务之间中介的服务,它作为客户端和grpc服务通信的桥梁,负责将客户端发起的请求转发给grpc服务端,并将grpc服务端响应返回给客户端。grpc网关可以实现协议转换、路由转发、负载均衡、缓存、限流等功能,从而提高服务的可用性和性能。 ### 依赖工具 - 准备一个微服务 [user](https://github.com/zhufuyi/sponge_examples/tree/main/4_micro-grpc-protobuf)。 - 准...阅读全文

2023-11-08 22:21:51 zhufuyi
阅读:1252 评论:0

示例六:使用工具十分钟搭建一个简单的go语言微服务项目

商品详情页面有商品信息、库存信息、商品评价信息,这些信息数据分散在不同的微服务中,通过grpc网关服务组装所需的数据返回给商品详情页面,如下图所示,点击查看完整微服务集群代码 [micro-cluster-demo](https://github.com/zhufuyi/sponge_examples/tree/main/6_micro-cluster)。 ![micro-cluster.png](https://static.golangjob.cn/231108/7818bb64e17...阅读全文

2023-11-08 22:28:34 zhufuyi
阅读:1731 评论:0