KevinYan

LV0
发表了文章

上次的问题解决啦,重新送上Go ORM 单元测试全流程讲解

在上次发布的文章《在项目里怎么给 GORM 做单元测试》中对 ORM 的 Update 操作的测试中,因为 ORM 库每次做更新操作时,都会针对updated_...

KevinYan
发表了文章

解惑篇|Docker和 K8s 到底啥关系?想学K8s,必须得先学 Docker 吗?

想学K8s,必须得先学会 Docker 吗?这是很多网友在开始琢磨着想要学 K8s 的时候都会冒出来的想法。那么今天我们就跟大家说说这个话题,要回答这个问题,我...

KevinYan
发表了文章

在项目里怎么给 GORM 做单元测试

在 Go 单元测试这个系列的第二部分 数据库的Mock测试 中我们介绍了用 go-sqlmock 给数据库的 CRUD 操作做Mock 测试的方法,不过里面只是...

KevinYan
发表了文章

如何在 Go 函数中获取调用者的函数名、文件名、行号...

我们在应用程序的代码中添加业务日志的时候,不论是什么级别的日志,除了我们主动传给 Logger 让它记录的信息外,这行日志是由哪个函数打印的、所在的位置也是非常...

KevinYan
发表了文章

世界读书日,推荐几本我读过的好书

首先说 Go 语言相关的书,最近两年 Go 比较火,出版社肯定也是紧跟热点出了好几本书。这里真心推荐两本,有这两本我觉得就够了。

KevinYan
发表了文章

關於用 Go 实现堆和堆操作,可能是最通俗易懂的讲解了

堆是一种树形数据结构,分为大顶堆和小顶堆,顾名思义,大顶堆就是堆顶(第一个元素)始终存放的是这组元素中的最大元素,小顶堆就是堆顶元素是最小元素。如果需要从一组对...

KevinYan
发表了文章

用 Go 学算法--归并排序

今天继续基础排序算法的图解和Go 代码实现,上次我们分享了《用Go学算法--快速排序》,这次分享一个时间复杂度为*** 诶,时间复杂度多少先保密,文末会有分析。...

KevinYan
发表了文章

Go 新版1.18的安装配置以及对老项目的兼容

最近 Go 支持范型的新版本 1.18 已经发布了,那怎么在我们的电脑上安装和配置 Go 1.18 呢,以及假如我有一些非常老的都没有用 Go Modules ...

KevinYan
发表了文章

想在研发群里装?先学会这几个排查K8s问题的办法

新手学习 K8s 最大的难度感觉是在起步动手实践的时候,Pod 没有正常启动起来,或者运行了一段时间 Pod 自己崩溃了。那么是什么问题导致了它没运行起来,又或...

KevinYan
发表了文章

图解算法基础--快速排序,附 Go 代码实现

很多面试题的解答都是以排序为基础的,如果我们写出一个 O( ) 的算法,大概率要被挂,今天写个快排的基础文章,后面看情况再把归并和堆排序写一写,至于选择排序...

KevinYan
发表了文章

写了 30 多个 Go 常用文件操作的示例,收藏这一篇就够了

Go官方提供的文件操作标准库分散在os、ioutil等多个包中,里面有非常多的方法涵盖了文件操作的所有场景,不过因为我平时开发过程中需要直接操作文件的场景其实并...

KevinYan
发表了文章

Go 函数的 Map 型参数,会发生扩容后指向不同底层内存的事儿吗?

最近跟同事做项目,由于要在函数里向一个 Map 中写入不少数据,这个 Map 是作为参数传到函数里的。他问了我一个问题: “如果把 Map 作为函数参数传递,会...

KevinYan
发表了文章

生产环境Go程序内存泄露,用pprof如何快速定位

内存泄漏可以在整个系统中以多种形式出现,除了在写代码上的疏忽,忘了关闭该关闭的资源外,更多的时候导致系统发生内存泄露原因可能是设计上决策不对、或者业务逻辑上的疏...

KevinYan
发表了文章

Go 语言里怎么正确实现枚举?答案藏着官方的源码里

在编程领域里,枚举是用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个实体对象的状态机来说,它通常与这个对象在数据库里对应记录的...

KevinYan
发表了文章

Go语言程序设计(一)基础类型和复合类型

最近在读《Go 语言程序设计》这本书想通过看书巩固一下自己的基础知识,把已经积累的点通过看书学习再编织成一个网,这样看别人写的优秀代码时才能更好理解。当初工作中...

KevinYan
发表了文章

微服务难点剖析 | 服务拆的挺爽,问题是日志该怎么串联起来呢?

现在微服务架构盛行,很多以前的单体应用服务都被拆成了多个分布式的微服务,以解决应用系统发展壮大后的开发周期长、难以扩展、故障隔离等挑战。

KevinYan
发表了文章

Go 服务进行自动采样性能分析的方案设计与实现

线上服务的性能分析,一直以来都是比较难的点,主要是难在无法在性能出现异常的当时捕捉到现场信息。有人可能会说,这有什么难的,直接用 Go 工具集里的 pprof ...

KevinYan
发表了文章

好棒,测试妹子都能看懂的Jenkins Docker安装教程

最近团队出了个线上BUG,导致了几个用户的订单不对,因为发现的及时,客服那边还没有接到投诉就修正过来了。所以就想贿赂测试妹子这次BUG能不能不往上报,要不然我还...

KevinYan
发表了文章

这个认证申请下来Goland IDEA 等全系产品免费使用 | 附申请说明

前两周我的 JetBrains 家的激活码临近到期,所以又去 JetBrains 家走开源项目支持计划拿到了新一年的全产品激活码。

KevinYan
发表了文章

浅析AES和RSA加密算法的区别和适用场景

信息数据传输的安全一直都是个很重要的话题,从刚开始当程序员时错以为MD5、SHA1这些哈希算法就是加密算法,到后来慢慢接触对称加密、非对称加密这些概念,再到对接...

KevinYan

个人简介

个人成就

扫码关注腾讯云开发者

领取腾讯云代金券