后朋大乱斗
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

架构整洁之道--SOLID原则

SRP:单一职责不要将不同行为者的代码混在一起。 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中,即又定义有且仅有一个原因使类变更。 OCP:开闭软件系统想要更容易被改变,那么其设计就必须允许新增代码来修改系统行为,而非只能靠修改原来的代码。 一个好的软件架构设计师会努力将旧代码的修改需求量降至最小,甚至为 0。但该如何实现这一点呢?我们可以先将满足不同需求的代码分组(即 SRP)
2022-10-22
设计

go zero使用记录

格式化api文件1goctl api format --dir=. 根据.api文件生成swagger安装: 1GOPROXY=https://goproxy.cn/,direct go install github.com/zeromicro/goctl-swagger@latest 生成文件: 1~/mylocalfile/aWork/code/flora-gopacket-api &
2022-10-22
golang

go的mapstructure库

github地址:github.com/mitchellh/mapstructure 简介该库的作用是用于将map转换为结构体,或者将结构体转换为map,该库还做了很多处理时的错误处理。 比如当你获取到json或者gob数据的时候,不知道其具体结构,只能先将其转换为map[string]interface{},然后可以用该库将map[string]interface{}转换为方
2022-09-29
golang
#原创

linux命令太长换行

可以在末尾加上 \,然后写第二行,如下: 1234docker run -d --name=service-test --net=host \-v $PWD/config/config.yml:/usr/local/app/config.yml \-v $PWD/logs:/usr/local/app/logs \service -c=config.yml 直接把这个命令粘贴到Terminal
2022-09-28
运维
#原创

struct转为map,并使得未被赋值的字段不出现在map里

问题今天写代码遇到了一个函数实现的问题,该函数的功能是根据某个struct的json tag,构建对应的map[string]interface{}。如果struct中某个字段未赋值或者为默认值,那么得到的map中不要出现该字段。比如 1234type Student struct { Name string `json:"name"` Age int `js
2022-09-25
golang
#原创

kibana可视化饼状图增加过滤条件

前提:在kibana可视化中,需要选择饼图呈现统计结果。 要求:饼图只统计http_type:response的数据。 修改前只有这一个Buckets: 需要在这个Bucket前面增加一个Split chart,Split chart内增加过滤条件。 修改后:
2022-09-18
运维
#原创

更改通过docker运行的kibana的显示语言

因为kibana是通过 docker compose启动的,docker compose通过I18N_LOCALE: "zh-CN"定义了显示语言为中文: 1234567891011121314151617181920version: "3.5" services: elasticsearch: container_name: elasticse
2022-09-16
运维

docker学习小记

docker学习小记 Dockerfile命令解析COPY语法 12COPY [--chown=<user>:<group>] <源路径>... <目标路径>COPY [--chown=<user>:<group>] ["<源路径1>",... "<目标路径>"]
2022-09-01
运维

gohangout项目代码阅读总结

原文 功能gohangout类似logstash,从输入(ES,Kafka,Stdin等)读取数据,经过一些过滤和加工,将处理好的数据输出到指定输出中(ES,Stdin等) 代码可学习多个flag的结构化如果有多个flag参数,可以把参数的读取定义在init()中,这些参数在main所在文件里定义成一个option 注意option是个指针 1234567891011121314151617181
2022-08-17
golang

go设计模式

原文 Go语言并非是像C++和Java一样的面向对象语言,但是设计模式同样适用 创建型Creational Design Patterns单例Singleton主要用于保证一个类仅有一个实例,并提供一个访问它的全局访问点。 如何判断一个对象是否应该被建模成单例? 通常,被建模成单例的对象都有“中心点”的含义,比如线程池就是管理所有线程的中心。所以,在判断一个对象是否适合单例模式时,先思考下,这个对
2022-08-15
golang
1…678910…13

搜索

Hexo Fluid