返回联盟成员

Debug 客栈

Meng 小羽 · debuginn.com

永远相信美好的事情即将发生

198
篇收录文章
访问博客
https://blog.debuginn.com/
Debug 客栈 首页截图正在生成网站截图

最新文章

Go 并发编程之 Mutex

我们比较常见的大型项目的设计中都会出现并发访问问题,并发就是为了解决数据的准确性,保证同一个临界区的数据只能被一个线程进行操作,日常中使用到的并发场景也是很多的: 计数器:计数器结果不准确; 秒杀系统:由于同一时间访问量比较大,导致的超卖; 用户账户异常:同一时间支付导致的账户透…

优雅的使用 Brew 切换 Go 版本

Brew 是 Mac 上包管理工具,和 Linux 上的 apt 、yum、rpm 一样,可以提供非图形化软件的安装,昨天在打造宇宙最强 IDE 的时候,使用 brew 工具更新了一下软件包,是我的 Go 版本升级到了最新版本,同时之前配置的多版本 Go 抹掉了,现在写一下记录,…

Go IP 段范围校验

近期做了一个需求,是检测某个 IP 是否在若干 IP 段内,做固定地点 IP 筛查,满足特定业务需求。 解决方案 PLAN A 点分十进制范围区分 简单来讲,就是将 IPv4 原有的四段,分别对比 IP 地址,查看每一段是否在 IP 段范围内,可以用于段控制在每一个特定段 0 ~…

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

限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务、网关、和一些后台服务中会经常遇到。限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现。 限流器的实现方法有很多种,例如 Token Bucket、滑动窗口法、Lea…

我的 MacBook Pro 又满血复活啦

经过近两个星期的检测,维修 ?,我的 MacBook 满血复活了,事情是这样的,两周前我的电脑突然之间就黑屏,有充电反馈,键盘,Bar 和触控板均失灵,拿到公司 IT 部门,给我的意见是去售后 ?,紧接着到了周末去了售后,给我的解决方案是更换硬件,告诉我说要更换主板,也就代表着硬…

Go 语言实现 RPC 调用

RPC 在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无…

使用 GVM 工具管理 Go 版本

在 Go 项目开发中,团队要保持开发版本一致,怎么能够快速的安装及部署并且切换 Go 环境,在这里推荐一款工具 GVM ( Go Version Manager ),它可以便捷切换与自定义 Go Path 、Go Root 等参数,是一款实打实的多版本安装及管理利器。 GVM,类…

Go 语言操作 MySQL 之 SQLX 包

SQLX 库 sqlx 是 Go 的软件包,它在出色的内置 database/sql 软件包的基础上提供了一组扩展。 该库兼容 sql 原生包,同时又提供了更为强大的、优雅的查询、插入函数。 该库提供四个处理类型,分别是: sqlx.DB - 类似原生的 sql.DB; sqlx…

Go 语言操作 MySQL 之 预处理

预处理 预处理是 MySQL 为了防止客户端频繁请求的一种技术,是对相同处理语句进行预先加载在 MySQL 中,将操作变量数据用占位符来代替,减少对 MySQL 的频繁请求,使得服务器高效运行。 在这里客户端并不是前台后台之间的 C/S 架构,而是后台程序对数据库服务器进行操作的…

Go 语言操作 MySQL 之 事务操作

事务 数据库事务 (transaction) 是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行, 要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。 MySQL 存储引擎分类有 MyISAM、InnoDB、Memo…

Go 语言操作 MySQL 之 CURD 操作

MySQL 是目前开发中最常见的关系型数据库,使用 Go 语言进行操控数据库需要使用 Go 自带 database/sql 和驱动 go-sql-driver/mysql 来实现, 创建好 Go 项目,需要引用驱动依赖: 1 go get -u github.com/go-sql…

Go 语言基础 数组、切片、映射

在 Go 语言中,为便于存储及管理用户数据,其数据结构设计分为数组 Array、切片 Slice、映射 Map 三种结构。 近期又看了 Go 语言基础的内容,看了一下这三种结构实现的原理: 数组 Array 数组是切片和映射的基础数据结构; 数组是长度固定的数据类型并且在内存中也…

Go 语言使用 net 包实现 Socket 网络编程

TCP/IP TCP/IP 传输协议,即传输控制 / 网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP 传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP 传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/I…

Linux Vim 命令手记

经常使用 Linux 的同学在编辑文本文件的时候一定知道 Vim 这一款神器,它代替 Linux 默认原装的 Vi 编辑器,它的快捷键可以使你在操控文件的时候如庖丁解牛般流畅,博主目前只会简单的命令,感觉不能满足开发需求,今天特地的学习了一下,并且针对于常用的命令做了整理及汇总:…

怎么优雅的选择 MySQL 存储引擎

对于数据库这一块询问比较多的就是在 MySQL 中怎么去选择一种合适当前业务需求的存储引擎,而 MySQL 中支持的存储引擎又有很多种,那么 MySQL 中分别又有那些,怎么优雅的使用呢? 划分引擎原因 在文件系统中,MySQL 将每个数据库(也可以称之为 schema )保存为…

搭建流媒体服务器 PingOS 平台搭建

近期由于工作原因需要更换公司原有 RTMP 协议推流,由于 Flash 插件今年年底就淘汰使用,并且一直在寻找一种并发好、延时低、同时便于回放功能的应用,在网上找到了基于 Nginx + FFmpeg 推流的解决方案,可以实现 HLS 协议推流,看项目介绍可以实现 HLS+ 协议…

数据结构 浅谈归并排序

在 v2ex 社区看到有人提问怎么把十万个电话号码排出出现次数最多的十个电话号码,我看到这个问题的时候第一时间想到的是将十万个电话号码读出来放到 Redis 中,之后做一个动态计数器,使用 foreach 函数对这个电话号码进行遍历,以电话号码为索引 key,计数器 value …

记一次不太正规的装机实践

早就想着装一台组装机,来实操一下高中学的计算机组装与维修 ?,哈哈,开玩笑,想着组装一台电脑是我早有打算的事情,凭借着在学校实验室的时候帮助老师修理百十来台电脑的经验也可以轻松应对,正好家里人有装电脑的需求,本想着装机是一件比较愉快的事情,实时是激动的心、残废的手,装机翻车了,不…

近期理财学习总结

最近在上了一个在线的理财班(微信群实时上课),因为收费比较便宜,自己抱着学到赚到的原则,看看实际情况进行合理安排自己的进阶课程,因为知道这是一个类似公益性质的课程,之后会推荐他们专业课程,所以自己有一定的衡量,接下来对这个理财做一下小结。 之前并没有意思到理财的重要性,主要是因为…

Redis 知识点汇总

1.Redis 数据结构有哪些 ? 1 2 String List Hash Set Sorted Set bitmap Geo HyperLogLog Streams 2.Redis 相比 memcached 有哪些优势? memcached 所有的值均是简单的字符串; red…

输入关键词搜索博客名称、作者或域名。

Esc 关闭回车查看全部结果

删除确认

即将删除「」。此操作不可恢复

请输入 以确认: