初识Go协程栈

2023-09-27
阅读 4 分钟
442
本文拉开垃圾回收部分序幕(预告:会切入一些关键点分析,杜绝市面千篇一律的内容)。由于Go协程的栈是Go运行时管理的,并分配于堆上,不由操作系统管理,所以我们先来看看协程栈的内存如何被Go运行管理和回收的。本篇文章先从初步认识协程栈开始。

为什么需要k8s?

2023-09-26
阅读 4 分钟
522
前言目前对k8s的一期学习规划如下:实践k8s搭建(已完成,点击查看)了解k8s前世今生(本文)由点到面认识k8s架构由面到点深入k8s架构今天开始逐步去了解k8s前世今生,本文结构如下:物理机以及存在的问题虚拟主机以及存在的问题docker诞生docker存在的问题物理机以及存在的问题直接使用物理机部署业务服务:部署方式问题 独...

100元实践k8s搭建过程

2023-09-26
阅读 10 分钟
570
工作中越来越重度使用k8s,想进一步了解k8s的工作原理。一方面学习业界优秀系统设计思路,另一方面多了解也可以提高日常工作效率,比如和k8s开发的沟通效率等。今天第一步:自己着手搭建一个k8s服务。

9张图轻松吃透Go内存管理单元

2022-05-21
阅读 4 分钟
1.8k
想深入了解Go语言的内存管理实现,必然绕不开「Go内存管理单元mspan」,今天我们就通过几张图,层层深入并解开「Go内存管理单元mspan」的神秘面纱。

Go内存架构,一个有趣的问题

2022-05-21
阅读 2 分钟
1.5k
在学习Go语言内存管理部分过程中,发现了一个很有意思的问题,今天就借助这篇文章:1.把这个问题也抛给大家,建议大家看见这个问题后,可以先自己思考一番🤔之后再读下文。2.进一步强化大家对Go内存架构的理解开始本篇文章之前,我们快速回顾下「Go内存架构」相关的核心知识点,温故知新。快速回顾「TCMalloc内存管理架构...

浅析Go内存管理架构

2022-04-15
阅读 3 分钟
2k
导读 {代码...} 今天我们开始进入《Go语言轻松进阶》系列第二章「内存与垃圾回收」第二部分「Go语言内存管理」。关于「内存与垃圾回收」章节,会从如下三大部分展开:读前知识储备(已完结)指针的大小内存的线性分配什么是FreeList?虚拟内存TCMalloc内存分配原理Go语言内存管理(当前部分)Go语言垃圾回收原理(未开始)第一...

64位平台下,指针自身的大小为什么是8字节?

2021-01-27
阅读 2 分钟
4.1k
系列导读 {代码...} 今天我们开始拉开《Go语言轻松系列》第二章「内存与垃圾回收」的序幕。关于「内存与垃圾回收」章节,大体从如下三大部分展开:知识预备:为后续的内容做一些知识储备,知识预备包括指针的大小Tcmalloc内存分配原理Go内存设计与实现Go的垃圾回收原理本篇前言第一部分知识预备的第一个知识点指针的大小...

由浅到深,入门Go语言Map实现原理

2021-01-27
阅读 10 分钟
14.7k
今天要分享的是主要内容是Go语言Map底层实现,目的让大家快速了解Go语言Map底层大致的实现原理。读完本篇文章你可以获得收益、以及我所期望你能获取的收益如下:

你想知道的优惠券业务,SkrShop来告诉你

2020-07-01
阅读 3 分钟
1.8k
经过两年的更新「SkrShop」已经构成了下面的架构:图中紫色的内容就是本编文章的主要内容:营销体系的基础服务「优惠券服务」。但是呢,首先要说的是关于不断被催更的事。关于催更?我给出了如下解释:人逢假日懒🤷‍♀️(我没错😭)、工作紧、需要保证质量,就酱。但是我一定能保证的是一直会更新下去,希望得到大家理解。关...

客户决策 | Go语言设计模式实战

2020-06-02
阅读 5 分钟
7.7k
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「策略模式」如何在真实业务场景中使用。 什...

状态变换 | Go语言设计模式实战

2020-06-02
阅读 7 分钟
3.1k
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「状态模式」如何在真实业务场景中使用。 「...

什么,秒杀系统也有这么多种!

2020-05-07
阅读 3 分钟
11.3k
前言 本文结构很简单: 5张图送你5种秒杀系统,再加点骚操作,再顺带些点心里话🤷‍♀️。 一个简单的秒杀系统 实现原理: 通过redis原子操作减库存 图一 优点 缺点 简单好用 考验redis服务能力 是否公平 公平 先到先得 我们称这类秒杀系统为: 简单秒杀系统 如果刚开始QPS并不高,redis完全抗的下来的情况,完全可以依赖这...

订阅通知 | Go语言设计模式实战

2020-04-12
阅读 11 分钟
4.4k
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 虽然本文的题目叫做“订阅通知”,但是呢,本文却主要介绍「...

代码组件 | Go语言设计模式实战

2020-04-11
阅读 9 分钟
3.2k
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「组合模式」如何在真实业务场景中使用。 什...

链式调用 | Go语言设计模式实战

2020-04-11
阅读 8 分钟
7.5k
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「责任链模式」如何在真实业务场景中使用。 ...

代码模板 | Go语言设计模式实战

2020-04-11
阅读 15 分钟
4.5k
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「模板模式」如何在真实业务场景中使用。 什...

通用抽奖工具之系统设计

2020-01-02
阅读 7 分钟
4.3k
前言 上篇文章《通用抽奖工具之需求分析》我们已经通过一些常见的抽奖场景,得到了符合这些抽奖场景的抽奖工具五要素: 抽奖五要素 要素名称 第一要素 活动 第二要素 场次 第三要素 奖品 第四要素 中奖概率 第五要素 均匀投奖 以及创建一个抽奖活动的5个基本步骤,如下: 活动配置 场次配置 奖品配置 奖品中奖概率配置 ...

[Skr-Shop]通用抽奖工具之需求分析

2019-12-26
阅读 4 分钟
4.9k
前言 首先我们先来回顾下营销体系的组成: 营销体系 活动营销系统 销售营销系统 今天带来的是活动营销系统下的第一个独立子系统通用抽奖工具的介绍,本篇文章主要分为如下4部分: 常见抽奖场景与归类 抽奖需求配置 常见奖品类型 抽奖五要素 常见抽奖场景与归类 下面是我列出来的一些常见的抽奖场景,红包雨、糖果雨、打...

面向对象的设计过程

2019-11-18
阅读 5 分钟
5k
前言 我一直认为分享的目的不是炫技。 一是,自我学习的总结。 二是,降低他人的学习成本。 三是,别人对自己学习结果的审核。 同时,本次分享有下面四个要素: 观点 本次分享的观点是一个软件工程中的思维方法,不限于编程语言 探讨 我可能理解错的,或者大家没理解的,欢迎大家积极评论,尽可能多互动,目的增加理解 ...

Go框架解析-gin

2019-07-08
阅读 7 分钟
5.3k
再完成各个golang框架生命周期的解析之后,我会计划对这几个框架的优略进行一个系列分析,由于业内大多都是性能分析的比较多,我可能会更侧重于以下维度:

golang框架解析-iris

2019-06-30
阅读 6 分钟
5k
报了个驾校,时隔两个多月没发文章了,驾考上周终于都结束了,这之后得补补前两月的文章了。之前定了个目标,读完beego、iris、gin等go框架的源码,之前已经发过一篇过于beego的文章golang框架解析-beego,今天带来的是go框架iris的解析,主要讲解iris框架的一个生命周期过程。

处理高并发的一般思路

2019-04-19
阅读 1 分钟
4.3k
今天看见有人聊目前系统有2亿的PV,该如何优化?当我看到这个话题的时候,突然在想自己工作中也遇到了不少高并发的场景了,所以即兴发挥,在这里简单总结和分享下,欢迎指正和补充。

电商设计手册之基础商品信息

2019-01-30
阅读 13 分钟
3.3k
前言 建议使用大屏设备(例如pad/pc),可以更好的浏览本篇文章 今天我们开始「商品系统」的篇章。本文分为如下五大模块: 需求分析 架构设计 Spu和Sku的故事 数据模型设计 接口设计 第一篇我们主要看看一个入门的电商平台(B2C)如何去构建自己的基础商品信息,其实这个事情很简单,想想我们的现实生活,商家摆放商品到货架...

go新手容易犯的三个致命错误

2019-01-20
阅读 5 分钟
3.9k
最近因为以前一些重要且古老的go项目基本没有人专职维护了,所以被安排去熟悉这些项目的代码,所以看了大量go的代码。历史原因,这些代码中或多或少有一些刚刚从PHPer转过来的Gopher去设计和开发的,自然有不少是在php(fpm模式下)码代码思路下埋藏的一些坑。今天我就来和大家一起分享一下最近发现的比较不容易发现和出现...

beego框架代码分析

2019-01-20
阅读 5 分钟
5.2k
也许beego框架在国内应该是众多PHPer转go的首选,因为beego的MVC、ORM、完善的中文文档让PHPer们得心应手,毫无疑问我也是。这种感觉就像当年入门PHP时使用ThinkPHP一样。

【短文】为什么我不在PHP的私有变量用下划线了?

2018-07-03
阅读 1 分钟
3k
前言 首先这个问题没什么好争论的。类似这种关于代码规范的问题,目前我的观点是: 跟随你面对的团队,跟随你面对的代码块 最近两次被别人问到php私有变量加下划线的问题,由于我开始也是这么做的,但是最后还是没用下划线了。最后想想还是把自己的想法说下吧。 为什么我不在PHP的私有变量用下划线了? 首先: 大家都知道...

关于开发流的一点思考

2018-05-24
阅读 2 分钟
2.1k
前言 突然想聊聊开发流的东西,可能在一个新的环境下对之前的整个开发流程有了些思考,思考什么? 我所理解的一个高效的开发流程应该是什么样的? 我所理解的开发流 实际工作也有四年了,做互联网开发也三年了,所以自然而然对整个软件开发流程有了些自己的想法和理解。对于我所理解的开发流程要有如下的特点: 尽可能的...

我所理解的接口设计

2018-03-13
阅读 5 分钟
10.1k
接口参数定义 -> 接口版本化的问题 -> 接口的安全性 -> 接口的代码设计 -> 接口的可读性 -> 接口文档 -> 我遇到的坑

走进mysql基础

2018-02-04
阅读 4 分钟
3.5k
前言 作为后端猿的我们,不出意外每天都会和mysql打交道。除了每天写不腻的CURD语句,关于mysql我们应该要了解它的那些基础知识呢? 直入主题 简单画出mysql的逻辑架构图? {代码...} mysql常见的引擎有哪些,区别是什么? InnoDB 支持事务 行锁 聚簇索引 辅助索引(二级索引)索引存放的是主键 MyISAM 不支持事务 表锁 崩...

我的2017年终总结

2018-01-04
阅读 2 分钟
2.8k
看书,买了《图解http》《高性能mysql》《深入理解nginx》《鸟哥的linux私房菜》《c primer plus》《go语言实战》《大话数据结构》《大话设计模式》