摘要: 背景介绍 我们先来看一下为什么要做集群,如果我们要部署一个单节点Redis,很明显会遇到单点故障的问题。 首先能想到解决单点故障的方法,就是做主从,但是当有海量存储需求时,单一的主从结构就会出问题,说问题之前要先了解一下主从之间是如何复制的。 我们把Redis分为三个部分,分别是客户端、主节点以及从 阅读全文
posted @ 2019-08-03 14:34 MARIOOW 阅读(13337) 评论(4) 推荐(9)
摘要: 背景介绍 在微服务横行的时代,服务化思维逐渐成为了程序员的基本思维模式,但是,由于绝大部分项目只是一味地增加服务,并没有对其妥善管理,当接口出现问题时,很难从错综复杂的服务调用网络中找到问题根源,从而错失了止损的黄金时机。 而链路追踪的出现正是为了解决这种问题,它可以在复杂的服务调用中定位问题,还可 阅读全文
posted @ 2019-06-07 00:56 MARIOOW 阅读(8305) 评论(5) 推荐(15)
摘要: 背景介绍 复制,就是对数据的完整拷贝,说到为什么要复制,首先能想到的是怕数据意外丢失,使得用户蒙受损失。 当完成了数据复制之后,会发现它的优势不止这一点,假如一台机器宕机了,可以启用备份在另一台机器的数据。毕竟宕机的概率很小,闲暇时间还可以让备份机器分担主机器的流量压力。除此之外,当要升级数据库版本 阅读全文
posted @ 2019-05-30 09:47 MARIOOW 阅读(1686) 评论(4) 推荐(5)
摘要: 什么是重构? “重构”一词想必你已经听腻了,就是整理代码呗,不不不,重构旨在不改变调用者行为的前提下,对内部逻辑进行调整优化,提高其理解性,降低其修改成本,它是一门艺术,是程序员至高无上的荣耀…… 何时重构?怎么重构? 经常听到周边的人抱怨没有时间重构,重构并不是单独抽出时间集中处理的,而是当你想要 阅读全文
posted @ 2019-05-13 13:24 MARIOOW 阅读(1914) 评论(3) 推荐(1)
摘要: 本文主要介绍分析源码的方式,其中包含环境的搭建、分析工具的安装以及源码调试的基本操作。 一、工具清单 PHP7.0.12 GDB CLion 二、源码下载及安装 三、GDB的安装与调试 3.1 安装 本文介绍两款调试工具,分别是GDB和CLion,前者为命令行调试工具,后者为图形界面调试工具,后者依 阅读全文
posted @ 2018-08-28 13:06 MARIOOW 阅读(5147) 评论(2) 推荐(2)
摘要: 专注于 Golang 相关文章和资料的开源项目 go-home ,欢迎关注! 想要解析邮件地址或处理邮件消息?Go 的 net/mail 包提供了符合 RFC 5322 标准的邮件解析能力,让你轻松处理邮件相关的各种场景。 1. 解析邮件地址 最常见的需求就是解析邮件地址。net/mail 能智能识 阅读全文
posted @ 2025-08-27 12:57 MARIOOW 阅读(206) 评论(0) 推荐(0)
摘要: 专注于 Golang 相关文章和资料的开源项目 go-home ,欢迎关注! Go语言以其简洁性和一致性著称,官方提供了完整的编码规范指导。本文基于Effective Go和Code Review Comments等官方文档,总结Go语言的核心编码标准和最佳实践。 1. 代码格式化 Go语言提供了自 阅读全文
posted @ 2025-08-26 16:34 MARIOOW 阅读(359) 评论(0) 推荐(1)
摘要: 专注于 Golang 相关文章和资料的开源项目 go-home ,欢迎关注! 在Go项目开发中,良好的目录结构对项目的可维护性和团队协作至关重要。本文基于社区广泛认可的项目布局标准,介绍Go项目的目录组织最佳实践。 1. 核心应用目录 - /cmd 项目的主要应用程序入口点应放在/cmd目录下。每个 阅读全文
posted @ 2025-08-26 10:24 MARIOOW 阅读(634) 评论(0) 推荐(1)
摘要: 专注于 Golang 相关文章和资料的开源项目 go-home ,欢迎关注! Go 1.25 版本带来了标准库的多项重要更新,包括新的并发测试包、实验性的 JSON v2 实现,以及多个核心库的性能优化和功能增强。 重要新增包 testing/synctest - 并发测试支持 新的 testing 阅读全文
posted @ 2025-08-25 14:24 MARIOOW 阅读(200) 评论(0) 推荐(0)
摘要: GitHub 链接:https://github.com/donnemartin/system-design-primer 什么是 System Design Primer? System Design Primer 是一个专注于系统设计的开源项目,由 Donne Martin 创建并维护。它旨在帮 阅读全文
posted @ 2024-11-01 21:05 MARIOOW 阅读(1509) 评论(0) 推荐(5)
摘要: GitHub 仓库链接:https://github.com/bxcodec/faker 简介 在开发和测试过程中,我们经常需要各种各样的测试数据。如果手动去生成这些数据,不仅耗时,还容易出错。faker 是一个 Go 语言的假数据生成库,可以快速生成各种字段的随机数据。这个库可以帮我们轻松生成各种 阅读全文
posted @ 2024-11-01 14:44 MARIOOW 阅读(652) 评论(0) 推荐(0)
摘要: GitHub 仓库链接:https://github.com/mattn/anko 1. anko 是干嘛用的? anko 是一个可以让 Go 项目支持脚本语言的小工具。换句话说,就是我们可以给 Go 项目加点“脚本魔法”,在程序跑起来之后还能动态地改代码逻辑。比如,你在写一个应用,想让用户可以随时 阅读全文
posted @ 2024-11-01 11:48 MARIOOW 阅读(484) 评论(0) 推荐(1)
摘要: 关键术语介绍 为了方便开源库的快速上手,我们先来了解 excel 中的几个关键术语,如下图所示,①为sheet,也就是表格中的页签;②为row,代表 excel 中的一行;③为cell,代表 excel 中的一个单元格。 正常情况下,创建一个表格的基本流程是打开 wps 点击新建,这时会默认创建一个 阅读全文
posted @ 2020-10-11 20:47 MARIOOW 阅读(4400) 评论(1) 推荐(1)
摘要: 什么是 API 网关? 所谓网关,主要作用就是连接两个不同网络的设备,而今天所讲的 API 网关是指承接和分发客户端所有请求的网关层。 为什么需要网关层?最初是单体服务时,客户端发起的所有请求都可以直接请求到该服务,但随着产品用户越来越多,单体应用存在显而易见的单点问题,除此之外,当单体应用大小升至 阅读全文
posted @ 2020-05-16 22:09 MARIOOW 阅读(1569) 评论(4) 推荐(2)
摘要: 这有一个专注Gopher技术成长的开源项目 "「go home」" 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了。但是局域网的设备怎么被外网访问呢?这就靠内网穿透来实现了。 内网穿透又叫 "NAT" 穿透,常 阅读全文
posted @ 2020-05-15 22:55 MARIOOW 阅读(10829) 评论(0) 推荐(0)