Debug客栈

帅气的我简直无法用语言描述!
Go 并发编程之 Mutex

Go 并发编程之 Mutex

我们比较常见的大型项目的设计中都会出现并发访问问题,并发就是为了解决数据的准确性,保证同一个临界区的数据只能被一个线程进行操作,日常中使用到的并发场景也是很多的: 计数器:计数器结果不准确; 秒杀系统...
5年前
000
优雅的使用 Brew 切换 Go 版本

优雅的使用 Brew 切换 Go 版本

Brew 是 Mac 上包管理工具,和 Linux 上的 apt 、yum、rpm 一样,可以提供非图形化软件的安装,昨天在打造宇宙最强 IDE 的时候,使用brew工具更新了一下软件包,是我的 Go...
5年前
000
Go IP 段范围校验

Go IP 段范围校验

近期做了一个需求,是检测某个 IP 是否在若干 IP 段内,做固定地点 IP 筛查,满足特定业务需求。 解决方案 PLAN A 点分十进制范围区分 简单来讲,就是将 IPv4 原有的四段,分别对比 I...
5年前
000
Go 标准库 限流器 time/rate 设计与实现

Go 标准库 限流器 time/rate 设计与实现

限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务、网关、和一些后台服务中会经常遇到。限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现...
5年前
000
我的 MacBook Pro 又满血复活啦

我的 MacBook Pro 又满血复活啦

经过近两个星期的检测,维修 ?,我的 MacBook 满血复活了,事情是这样的,两周前我的电脑突然之间就黑屏,有充电反馈,键盘,Bar 和触控板均失灵,拿到公司 IT 部门,给我的意见是去售后 ?,紧...
5年前
000
Go 语言实现 RPC 调用

Go 语言实现 RPC 调用

RPC 在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台...
5年前
000
使用 GVM 工具管理 Go 版本

使用 GVM 工具管理 Go 版本

在 Go 项目开发中,团队要保持开发版本一致,怎么能够快速的安装及部署并且切换 Go 环境,在这里推荐一款工具 GVM ( Go Version Manager ),它可以便捷切换与自定义 Go Pa...
5年前
000
Go 语言操作 MySQL 之 SQLX 包

Go 语言操作 MySQL 之 SQLX 包

SQLX 库 sqlx是 Go 的软件包,它在出色的内置database/sql软件包的基础上提供了一组扩展。 该库兼容 sql 原生包,同时又提供了更为强大的、优雅的查询、插入函数。 该库提供四个处...
5年前
000
Go 语言操作 MySQL 之 预处理

Go 语言操作 MySQL 之 预处理

预处理 预处理是 MySQL 为了防止客户端频繁请求的一种技术,是对相同处理语句进行预先加载在 MySQL 中,将操作变量数据用占位符来代替,减少对 MySQL 的频繁请求,使得服务器高效运行。 在这...
5年前
000
Go 语言操作 MySQL 之 事务操作

Go 语言操作 MySQL 之 事务操作

事务 数据库事务( transaction )是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据...
5年前
000