分类: 码一片天

38 篇文章

golang-IO缓冲
package main import ( "fmt" "os" "time" ) var ( text = "recall 74 by radic, recall 0 by milvus_short, recall 0 by milvus_long\n" ) // 带缓存的FileWriter type BufferedFileWriter st…
thumbnail
golang日志切割并压缩
关于日志的一些问题: 单个文件过大会影响写入效率,所以会做拆分,但是到多大拆分? 最多保留几个日志文件?最多保留多少天,要不要做压缩处理? 一般都使用 lumberjack这个库完成上述这些操作 lumberjack //info文件writeSyncer infoFileWriteSyncer := zapcore.AddSync(&lu…
Java数据字典方案
问题分析 在应用项目中,我们总会遇到很多字典项的数据,比如类型、状态等。这些数据一般是有限个可选值,在前端可能作为 Select 控件存在,用于录入、搜索等场景。 这类数据的一般作为配置存在,怎么设计才能让前后端维护方式最低呢? 我们在团队上做了很多讨论,结合过完项目的经验把潜在方案整理如下。 方案枚举 假定我们经过简单的头脑风暴,可以枚举出下面的…
thumbnail
聊聊Git使用中的坏习惯
众所周知啊🤔,很多公司的度量系统可以展示你提交了多少次commit,以及每一次提交包含多少行代码。 搞得部分兄弟一天可劲 add commit push。他那一个变更发上线,你打开Git Log,好家伙那一大串都是他。加加减减缝缝补补,最后一共改了20行代码,硬是刷出了200行的功德。 一串Git commit message如下: AoneBui…
Uber Go规范:编码和命名
Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 GitHub,经过一年的积累和更新,该规范已经初具规模,并受到广大 Gopher 的关注,本文是对规范的整理 来源:ht…
Go日志库-Zap
相比其他语言,Go 标准库里的 log 模块已经很好用了。但还是缺少一些常用的功能,比如按等级输出。于是又出现了许多第三方库,例如最出名的 logrus,不过已进入维护状态。作者认为 logrus 已经完成了它的使命——推动结构化日志的发展。至于之后的扩展优化,将有更优秀的作品。 这里将记录其中之一—— zap。 zap 是 uber 开源的高性能…
thumbnail
go配置管理-Viper的简单使用
此文章只是对Viper库的简单使用,读取本地配置文件(json,yaml....) 其他使用操作可以观看官方文档 配置类 MySQL import ( "fmt" ) // MySQL配置 type mysqlConfig struct { Host string `mapstructure:"host" yaml:"host"` // 主机 Po…
thumbnail
从0开始搭建GoWeb脚手架
基本框架 Web框架:Gin 数据库:Mysql 配置中心&注册中心:Nacos && 本地配置文件 配置文件读取和监听:viper env配置:env v6 配置类 MySQL import ( "fmt" ) // MySQL配置 type mysqlConfig struct { Host string `mapstr…