skr shop是一群底层码农,由于被工作中的项目折磨的精神失常,加之由于程序员的自傲:别人设计的系统都是一坨shit,我的设计才是宇宙最牛逼,于是乎决定要做一个只设计不编码的电商设计手册。
今年总共写了 10篇 文章,数量上远远少于去年立的flag;不过今年文章的整体质量上是有所提升的。绝大部分都是花费了至少2周的时间去总结、学习然后才成文,每篇的写字时间也是至少5个小时才完成。今年也尝试写了...
本文目录速览: Golang的运行环境 内存 操作系统、CPU、内存互相配合 Go程序的调用规约 函数在栈上的分布 Go的调用实例 Go的汇编plan9 查看go应用代码对应的翻译函数 逃逸分析 传值还是传指针 总结 通过上一篇走...
为了学好Golang底层知识装逼,折腾了一下编译器相关知识。下面的内容并不会提升你的生产技能点,但可以提高你的装逼指数。请按需阅读! 本文目录速览: 认识 go build 编译器原理 词法分析 语法分析 语义分析 中...
我们前面说过了 CDN的知识,也通过抓包分析了 TCP建立链接的过程。今天一起聊一聊应用层的协议 HTTP/HTTPS;这是应用工程师日常中接触最久的协议了。但是你真的了解他吗?
做为一个有追求的程序员,不能只满足增删改查,我们要对系统全方面无死角掌控。掌握了这些基本的网络知识后相信,一方面日常排错中会事半功倍,另一方面日常架构中不得不考虑的高并发问题,理解了这些底层协议也...
对一次网络请求过程的了解程度,一是展现你的专业知识;二是深刻的理解,让你在大型网站架构中做出更适合、可靠的架构。而DNS是这一切的出发点,本文结合一张常用架构图,来描述一下这个过程。
通过 上篇文章 的分析,我们已经明确了这个系统要干些什么。接下来的都是实打实的干货。这些内容认真阅读掌握后,相信你能够以此为基础设计一个维护性好、扩展性好的交易系统。
文中我们从严谨的角度一步步聊到支付如何演变成独立的系统。内容包括:系统演进过程、接口设计、数据库设计以及代码如何组织的示例。若有不足之处,欢迎讨论共同学习。
近日遇到一个线上服务 socket 资源被不断打满的情况。通过各种工具分析线上问题,定位到问题代码。这里对该问题发现、修复过程进行一下复盘总结。
这几年的工作中一直与支付打交到,借着 skr-shop 这个项目来与大家一起分享探索一下支付系统该怎么设计、怎么做。我们先从支付的一些常见流程出发分析,找出这些支付的共性,抽象后再去探讨具体的数据库设计、代...
Redis为持久化提供了两种方式: RDB:在指定的时间间隔能对你的数据进行快照存储。 AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。 本文将通过下面内容的介绍,希望能够...
平时我们看的大部分资料,都是简单粗暴的告诉我们这个命令干嘛,那个命令需要几个参数。这种方式只会知其然不知其所以然,本文从命令的时间复杂度到用途,再到对应类型在Redis低层采用何种结构保存数据,希望让大...
最近阅读了《Redis开发与运维》,非常不错。这里对书中的知识整理一下,方便自己回顾一下Redis的整个体系,来对相关知识点查漏补缺。 我按照五点把书中的内容进行一下整理: {代码...} 先来开启第一部分的内容,...
当人们访问操作我们的系统时,其实归根是对数据的查看与生产。那么对于同一份数据,如果多个用户同时对它查看、修改时会出现什么问题呢?这必然会带来竞争,而为了控制并发的读取、修改数据会对数据造成的不一致...
其实 https://hub.docker.com/ 上面各种基础镜像非常完善,特别是官方的镜像质量非常之高,而我再捣腾一次完全是为了让自己掌握 Dockerfile 方面的技能而已。
以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流行,越来越多的人在docker上运行自己的项目,利用docker也非常...
继上篇文章后,继续来探讨下面的几个问题: 函数传参中值传递、指针传递与引用传递到底有什么不一样? 为什么说 slice、map、channel 是引用类型? Go中 slice 在传入函数时到底是不是引用传递?如果不是,在函数...
最近在学习Golang的过程中,发现一个有意思的事情,有的文章说函数调用传参时 slice 是引用传递,有的说是值传递。为什么同一个东西大家会不同认识?为了搞清楚其本质,我进行了以下内容的研究:
Life is short, code more!