首页
学习
活动
专区
工具
TVP
发布

后台全栈之路

曾经的嵌入式/后台开发一枚,现在开始走向架构。本专栏没有高深技术,只讲基础组件、工具,请放心食用
专栏作者
52
文章
192511
阅读量
73
订阅数
腾讯 tRPC-Go 教学——(5)filter、context 和日志组件
本文咱们来介绍一下在 tRPC 中的 filter 机制、context 用法,以及在相关机制上可以实现的 tracing log 能力。
amc
2024-03-04
5050
腾讯 tRPC-Go 教学——(4)tRPC 组件生态和使用
之前我花了三篇文章来介绍 tRPC 怎么用。而 tRPC 给开发者带来的便利, 在整整三篇文章中,我也只是介绍了它可以方便服务在 HTTP、trpc、grpc 三种协议之间灵活切换。诚然, tRPC 作为能够统一腾讯内开发框架的一个生态级产品,它的能力显然不止这些。这一篇文章,咱们来一起初窥 tRPC 的周边生态有哪些, 以及其中的第三方组件使用方法。
amc
2024-02-06
6546
腾讯 tRPC-Go 教学——(3)微服务间调用
前两篇文章(1、2),我构建了一个简单的 HTTP 服务。 HTTP 服务是前后端分离架构中,后端最靠近前端的业务服务。不过纯后台 RPC 之间,出于效率、性能、韵味等等考虑,HTTP 不是我们的首选。本文我们就来看看腾讯是怎么使用 tRPG-Go 构建后台微服务集群的。
amc
2024-01-29
4870
腾讯 tRPC-Go 教学——(2)trpc HTTP 能力
上一篇文章 中我们快速搭建了一个 http API 服务,并且我们可以看到,对外提供了 URL query 和 application/json 两种服务模式。那么实际上,我们到底实现了什么、并且能够做些什么?读者可能还是没有直观的感受,因此必要先来简单 review 一下。就让我们先放下敲代码的小手,一起看看刚刚写出来的都是些什么玩意儿吧。
amc
2024-01-16
5540
腾讯 tRPC-Go 教学——(1)搭建服务
2023 年底腾讯统一的 RPC 框架 tRPC 正式开源。遍观全网,似乎大部份是对 tRPC 概念上的宣传、架构上的设计,而如何开发、如何部署的文章凤毛麟角。于是笔者小试牛刀撰此文,或许会成为一系列,希望能抛砖引玉。
amc
2024-01-14
9661
每天学点 Go 规范 - 代码不能写太宽,那么函数该怎么换行呢?
公司内部的 Go 代码规范中限制了每一行代码的宽度。为了满足这个规范,那些太宽的代码行就不可避免地需要换行。换行不是普通的回车就行,如何在换行的同时,保持代码优秀的可读性,笔者根据日常 code review 中看到的各种模式,提出一些建议。
amc
2023-12-06
9020
逆微服务潮流?基于腾讯 tRPC-Go 单体化改造怎么节省上万核 CPU
微服务架构一直以来是服务治理的基本盘之一,落地到云原生上,往往是每个 K8s pods 部署一个服务,独立迭代、独立运维。
amc
2023-11-07
1.2K0
三分钟, 让你学会 Go 泛型
Go 自从 1.18 版本正式推出泛型之后至今也超过半年了,但是笔者发现在实际业务开发中,大家没有如想象中那么广泛地使用泛型。于是决定简单撰一文,尽可能简单地讲解 Go 的泛型代码的写法。
amc
2023-10-25
5830
每天学点 Go 规范 - 函数传参时,struct 应该传值还是引用
现在团队里几乎所有的代码都需要经过 Code Review(代码审查)之后才允许合入主分支。笔者在 CR 中看到了不少不适合的问题,也看到了不少值得学习的点,于是决定一点一滴地记录这些做法、经验、教训,以飨读者。如有错误,也欢迎读者不吝指正。
amc
2023-08-25
4230
每天学点 Go 规范 - context 类型的 key 有什么讲究?
现在团队里几乎所有的代码都需要经过 Code Review(代码审查)之后,才允许合入主分支。作为 CR 负责人之一,在 CR 中看到了不少不适合的问题,也看到了不少值得学习的点。笔者决定从今天开始,一点一滴地记录这些做法、经验、教训,以飨读者。
amc
2023-08-16
1.3K0
Go http.Transport 主要参数说明
在 Go 中创建一个 http client 时,一般会使用 Go http 包的 Transport 类型。本文主要说明 http.Transport 需要关注的主要参数。
amc
2023-05-25
1.8K0
JSON 这么可爱,让我们用千字短文吃透它吧!
JSON,一个伟大的协议,前端工程师的卓越发明!相信 99% 的程序员都认识 JSON,它作为前后端交互的热门协议,因其易理解、简单、灵活和超强的可读性,得到了互联网的广泛欢迎,甚至很多微服务之间的传输协议中也得到应用。
amc
2022-10-20
1.9K3
作为 Gopher,你知道 Go 的注释即文档应该怎么写吗?
点击徽章,就可以打开 https://pkg.go.dev/ 的网页,网页中给出了这个开源项目所对应的 Go 文档。在刚接触 Go 的时候,我一度以为,pkg.go.dev 上面的文档是需要开发者上传并审核的——要不然那些文档咋都显得那么专业呢。
amc
2022-03-19
3.5K0
Yaegi,让你用标准 Go 语法开发可热插拔的脚本和插件
Go 作为一种编译型语言,经常用于实现后台服务的开发。由于 Go 初始的开发大佬都是 C 的老牌使用者,因此 Go 中保留了不少 C 的编程习惯和思想,这对 C/C++ 和 PHP 开发者来说非常有吸引力。作为编译型语言的特性,也让 Go 在多协程环境下的性能有不俗的表现。
amc
2021-10-19
6.4K1
如何在 Go 中优雅的处理和返回错误(1)——函数内部的错误处理
在使用 Go 开发的后台服务中,对于错误处理,一直以来都有多种不同的方案,本文探讨并提出一种从服务内到服务外的错误传递、返回和回溯的完整方案,还请读者们一起讨论。
amc
2021-09-18
8.6K0
手把手教你用 reflect 包解析 Go 的结构体 - Step 3: 复杂类型检查
上一篇文章我们完成了对结构体中基本数据类型的解析。这一篇文章,则是真正令人头疼的、在前两篇文章未处理的几个主题了:
amc
2021-07-10
1.5K0
手把手教你用 reflect 包解析 Go 的结构体 - Step 2: 结构体成员遍历
上一篇文章我们学习了如何用 reflect 检查一个参数的类型。这一篇文章,咱们获得了一个结构体类型,那么我们需要探究结构体内部的结构以及其对应的值。
amc
2021-06-29
2K0
手把手教你用 reflect 包解析 Go 的结构体 - Step 1: 参数类型检查
Go 原生的 encoding/json 的 Unmarshal 和 Marshal 函数的入参为 interface{},并且能够支持任意的 struct 或 map 类型。这种函数模式,具体是如何实现的呢?本文便大略探究一下这种实现模式的基础:reflect 包。
amc
2021-06-28
1.5K0
Go 语言原生的 json 包有什么问题?如何更好地处理 JSON 数据?
Go 的 “玩家” 们看到这个题目可能会很疑惑——对于 JSON 而言,Go 原生库 encoding/json 已经是提供了足够舒适的 JSON 处理工具,广受 Go 开发者的好评。它还能有什么问题?但是,实际上在业务开发过程中,我们遇到了不少原生 json 做不好甚至是做不到的问题,还真是不能完全满足我们的要求。
amc
2021-05-06
4.6K0
Go time 包中的 AddDate 的逻辑避坑指南
从 C++ 转到 Go 后,当操作时间变量的时候,Go 原生的 time 包用起来简直不要太舒服,再也不用自己写轮子了。我之前就写过一篇文章介绍了 time 的常用用法。
amc
2021-03-19
2.3K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档