插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素插入到已经排好序的序列中,从而得到一个新的有序序列。插入排序的具体过程如下:...
不可变数据类型这些数据类型的实例一旦创建,其值就不能改变,也叫可 hash 类型。如果尝试改变其值,实际上会创建一个新的实例,内存地址也改变了。不可变数据类型包括:...
golang 即将支持泛型,我们能用泛型做些什么呢?本文探索泛型的一个使用场景,go 的 map 进行遍历是无序的,我们往往需要按照顺序对可排序类型的key进行 map 进行有序遍历...
前两篇文章(1、2),我构建了一个简单的 HTTP 服务。 HTTP 服务是前后端分离架构中,后端最靠近前端的业务服务。不过纯后台 RPC 之间,出于效率、性能、韵味等等考虑,HTTP 不是我们的首选。本文我们就来看看腾讯是怎么使用 t...
之前我花了三篇文章来介绍 tRPC 怎么用。而 tRPC 给开发者带来的便利, 在整整三篇文章中,我也只是介绍了它可以方便服务在 HTTP、trpc、grpc 三种协议之间灵活切换。诚然, tRPC 作为能够统一腾讯内开发框架的一个生态...
本文咱们来介绍一下在 tRPC 中的 filter 机制、context 用法,以及在相关机制上可以实现的 tracing log 能力。
配置,是一个服务的重要组成部份。一般来说,业务的逻辑写在代码中,而与系统架构、运维等等偏运维的功能,通过配置来处理。tRPC 框架的配置,可以分为两类:冷配置和热配置。...
在数字化时代,软件性能优化成为了开发者关注的重点之一。对于使用Go语言的开发者来说,理解和应用有效的性能优化技术是提高程序效率、保证用户体验和系统稳定性的关键。本文旨在提供一个关于Go语言性能优化的全面指南,涵...
Kubernetes Operator是自动化管理复杂应用的强大工具。在开发Kubernetes Operator时,常常需要对复杂结构体对象进行变更检测。这对于确保对象状态的一致性和系统的稳定性至关重要。本文将详细探讨如何在Kubernetes Ope...
在Go语言中,reflect包提供了一套功能强大的工具来检查、操作和修改程序的运行时表示。reflect.DeepEqual是reflect包中的一个重要函数,它用于判断两个值是否深度相等。本文将深入解析reflect.DeepEqual的工作原理、适用...