06 2023 档案

摘要:概念 kratos 为了使http协议的逻辑代码和grpc的逻辑代码使用同一份,选择了基于protobuf的IDL文件使用proto插件生成辅助代码的方式。 protoc http插件的地址为:https://github.com/go-kratos/kratos/tree/main/cmd/pro 阅读全文
posted @ 2023-06-29 22:32 daemon365 阅读(482) 评论(0) 推荐(0) 编辑
摘要:## net/http 路由注册 ```go func test1() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello world!") }) err := htt 阅读全文
posted @ 2023-06-28 20:47 daemon365 阅读(36) 评论(0) 推荐(0) 编辑
摘要:## 关于 Cobra 是 Go 的 CLI 框架。它包含一个用于创建功能强大的现代 CLI 应用程序的库,以及一个用于快速生成基于 Cobra 的应用程序和命令文件的工具。 Cobra 由 Go 项目成员和 hugo 作者 [spf13](https://github.com/spf13) 创建, 阅读全文
posted @ 2023-06-28 00:30 daemon365 阅读(786) 评论(0) 推荐(0) 编辑
摘要:## 责任链模式 **责任链模式**是一种行为设计模式, 允许你将请求沿着处理者链进行发送。 收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。比如 `kratos`,`gin`等开源库的中间件实现。 ### 代码实现 ```go package main import ( 阅读全文
posted @ 2023-06-26 23:27 daemon365 阅读(22) 评论(0) 推荐(0) 编辑
摘要:## 适配器模式 适配器模式用于转换一种接口适配另一种接口。比如,现在有个借口是对`json`字符串进行分析等,现在有一些`yaml`文件也要分析,这时候我我们就应该给`yaml`字符串就个适配器,转换成`json`字符串,然后就行分析。 ### 代码实现 ```go package main im 阅读全文
posted @ 2023-06-26 23:08 daemon365 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Namespace 什么是 Namespace ? 这里的 "namespace" 指的是 Linux namespace 技术,它是 Linux 内核实现的一种隔离方案。简而言之,Linux 操作系统能够为不同的进程分配不同的 namespace,每个 namespace 都具有独立的资源分配,从 阅读全文
posted @ 2023-06-24 20:15 daemon365 阅读(366) 评论(2) 推荐(1) 编辑