10 我是大愚

尚未进行身份认证

我是大愚,PHP工程师,专注于服务端技术。热爱开源,在GitHub创建了一个PHP聚合支付的sdk项目,目前是此类最多star拥有的项目(Payment)。希望遇见跟多的同行互相学习进步。

等级
TA的排名 7k+

走进Golang之Channel的使用

对于 Golang 语言应用层面的知识,先讲如何正确的使用,然后再讲它的实现。channel 是什么Don't communicate by sharing memory, sh...

2020-05-18 10:01:00

大愚瞎说 #2

我们的机会在哪?所有的生意都被巨头干完了,为什么现在这些大佬30岁不到就事业有成了?因为生的时代好!在到处是机会的时代,只要敢想敢干都有一席之地。我们天天都在不停的说:机会总是有的,是的...

2020-05-18 10:01:00

Golang的Debug工具delve介绍

delve 的汉语意思是:钻研、探索;用这个来命名一个debug工具还是非常的形象。本文主要介绍该工具的安装与常用使用方法。是一个step-by-step的文章。目标是帮助大家学会如何使...

2020-05-11 11:40:00

[Skr-Shop]购物车之架构设计

来还债了,希望大家在疫情中都是平安的,回来的时候公司也还在!

2020-04-06 14:18:14

再也不见2019,欢迎2020

题图中的话出自 丰子恺的《不宠无惊过一生》 ,这这句是一种生活的境界,如若真能做到,算是活到了人生至高境界!回顾 2019 年,犹如东逝之水,奔流而不复回;用此为文总结一下点点滴滴,以此...

2019-12-29 17:14:43

[Skr-Shop]购物车设计之需求分析

skr shop是一群底层码农,由于被工作中的项目折磨的精神失常,加之由于程序员的自傲:别人设计的系统都是一坨shit,我的设计才是宇宙最牛逼,于是乎决定要做一个只设计不编码的电商设计手册。项目地址:https://github.com/skr-shop/manuals对于一个电商来讲,购物车是整个购买流程最重要的一步。因为电商发展到今天购物车不仅仅只是为了完成打包下单的功能;也是收藏、对...

2019-12-10 15:11:25

走进Golang之运行与Plan9汇编

本文目录速览:Golang的运行环境内存操作系统、CPU、内存互相配合Go程序的调用规约函数在栈上的分布Go的调用实例Go的汇编plan9查看go应用代码对应的翻译函数逃逸分析传值还是传指针总结通过上一篇走进Golang之汇编原理,我们知道了目标代码的生成经历了那些过程。今天我们一起来学习一下生成的目标代码如何在计算机上执行。以及通过查阅 Golang...

2019-11-27 11:10:18

走进Golang之编译器原理

为了学好Golang底层知识装逼,折腾了一下编译器相关知识。下面的内容并不会提升你的生产技能点,但可以提高你的装逼指数。请按需进入!本文目录速览:认识 go build编译器原理词法分析语法分析语义分析中间码生成代码优化机器码生成总结认识 go build当我们敲下 go build 的时候,我们的写的源码文件究竟经历了哪些事情?最终变成了可执行文件。这个命令...

2019-11-14 09:49:16

高并发架构的CDN知识介绍

对一次网络请求过程的了解程度,一是展现你的专业知识;二是深刻的理解,让你在大型网站架构中做出更适合、可靠的架构。而DNS是这一切的出发点,本文结合一张常用架构图,来描述一下这个过程。部署架构大型的web服务,我们的部署架构一般如下图。先上图再解释。这里来解释下,为什么要这样架构。首先客户端的请求会通过 DNS 获取到对应的服务器IP(实际上是LB的ip地址),这一层会有 DNS的负载均衡...

2019-04-29 18:20:18

高并发架构的CDN知识介绍

对一次网络请求过程的了解程度,一是展现你的专业知识;二是深刻的理解,让你在大型网站架构中做出更适合、可靠的架构。而DNS是这一切的出发点,本文结合一张常用架构图,来描述一下这个过程。部署架构大型的web服务,我们的部署架构一般如下图。先上图再解释。这里来解释下,为什么要这样架构。首先客户端的请求会通过 DNS 获取到对应的服务器IP(实际上是LB的ip地址),这一层会有 DNS的负载均衡...

2019-04-29 18:19:14

coder,你会设计交易系统吗(实干篇)?

通过 上篇文章 的分析,我们已经明确了这个系统要干些什么。接下来的都是实打实的干货。这些内容认真阅读掌握后,相信你能够以此为基础设计一个维护性好、扩展性好的交易系统。数据库设计数据的设计是按照:交易、退款、日志 来设计的。对于上面说到的对账等功能并没有。这部分不难大家可以自行设计,按照上面讲到的思路。主要的表介绍如下:pay_transaction 记录所有的交易数据。pay_trans...

2019-03-22 19:33:02

coder,你会设计交易系统吗(概念篇)?

文中我们从严谨的角度一步步聊到支付如何演变成独立的系统。内容包括:系统演进过程、接口设计、数据库设计以及代码如何组织的示例。若有不足之处,欢迎讨论共同学习。从模块到服务我记得最开始工作的时候,所有的功能:加购物车/下单/支付 等逻辑都是放在一个项目里。如果一个新的项目需要某个功能,就把这个部分的功能包拷贝到新的项目。数据库也原封不动的拷贝过来,稍微根据需求改改。这就是所谓的 单体应用 时代,...

2019-03-11 14:23:12

coder,你会设计交易系统吗(概念篇)?

文中我们从严谨的角度一步步聊到支付如何演变成独立的系统。内容包括:系统演进过程、接口设计、数据库设计以及代码如何组织的示例。若有不足之处,欢迎讨论共同学习。从模块到服务我记得最开始工作的时候,所有的功能:加购物车/下单/支付 等逻辑都是放在一个项目里。如果一个新的项目需要某个功能,就把这个部分的功能包拷贝到新的项目。数据库也原封不动的拷贝过来,稍微根据需求改改。这就是所谓的 单体应用 时代,...

2019-03-11 14:23:02

线上大量CLOSE_WAIT分析

这一次重启真的无法解决问题了:一次 MySQL 主动关闭,导致服务出现大量 CLOSE_WAIT 的全流程排查过程。近日遇到一个线上服务 socket 资源被不断打满的情况。通过各种工具分析线上问题,定位到问题代码。这里对该问题发现、修复过程进行一下复盘总结。先看两张图。一张图是服务正常时监控到的 socket 状态,另一张当然就是异常啦!图一:正常时监控图二:异常时监控从图中的表现...

2018-12-13 09:35:31

第三方支付的流程分析与总结

这几年的工作中一直与支付打交到,借着 skr-shop 这个项目来与大家一起分享探索一下支付系统该怎么设计、怎么做。我们先从支付的一些常见流程出发分析,找出这些支付的共性,抽象后再去探讨具体的数据库设计、代码结构设计。相关项目:PHP 版本的支付SDKGo 版本的支付SDK-开发中支付整体而言的一个流程是:给第三方发起了一笔交易,用户通过第三方完成支付,第三方告诉我支付成功,我把用户...

2018-12-09 18:51:08

Redis的数据类型——探究竟

接上篇 为什么要用Redis,今天来聊聊具体的Redis数据类型与命令。本篇是深入理解Redis的一个重要基础,请坐稳,前方 长文预警。 本系列内容基于:redis-3.2.12文中不会介绍所有命令,主要是工作中经常遇到的。平时我们看的大部分资料,都是简单粗暴的告诉我们这个命令干嘛,那个命令需要几个参数。这种方式只会知其然不知其所以然,本文从命令的时间复杂度到用途,再到对应类型在...

2018-07-27 09:43:21

为什么要用Redis

最近阅读了《Redis开发与运维》,非常不错。这里对书中的知识整理一下,方便自己回顾一下Redis的整个体系,来对相关知识点查漏补缺。我按照五点把书中的内容进行一下整理: • 为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因; • Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构; • Red...

2018-07-27 09:42:29

Dockerfile 与 Compose 环境搭建学习笔记(二)

上一篇文章对整体结构进行了简单记录,这一篇介绍下关于Dockerfile自定义镜像以及各个服务的配置。 其实 https://hub.docker.com/ 上面各种基础镜像非常完善,特别是官方的镜像质量非常之高,而我再捣腾一次完全是为了让自己掌握 Dockerfile 方面的技能而已。 在选择基础镜像方面,推荐使用 Alpine ,然后再它上面进行定制,因为它非常的小仅3M。我的...

2018-07-27 09:40:43

Dockerfile 与 Compose 环境搭建学习笔记(一)

以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流行,越来越多的人在docker上运行自己的项目,利用docker也非常方便模拟各种线上集群,相比虚拟机效率会更高,不管是搭建还是运行。网络上关于docker搭建环境的资料非常之多了,但自己一直没有进行过实践。纸上得来终觉浅,只有自己动...

2018-06-26 10:03:44

我理解的指针与引用

最近在学习Golang的过程中,发现一个有意思的事情,有的文章说函数调用传参时 slice 是引用传递,有的说是值传递。为什么同一个东西大家会不同认识?为了搞清楚其本质,我进行了以下内容的研究:变量的变量名、变量值、变量地址在内存中是怎么样的?指针的定义是什么?引用的定义是什么?二者有什么关系?函数传参中值传递、指针传递与引用传递到底有什么不一样?Go中 slice 在传入函数时到底是...

2018-06-06 09:44:13

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。