服务和服务之间建立网络连接是开发中常见的操作,但是随着连接的次数、长连接的数量增加会产生各种资源的瓶颈,连接池就应运而生了。这里以 Go 的
sql.DB
为例,分析一下连接池注意点。
MQTT Protocol
Posted on
MQTT(Message Queuing Telemetry Transport)协议是 IMB 于 1999 年发布第一个版本,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。该协议广泛用于 IoT(物联网)、智能家居、小型设备。
gRPC
Posted on
gRPC(Google Remote Procedure Call) 是 Google 开发的高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 Protobuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。只需要定义请求和响应,然后 gRPC 会帮你处理一切剩余问题。
Golang CAS
Posted on
CAS(Compare And Swap)是 CPU 提供的最基本的原子操作指令,用来实现 Mutex、自旋锁等基础语言组件。本文介绍 Go 中 CAS 的基本使用方法。
《了不起的我》笔记
Posted on
陈海贤博士把自己 13 年心理咨询的经验和思考,结合多个心理学流派的理论,从行为、思维、关系、瓶颈期和人生地图这 5 个层面出发,给你一套实现人生突破的系统方法。
微服务 log 最佳实践
Posted on
微服务设计中的 log 最佳实践。
Leetcode Binary Operation
Posted on
常用算法
《非暴力沟通》笔记
Posted on
作者 Marshall B.Rosenberg,阮胤华译。我们说话是为了与人沟通,但实际上语言中无意识的暴力会破坏原本打算沟通的氛围,又或者对话从一开始就是暴力的方式,如果不能逐步冷静会导致冲突升级造成不良后果。本书列出了常见语言暴力现象,给出了应对语言暴力的方法,实际上是一种心理学方法,用于人与人或人与自己之间的沟通。
Leetcode Sliding Window
Posted on
剑指 Offer 59 - I. 滑动窗口的最大值
Leetcode Recur
Posted on