发布了文章2024-04-07
封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己的需求,封装出符合应用的业务需求的路由。你可以考虑将路由进行分类,例如公共路由、私有路由等,以方便管理。
发布了文章2024-04-07
这份题库经过精心策划和整理,覆盖了 Golang 领域的十大核心方面,包括并发与并行、通道的高级用法、性能优化、高级数据结构和算法、系统设计与架构、测试与错误处理、包管理与模块、反射和接口、安全性、参考简历等,是您面试准备的得力助手。
发布了文章2024-01-12
封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己的需求,封装出符合应用的业务需求的路由。你可以考虑将路由进行分类,例如公共路由、私有路由等,以方便管理。
发布了文章2024-01-08
2)保持文档与代码同步:代码和文档往往是不同步的,当代码发生变更时,手动更新文档可能容易出现遗漏或错误。自动生成接口文档可以保持文档与代码的同步,确保文档的准确性和实时性。
发布了文章2024-01-08
go-gin-api 这是一个基于 Gin 的 API 框架,它提供了 WEB 界面一键安装的方式,让你可以快速启动一个开箱即用的 Go 项目。无论你是否有项目经验,这个框架都适合作为练手项目使用 (新手入门必备) 。
发布了文章2022-01-16
维护这一层的开发者,可以称为 仓库管理员 ,当使用者需要查询数据的时候,需要告诉仓库管理员,由仓库管理员拿给他,至于仓库管理员从哪拿的数据,使用者无需关系。
发布了文章2022-01-09
上篇文章《Go - 如何编写 ProtoBuf 插件 (二) 》,分享了基于 自定义选项 定义了 interceptor 插件,然后在 helloworld.proto 中使用了插件,最后在 golang 代码中获取到使用的插件信息。
发布了文章2022-01-09
前言AOP 的全称为 Aspect Oriented Programming,意思是:面向切面编程。为什么会有这篇文章?是因为看了 Laravel 中 Pipeline 的设计,发现 Pipeline 就是基于 AOP 思想的一种实现。说起 AOP,就不得不说起 OOP,它们又是什么关系,有什么区别?AOP 与 OOP 的区别OO...
发布了文章2021-12-31
本文参与了 SegmentFault 思否征文「2021 总结」,欢迎正在阅读的你也加入。前言如果用一个词总结我的 2021 ,我想应该是 从容不迫 。面对繁重的工作,从容不迫...面对突如其来的变动,从容不迫...其实自己知道虽然做到了一些从容不迫,但还是改不了自己的急性子。关...
发布了文章2021-12-18
上篇文章《Go - 如何编写 ProtoBuf 插件 (一) 》,分享了使用 proto3 的 自定义选项 可以实现插件的编写,说到基于 MethodOptions 和 ServiceOptions 选项去实现 method 和 service 自定义设置拦截器。
发布了文章2021-12-18
前言我们要知道 proto3 和 proto2 的语法,并不是完全兼容的。具体可查阅官方文档:OverviewLanguage Guide (proto2)Language Guide (proto3)如果上述链接无法打开,可以访问这个文档:Overview - 语雀 。自定义选项在 proto3 中,常见的实现插件的方式是使用 自定义...
发布了文章2021-12-06
protoc 工具可以 通过相关插件 将 .proto 文件编译成 C、C++、Golang、Java、Python、PHP 等多种语言的代码。
发布了文章2021-11-28
我们常用的数据格式有 JSON 和 XML,为什么使用 ProtoBuf ?是因为它的传输快,为什么传输快?大家可以找下资料。使用 .proto 文件进行描述要序列化的数据结构,然后将写好 .proto 文件使用 protoc 就可以很容易编译成众多计算机语言的接口代码。
发布了文章2021-11-01
如果你有一个任务可以分解成多个子任务进行处理,同时每个子任务没有先后执行顺序的限制,等到全部子任务执行完毕后,再进行下一步处理。这时每个子任务的执行可以并发处理,这种情景下适合使用 sync.WaitGroup。
发布了文章2021-10-30
在 Golang 中 map 不是并发安全的,自 1.9 才引入了 sync.Map ,sync.Map 的引入确实解决了 map 的并发安全问题,不过 sync.Map 却没有实现 len() 函数,如果想要计算 sync.Map 的长度,稍微有点麻烦,需要使用 Range 函数。
发布了文章2021-10-30
因为我们想要提升程序性能,通过逃逸分析我们能够知道变量是分配到堆上还是栈上,如果分配到栈上,内存的分配和释放都是由编译器进行管理,分配和释放的速度非常快,如果分配到堆上,堆不像栈那样可以自动清理,它会引起频繁地进行垃圾回收(GC),而垃圾回收会占用...
发布了文章2021-10-30
sync.Pool 本质是用来保存和复用临时对象,以减少内存分配,降低 GC 压力,比如需要使用一个对象,就去 Pool 里面拿,如果拿不到就分配一份,这比起不停生成新的对象,用完了再等待 GC 回收要高效的多。
赞了文章2021-09-25
MySQL函数MySQL函数介绍数学函数字符串函数时间函数加密函数数学函数注意: 每个函数前面都需要加 : SELECT 。数学函数ABS() 返回绝对值 如: (-100) 值 : 100PI() 返回Π的圆规率 如 (不用写) 值 : 3.1415926CEIL() 向上取整数 如:(3.14) 值 :4 ( 注意第三个...
发布了文章2021-09-20
幂等性 更多使用的情况是第一次请求知道结果,但是由于网络抖动或连接超时等情况未进行正常返回,在这种情况下系统自动再次发起请求,其目的是确认第一次是否请求完成。
发布了文章2021-09-11
前言我们在平时工作中可能会有这样的需求,系统运行期间需要动态调整配置项,比如:调整系统告警人调整活动开关调整降级开关调整日志级别...以上这些还不够,随着程序功能的日益复杂对配置的期望也越来越高,还需要满足:实现分环境、分集群的管理配置实现配置的灰度...