江哥架构师笔记

路漫漫其修远兮
吾将上下而求索

按时间排序目录 第6页

go学习:切片扩容原理

Go语言的内建函数 append() 可以为切片动态添加元素,代码如下所示: var a []int a = append(a, 1) // 追加1个元素 a ...

go学习:gin框架源码解析

gin框架路由详解 gin框架使用的是定制版本的httprouter,其路由的原理是大量使用公共前缀的树结构,它基本上是一个紧凑的Trie tree(或者只是Radix Tree)。具有公共前缀的节点也共享一个公共父节点。 Radix Tr...

go学习:pprof基础使用

前言 如果要说在 golang 开发过程进行性能调优,pprof 一定是一个大杀器般的工具。但在网上找到的教程都偏向简略,难寻真的能应用于实战的教程。这也无可厚非,毕竟 pprof 是当程序占用资源异常时才需要启用的工具,而我相信大家的编码...

k8s学习:修改pod时间

背景:有些项目, 有修改系统时间的测试需求。 目前的方案: 绑定了容器时间也宿主机的时间,保证时间一致性;宿主机上有定时任务,会定时矫正时间。 目前的问题: 修改了容器中的时间,但是宿主机的时间也一块改动了;有别的项目,反馈影响他们的应用了...

go学习:单元测试

Go语言拥有一套单元测试和性能测试系统,仅需要添加很少的代码就可以快速测试一段需求代码。 go test 命令,会自动读取源码目录下面名为 *_test.go 的文件,生成并运行测试用的可执行文件。输出的信息类似下面所示的样子: ok&nb...

prometheus学习:安装部署prometheus+grafana

作为监控系统的后起之秀,prometheus的安装可谓非常简单,不需要第三方的依赖(数据库、缓存、PHP之类的)。下面演示如何二进制安装prometheus、使用 Node Exporter 采集主机信息并使用Grafana来进行图形化的展...