Golang技术栈归结

2023 ***

golang中使用原子操作监听配置更新  atomic.Value的用法 / sync.Cond等待通知 / 加载json文件 / 获取文件hash值

kratos项目中使用分布式锁介绍

压测合集 wrk/sysbench/ghz

kratos项目中使用gorm的Transaction的方法介绍  事务开始时使用tx / 使用依赖注入初始化Transaction / 使用ctx传递tx

kratos项目集成kafka介绍  还有将yaml配置文件加载到biz层使用的方法

kratos项目使用中间件Middleware介绍 注意server/http.go中httpServer除了中间件的各种配置项(还有CORS配置封装响应体结构/ 在ctx中传递uid

kratos项目使用错误码介绍 注意server/http.go中封装的响应结构的写法

kratos中使用rockscache介绍

go-zero中好用的流处理利器fx与mr介绍 

 

 

Kratos项目中使用dtm分布式事务  app_server有使用etcd注册与发现服务&pkg包使用gconv包转换结构体及结构体切片 / 

 

 

2022 ***

 「转」50个Go新手容易犯的错误 

Golang中使用HTTP连接池及实际案例 *** netstat命令

xorm+postgreSQL实现事物与in查询 *** xorm事物/xorm拼接in操作/insert遇到主键冲突 on conflict do nothing或update

Golang在函数中修改外部变量

golang项目中使用异步任务

golang限制发送HTTP请求速率的方法

golang生成随机字符串  ***2种方法/还有性能测试的代码

Golang中slice操作的一些问题 *** slice引用类型的特殊问题

Golang获取随机float64(正数)数据与随机int数据(可以是负数) *** decimal包的使用

Golang处理小数四舍五入与不进行四舍五入的用法 *** decimal包的使用

go.mod文件replace语法 

expr包的使用

golang校验结构体字段的库validator的使用

gorm更新数据遇到的空值问题 *** gorm使用map修改空值/structs包结构体转map/validator包校验结构体

gorm使用Save方法处理时间字段的坑

使用channel控制并发数以及超时的写法 ***还有超时的写法

控制Goroutine并发量的解决方案 *** 

sync.Once的基本使用以及拓展 单例模式/带返回错误/查询是否初始化过

使用errgroup并发查询数据库

golang实现等待通知机制的方法 sync.Cond / sync.Waitgroup / channel实现

golang中goroutine泄漏的问题以及解决方案 goroutine泄漏/退出协裎

2021 ***

xorm相关操作小结  *

go-pg库操作PostgreSQL小结 *

使用go-retryablehttp包实现http“链接池”效果 还有waitGroup控制并发请求的写法/加锁保证并发安全

使用pgcli工具连接postgreSQL数据库服务

Go struct类型的map结构体成员不能修改的问题  ***

使用mysqldump同步两台服务器中不同数据库相同表结构的表 shell脚本手动同步MySQL 

Golang中使用recover捕获panic的操作及遇到的一个坑

项目中使用进程内缓存的一些经验及注意事项  *** 进程缓存使用及注意事项

postgreSQL数据备份与迁移的完美实践 *** pgdump/pgrestore

MySQL与postgreSQL在left join查询时的区别 

解决MySQL5.7的表无法插入中文的问题

使用waitgroup在循环中开Goroutine处理并发任务 ** 

MySQL与PostgreSQL中解决插入主键冲突的问题 *** on conflict do / ON DUPLICATE KEY

Golang在函数中给结构体对象赋值的一个坑 ***

Go出现panic的场景

Golang结构体与JSON相互转换时的小技巧 结构体标签中将float64数据类型解析为string

Golang中append与copy内置函数介绍 ***

Golang结构体序列化与反序列化时初始值的问题 *** omitempty标签/

关系型数据库跨时区查询简介

Redis内存使用率增长的一些解决思路 ******

Python VS Golang

浅谈Python与Golang中的“惰性求值” *** 闭包与goroutine的惰性求值/waitGroup的写法/惰性查询/惰性计算

Python与Golang中给列表中字典按照某个key排序的实现以及Go中给切片中的结构体排序 ***给列表中的 字典/结构体 按照key排序

在Golang中实现与Python装饰器类似功能的方法 ***Go中实现类似Python装饰器的效果

Python与Golang中“类的归一化设计”实现与对比 ***

Python与Go列表切片越界的对比 **

Golang中实现Python里面in操作的方法  ***第三方实现的一个hashset包

Python与Golang中实现单例模式 

封装方法 

go语言结构体转map的方法  ***

Golang中map转结构体的不同方法 *** 注意带下划线字段的处理

golang基础数据类型转换小结 (int/float/string/byte相互转换)*****

golang时间与时区相关操作总结时间时区操作*****

各种结构相互转换 (相对较乱,后面再拆分总结)

go操作Redis封装的方法 ***暂时只有list相关的方法/返回interface保证结构体必须实现某些方法

Golang操作redis与kafka封装的方法

使用golang实现的一个LRU缓存模块  *没有redis的话可以使用这个低级的缓存/加锁保证并发安全

常用操作

go常用操作 ***一些操作小技巧

Golang序列化与反序列化操作总结及一些实践经验 *** JSON序列化与反序列化

零碎杂谈

使用go module导入本地包 *

Go控制协裎并发数量的用法及实际中的一个案例 **

Golang函数或方法传递nil值的一个坑 ***type不一样的nil的坑/完整的http请求/支持GET与POST请求/POST参数的构建

实践指南

使用Go处理SDK返回的嵌套层级数据并将所需字段存入数据库(一)

使用Go解析HTTP返回数据为struct并存入数据库的操作 *** HTTP数据转json/json转结构体/结构体数据写入数据库/GORM查询单个及多条数据/时间字符串转时间戳

利用递归的方式获取restful风格有nextUrl接口返回的数据

使用go的http获取三方API的数据 *请求数据并将结果解析为map/string(有bug,后面加上使用连接池以及完善有err返回的写法)

使用Go处理带证书的请求(含发送POST请求的具体实现)

doris中的临时分区以及golang删除doris临时分区的操作

使用Go解压文件总结 

使用Go处理HTTP压缩文件数据总结 *** 解压的2种思路/自定义错误/http连接池/判断文件夹存在

使用Golang解压缩文件遇到的问题及解决方法

使用unpackit包解压gz包遇到的一个问题与解决方案 

学习记录

《Go语言开发实战》笔记 

go操作redis的一些练习

gin框架学习

官方文档中的许多实例

https://gin-gonic.com/zh-cn/docs/examples/   ***

个人笔记

gin框架入门练习笔记 * 获取参数/重定向/路由/中间件/运行服务等

gin项目的路由拆分与注册 *(实际项目大概结构)

gin框架实现简单的jwt认证

docker与kubernetes ***

自己总结

docker学习与应用

Docker与Es常用的操作命令

学习参考 

Docker技术入门与实战

如何使用Docker部署Go Web应用

posted on 2020-10-21 19:53  江湖乄夜雨  阅读(382)  评论(0编辑  收藏  举报