使用md5盐值加密存储密码
在做用户相关服务的时候,会使用到存储用户信息的用户名、密码等功能,在验证用户登录时,就需要验证输入的密码是否正确。此时就需要使用一种密码存储方式对密码进行管理。
在做用户相关服务的时候,会使用到存储用户信息的用户名、密码等功能,在验证用户登录时,就需要验证输入的密码是否正确。此时就需要使用一种密码存储方式对密码进行管理。
工作中使用到数据库时,为了更好的抽象数据库的使用,通常会通过ORM处理对象关系,比较常用的框架是GORM和XORM,这里总结一下GORM常用的一些内容。
微服务开发过程中,一般使用gRPC框架更多,gRPC集成了链路追踪,超时控制等特性。
很多语言内存管理需要手动实现,而不是全部交由操作系统实现。内存管理的核心就是释放那些不会被使用的内存,根据内存被引用,或者变量是否被引用。
Golang的特性是协程并发,协程之间通信通过channel实现,本篇文章做一个channel原理的解析笔记
在Golang中,内存管理也相当重要,内存如何分配,如何回收。
go语言相比其他语言,其特性就在于goroutine,本篇记录go实现goroutine的原理。
微服务之间异步通信通常会使用消息队列中间件,kafka是范围比较广的。
context用于划分任务边界,或是一个子任务,或是并排罗列的任务。可通过context实现goroutine之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v等。现在越来越多的包引入context,使用context基本成为并发控制和超时控制的标准做法,context还是并发安全的。
Golang并发编程在实际使用过程中,多用于多任务处理场景,这里简单列举几个,增加对并发编程的理解。