Go的concurrency之goroutine
Golang中极有特点之一就是协程goroutine,通过关键字直接开启一个协程是非常简单的,但是在goroutine使用过程中有些关键点需要注意。
Golang中极有特点之一就是协程goroutine,通过关键字直接开启一个协程是非常简单的,但是在goroutine使用过程中有些关键点需要注意。
在微服务中会经常用到缓存,特别是在高并发的场景中,为了降低数据库压力和提高性能,使用缓存会非常频繁。
在日常工作过程中,可能会使用到远程办公的场景,或者在外需要使用家用设备的场景。办公场景下,往往可以通过VPN实现局域网接入,但是可能网络效果不怎么好;家用场景下,使用专用VPN设备或者使用固定公网都有些奢侈,甚至公网映射也比较麻烦。这种情况下可以通过内网穿透技术。
在一些支持分段获取文件的服务中,通过Range获取指定分片,可以分段获取文件而不用将文件整个下载下来。
使用protocol之后,更加符合微服务开发规范,并且定义即文档,开发效率大大提高。但是protobuf无法实现自定义报错内容,所幸这个功能Google已经在考虑,并且在validate的beta版本已经实现。
在业务开发过程中,有效的使用错误码可以很好的优化交互逻辑,并且可以更加规范的进行错误处理。
Golang中error是一个非常常见的返回值,如何高效和简便的处理error是一门重要学问。
微服务当前大热,几乎所有的厂商都希望把服务微服务化,减少服务之间耦合,加快开发、迭代速度。学习微服务设计是必不可免的一件事。
在日常工作中很多时候我们会用到排序算法,这里将常用的排序算法做一个归纳。
介绍Git在实际工作中的一些常用工具。