自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(669)
  • 收藏
  • 关注

原创 gRPC服务注册发现及负载均衡的实现方案与源码解析

今天聊一下gRPC的服务发现和负载均衡原理相关的话题,不同于Nginx、Lvs或者F5这些服务端的负载均衡策略,gRPC采用的是客户端实现的负载均衡。什么意思呢,对于使用服务端负载均衡的...

2020-10-25 09:22:25 2655 1

原创 Kubernetes Pod入门指南

Pod是Kubernetes项目里定义的最小可调度单元,是Kubernetes对应用程序的抽象。在这篇文章里我将会介绍Kubernetes里Pod的基本概念,使用方式,生命周期以及如何使...

2020-08-05 13:39:39 544

原创 五分钟用Docker快速搭建Go开发环境

挺早以前在我写过一篇用 Docker搭建LNMP开发环境的文章:用Docker搭建Laravel开发环境,里面详细介绍了将 nginx、 mysql和 php三个容器用 docker-compose编排成 LNMP开发环境的步骤,今天来说说怎么用 Docker快速搭建 Go语言项目的开发环境。因为靠Go本身自带的标准库就能实现高...

2020-01-30 11:26:00 7408 3

原创 深入学习用 Go 编写 HTTP 服务器

Go是一门通用的编程语言,想要学习 Go 语言的 Web 开发,就必须知道如何用 Go 启动一个 HTTP 服务器用于接收和响应来自客户端的 HTTP 请求。用 Go实现一个http server非常容易,Go 语言标准库net/http自带了一系列结构和方法来帮助开发者简化 HTTP 服务开发的相关流程。因此,我们不需要依赖任何...

2020-01-28 12:30:00 9251 2

原创 程序员转型PM的一项必备基础技能(上)

本章节要讲的用例图是项目经理、产品经理这些岗位更多会使用到的UML图,常见于项目商务竞标书、给甲方的需求规格书、或者是计算机系毕业设计论文中。在做技术方案分析上很少使用UML用例图,它更多出现在需求PRD、给甲方的需求规格书等文档中。不过仍然建议大家掌握,尤其是还在上大学的学生,在写毕业论文论文时使用上用例图说明系统的功能能起到事半功倍的效果,比单纯的文字描述要加分很多。用例图有什么作用?简单来说...

2024-05-21 08:51:57 345

原创 怎么计算我们自己程序的时间复杂度

▲点击上方"网管叨bi叨"关注公众号知道自己写的程序的时间复杂度,有利于我们写出能够高效运行的程序。程序是由一个个函数组成的,有些简单的由几个基础运算组成的函数大家一眼就能看出来它的时间复杂度,但是大部分函数没那么简单,只要函数里面涉及到了循环、外部函数调用甚至递归的时候它的时间复杂度就没那么容易分析啦。这篇文章的内容,可以帮你快速推导出程序代码的时间复杂度。要分析程序的时间复杂度,首先还是要确...

2024-05-20 08:45:28 594

原创 怎么把技术评审做得领导、同事、自己都觉得好

通过上一节的学习我们已经学会了怎么在给项目做技术评审的时候先确定业务的结构、识别出根实体、在写代码的时候依据根实体划分领域,接下来就该轮到UML工具包里的活动图、状态机图、顺序图登场,让他们帮我们分析并图形化系统的业务行为了。本节课我们会先盘点一下UML流程分析三剑客--活动图、状态机图、顺序图他们各自的特点和适用场景,然后会用一个真实的项目案例 — 保险公司的理赔业务系统,给大家完整地演示怎么用...

2024-05-17 08:50:20 584

原创 程序员怎么做好技术评审--业务结构分析和建模

引言我们前面学习了类图、活动图、状态机图、顺序图四种UML里的图形,其中类图是用于结构性建模的,它的侧重点在表达系统的结构,系统中有哪些类、相互之间是怎么关联到一起的。而怎么通过这些类完成整个流程,流程中关键类实体的状态会发生怎样的转换,以及相互之间沟通时会有哪些信息交互则是由被称为流程分析三剑客的活动图、状态机图、顺序图来完成。它们三个各有所长,结合使用才能发挥出最大的功效。类图和流程三剑客适合...

2024-05-14 08:45:28 213

原创 手把手教你画出大厂开放平台中的顺序图

上一节课《微信支付宝的开发者为什么都用它来演示对接》我们了解到在开发文档和SDK使用说明中经常会使用顺序图演示系统的对接和集成,我们通过一些实际的例子讲解了顺序图的语法,教给大家如何看懂像微信支付、支付宝开发对接文档中的那些顺序图。顺序图是研发人员做技术评审时使用频率非常高的一个UML图形,所以光看懂还不够,我们还要学会怎么在平时的实践中用顺序图表达出自己想要给其他人表达的逻辑,这样在像技术评审这...

2024-05-07 08:45:12 161

原创 微信支付宝的开发者为什么都用它来演示对接

这节课我们讲的顺序图是大家看各个公共技术平台的技术文档、SDK使用指南时见过最多的UML图,这里给大家找了一个微信支付SDK文档里的图,大家一看就能知道我说的是什么。上面这个图表达的是微信支付下单这个操作中:用户、微信客户端、商户后台服务、微信支付服务是怎么协作完成下单支付这个步骤的。怎么样,大家是不是在接入腾讯、阿里、字节这些大厂公共开发平台提供的能力时,在他们的SDK技术文档里都见过这种图,我...

2024-04-29 08:45:55 748

原创 蔡老板访谈中几个对年轻人有用的信息

前不久挪威主权基金CEO Nikolai Tangen 与现任阿里巴巴集团董事长蔡崇信的专访是IT技术圈比较流行的一个话题,很多人分析了阿里商业模式、中美关系、AI发展这些比较宏大的事。我觉得作为普通人上面这些东西看看就行,看的太多容易变成和小区里下棋的老大爷一样,一谈宏大叙事的东西啥都懂,回家说不定连个西红柿炒鸡蛋都炒不明白,所以今天我来分享一些访谈中对普通人、老百姓有用的几点信息。好的老板是会...

2024-04-24 11:30:47 382

原创 学会理清系统核心的状态机,能少抠不少代码

凡是写过代码的小伙伴一定经历过接手的项目里业务核心一大堆状态位,MySQL里字段上的注释、程序里的枚举一大堆。但是状态的变更都是在什么时候发生的,状态间是怎么流转下去的可能组里的老大哥也不能完全把每个细节说清楚,让你自己看代码慢慢抠。那么本章我们要学的状态机--它对状态的管理和标记能在很大程度上缓解研发团队里这种尴尬的现状。本篇文章我们来继续学习用UML做需求分析和技术评审时经常会用到的另一个流程...

2024-04-22 08:45:45 845

原创 离职见人品?其实根本没人Care

‍‍今天聊一个话题,很多人秉信离职前一定要做的面面俱到,把事情做的有始有终。各种讲职场的号遇到离职这个话题肯定也是会跟你分析里面的人情世故。你应该怎么做之类的谋略。这里给大家提供另一个视角让大家看这件事,很多人会以为我是不是要说离职完全可以甩手不干 blabla 之类的,em 针对你说的这个事儿事实确实是这样的,不然公司裁你的时候恨不能你今天就签协议走人,你的工作有没有人能接住他们根本不关心。但我...

2024-04-19 08:45:21 370

原创 手把手教你画出专业规范的“流程图”

上节课带领大家认识了活动图中各种流程结构(分支判断、循环、并行等)对应的画法,正是由于它的这些流程结构的表达能力,让活动图比流程图更适合在偏技术场景应用。大家只要认真学了上节课后,随机给你一个技术文档中呈现的活动图,你就能从图中读出它想要表达的流程。当然光能看懂不是这个专栏的目的,我们还需要掌握怎么把自己项目、需求中的流程用活动图表达出来,这节课我带领大家把一个相对复杂些的业务流程用活动图完美地...

2024-04-15 08:45:45 193

原创 代码中的分支、循环、并发怎么用“流程图”画出来?

本节带来大家怎么用"流程图"做业务的流程分析,其中最重要的是带大家学会流程中的分支、循环、并行用"流程图"该怎么表达,注意我这里的"流程图” 是加了引号的,因为我们的是UML里的活动图,它比普通的流程图在专业性和语法表达能力上更突出,甚至能用来指导我们后续的代码实现。别走开,学完本节再遇到需要写文档画流程的时候你就能轻松应对。前几节我们学的类图是进行结构建模的重要工具,而本章开始介绍的活动图是行为...

2024-04-08 08:51:31 903

原创 为什么裁员很少听说过裁管理层?

一般说到裁员,大家第一反应是裁谁。可是,真正的问题是:由谁来裁。一般而言,绩效判定者—即咱们说的管理岗本身是不能裁的,因为常规裁员的名单都是他们定的,不到万不得已有谁会主动申请自裁?所以这也就导致了常规的裁员可能会将任劳任怨的全部裁掉,留下的全部都是溜须拍马的。裁员的幸存者偏差一个企业中的管理人员往往是比较少的。一般而言,一个企业中的管理人员与一线员工的比例往往在1:10左右。在一些人员密集型的部...

2024-04-07 09:07:16 338

原创 几个祖传代码不遵守就想骂的代码规范

今天说几个我曾经在管理项目和团队要求的基本编码规范。实际执行下来成本比较低,长期坚持下来的确有助于项目的维护。虽然是几个非常基本的代码规范,但我们只在团队比较稳定的时候坚持下来过,后来随着人员更迭,懂得都懂。 这里也不是吐槽谁的代码习惯不好, 我也干过复制旧代码过来就能用,妈呀真香,赶紧上线吧这种事情。数据表和Model的命名规范类型规则正确示例错误示例数据表名使用SnakeCase 命名法多个单...

2024-04-02 18:55:38 888

原创 UML类图的手把手画图指南

▲点击上方"网管叨bi叨"关注公众号我们已经花了两节课来讲UML的类图需要掌握的语法以及怎么用它们开始做业务需求的结构分析,同时还用代码结构详细解释了UML类图中的六大关系,相信大家已经能看懂技术文档中类图的各种细节、同时掌握了使用类图分析业务结构的方式和方法。这节课再来教大家一下怎么使用 draw.io 画类图,进一步降低大家开始动手画图的起步难度。在类图的第一节--《UML类图,这样用既简单...

2024-04-01 20:22:52 320

原创 深入浅出|用代码拆解软件设计中类的六种关系

上一节我们学会了怎么把需求分解后提炼成类图,其中类图最难让人掌握的点就是类跟类的关系怎么画,我们上节把类之间的六种关系通过现实中的一些例子进行了说明,这六种关系是:关联继承实现聚合组合依赖在做的各位读者应该大部分都是需要写代码的编程人士,那么心里一定会有一个疑问:类的这些关系看这些例子我是明白了,但在代码里对应什么结构呢?继承、实现还好说,编程语言里都有对应的关键字。可是依赖、聚合、组合这些关系的...

2024-03-27 09:00:17 321

原创 UML类图,这样用即简单又实用

从本节开始,我们正式开始课程第一部分UML的学习。我们要学到的第一个图形是类图,类图可能是我们在各种文档里见到过的最多的一种UML图,许多人一提UML首先想到的也是类图。在各种系统的技术文档里,描述系统或者模块的核心类和业务概念时都会用到类图,比如下面这个呈现了电商系统订单模块的关键业务概念的类图。通过这个类图我们就能清晰地看到系统中都有哪些关键类,以及他们相互之间是怎么整合在一起的。 除了这种相...

2024-03-25 09:01:15 693

原创 程序员画图利器--零成本打造一个好用的在线画图软件

本节我们介绍课程中使用的绘图软件,市面上能供我们用来作为技术画图软件的产品有不少,像processon、excalidraw、omni-uml、draw.io 等。课程里因为要兼顾考虑读者的使用成本、画图专业性、上手简单、支持云端分享复制几个因素,我最终选用的是draw.io这款绘图软件,这样大家启动简单,不需要额外花钱再去买软件,我也能把课程里教大家画的图分享出来供大家参考。我们课程全程使用的绘...

2024-03-20 09:01:53 175

原创 程序员光写代码不行吗,为什么还要画图?

相信很多人选择当程序员除了这个行业起步阶段薪资比其他行业高一些之外,还有一个很大的因素是觉得做研发类的工作只要代码写的好,跟电脑这个“直男”打交道就可以了。但是还没走出校门呢,毕业这一关就得边做毕业设计边写毕业论文。写毕业论文可不是直接把自己的实现代码从IDE粘贴到Word里,但凡代码多一点就会被老师要求修改,老师会告诉你要把你做的毕业设计的功能、设计思路、关键部分的实现细节用绘图结合文字表达清楚...

2024-03-18 08:45:28 510

原创 独家原创--程序员的全能画图课

今天给大家介绍一下我用大半年的时间沉淀和总结出来的一套关于程序员画图分析拆解问题的课程。本课程旨在帮助广大程序员、或即将步入程序员岗位的学生,解决做项目只会埋头写代码、键盘敲的飞起,一让做需求分析、技术方案评审、述职汇报等这些需要画图和表达能力的事情的时候就犯难的痛点,帮助大家摆脱代码的单一维度,从多维度提升自己,从而在职场中更游刃有余。在学习过程中你还将经历一套完整的把项目需求拆解分析,化繁为简...

2024-03-14 08:50:23 586

原创 在“没能力”的领导下面工作时,要记住这三点

相信很多人在职场里待久了,都会遇到自己觉得比较差劲的领导,这些人可能除了向上管理能力很强外(会舔老板),其他能力在你看来都挺一般,专业能力一般,超级缝合怪--上级给他的任何任务他都能分配给你们,然后他再缝合一遍完事。那么遇到这种领导我们该怎么办呢?多数人想到的是跳槽,这确实是一个解法,但你跳到下家公司也保不齐会有这样的领导呀,今天咱们讨论的这个话题就先把条件限定成你不能跳槽,这个时候你该采用什么方...

2024-03-11 11:56:39 316

原创 说一个比内卷更适合互联网打工人的职场生存策略

这篇文章我们接着上一篇文章「为什么互联网员工、程序員们注定要内卷?」继续聊,上一篇我们拆解了下互联网员工、程序员内卷的本质原因:每个时代的人才们为了证明自己「配得上」高收入,会人为制造一些壁垒,最常见的壁垒主要有 3 个:一是制造信息差,二是提高录取门槛,三是在内部卷起来。互联网的目标是连通一切,不可能主动去制造大量信息差;互联网行业又需要大量人,门槛也不能定得太高,于是「证明自己配得上高收入」的...

2024-02-26 09:05:14 238

转载 金融风控领域的 DDD 与中台思考

风控领域作为金融核心领域之一,对金融业务发展有着至关重要的作用。风控直译就是风险控制,其核心是对风险与成本的平衡。风控业务开展离不开风控系统的支持,本文就风控系统如何规划架构与演进,以及对领域驱动设计的思想和风控中台战略的思考。风控与 DDD领域驱动设计(DDD)作为微服务拆分的指导思想随着微服务化火起来,但其过于抽象难懂,网上方法论众多,而案例较少。本文尝试对风控领域如何按 DDD 思想设计给出...

2023-06-16 08:45:33 478

转载 用 Go 实现一个基于epoll 的 IO库

‍‍‍‍目前Go圈有很多款异步的网络框架:evio,nbio,gnet,cloudwego/netpoll......,排名不分先后。这里面最早的实现是evio。evio也存在一些问题,之前也写过evio文章介绍过。其他比如nbio和gnet也写过一些源码分析。这些框架在应用层上做了很多优化,比如:Worker Pool,Buffer,Ring Buffer,NoCopy......。都分析了好几...

2023-06-13 08:47:36 349

转载 工作20年的程序员不愿用Redis,该嘲笑他吗?

最近逛知乎,被系统推荐了一个问题,看了下题目描述。大概是一个小年轻程序员嘲笑公司工作了20多年的前辈开发系统就愿意用数据库,做接口防重之类的也不愿用Redis。本来是想吐槽前辈死板来着,想着回答问题的答主能站他,结果回答下面清一色的让他解释为什么要用Redis,引入新一层的各位问题该怎么解决。下面贴一位答主对小年轻的灵魂反问‍‍‍你不要告诉我们用不用redis,你得告诉我们你为什么想要用redis...

2023-06-12 08:45:17 342

转载 一分钟搞明白 Go WebAssembly

大家好,最近接触到了 WebAssembly,今天梳理了一版,和大家一起展开学习。先来一张经典图:WebAssembly 是什么以下是 Mozilla 在 MDN 上给出的定义:WebAssembly(缩写:Wasm)是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C/C++ 等语言提供一个编译目标,以便它们可...

2023-06-09 08:45:16 266

转载 面试开发,被问了六个CDN的问题,一个比一个难!

对于开发同学来说,CDN这个词,既熟悉又陌生。平时搞开发的时候很少需要碰这个,但却总能听到别人提起。我们都听说过它能加速,也大概知道个原因,但是往深了问。用了CDN就一定比不用更快吗?就感觉有些懵了。但没关系,今天我们换个角度重新认识下CDN。CDN是什么对于数字和文本类型的数据,比方说名字和电话号码相关的信息。我们需要有个地方存起来。我们通常会用mysql数据库去存。文本存在mysql中当我...

2023-06-07 08:50:30 751

原创 合订本|用Go语言实现23种设计模式及学习重点

今天是咱们用Go学设计模式系列的最后一期,整个系列中我带着大家一起学习了经典的23种设计模式用Go语言如何来实现,以及它们在日常工作开发中的应用场景。我看了一下发文记录,从2022年7月18更新第一篇观察者模式,到5月22号发布了最后一种设计模式--中介者模式,一共历时10个月,发布了23篇文章。从最一开始的不准备整理成系列写到哪算哪,到中期形成自己的写作风格,有目标的去学习整理再发布,对自己来说...

2023-06-05 08:45:45 396

转载 从Go源码到可执行文件的编译过程详解

Go 是一门编译型语言,我们平时所编写的 *.go 文本文件称为源文件,源文件里面的内容就是我们的源代码。源代码要想在目标机器上运行,就必须使用 Go compiler )将其先编译成操作系统能够直接识别的二进制机器码文件,或说可执行文件。后续由操作系统加载该文件,并在 CPU 中直接运行机器码。这也是编译型语言运行效率高的主要原因。Go compiler 是用什么实现的编译器本身也是一个程序,它...

2023-06-02 08:46:01 1181

转载 颠覆微服务架构?谷歌最新开源service weaver初体验

合久必分,分久必合,技术圈也是如此。在大家纷纷从单体应用过渡到微服务的时候,谷歌携带着新时代的“单体”应用框架Service Weaver来了!代码仓库位于:https://github.com/ServiceWeaver/weaver 才发布没几天已经超过了2.5k star,不得不感慨谷歌的号召力。谷歌称此框架为模块化单体(modular monolith),谷歌为什么会在这个时候提出如此标新...

2023-05-31 09:57:05 291

转载 快速上手 CGO,掌握在 Go 里写 C!

大家好,最近因为各种奇怪的原因,接触到了 Go 特色之一 CGO。这方面的相关内容也相对少一些,给大家抛砖引玉,有经验的大佬欢迎补充。图片来源于 marlin毕竟很多跨语言调用,还是会依赖 CGO 这个特性。希望大家在真正要用时有个前置知识垫肚子。CGO 是什么CGO 就是 C 和 Go,两个编程语言。指的是能够创建调用 C 代码的 Go 包。对照着 Go 代码中的 “C”:packagemai...

2023-05-29 08:45:26 1333

转载 推荐一个HTTP TCP 视频教程,面试前……

学习计算机网络,有时候确实会比较枯燥,如果一篇技术文章能做到既有深度,又有趣,那对于读者来说,将会大大降低学习门槛。如果是视频动画,效果是不是更好?你可能会问哪有这么好的事儿?还真有,咱们可以点击【阅读原文】体验一下最近做的动画视频,带你学明白计算机网络。这里必须退向大家推荐下视频动画的作者,同时也是一个硬核技术公众号:小白debug,的号主小白。作为多年资深工程师打工人。擅长golang/网...

2023-05-26 08:50:53 89

转载 业务中台已拆,有事烧纸

本文转载自曹春晖的个人公众号:techpaper眼看他起高楼,眼看他宴宾客,眼看他楼塌了。AI 浪潮之下,人的思考渐渐连机器都比不上,这些一直存在脑子里的知识应该都放出来也没什么关系了。我在 2019 年在某司从业期间,曾经写过一篇《中台的末路》,从一线工程师和架构师的视角来思考当前大公司内部的中台架构到底会碰到什么样的问题。在我离职之前,有一些问题已经有了明确的答案。有一些还没有,后续加入猫厂下...

2023-05-24 11:50:05 106

转载 这个线上BUG,让你彻底搞懂了MySQL的字符集,别问我咋知道的

那天,我还在外面吃成都六姐的冒菜。牛肉丸裹上麻酱后,狠狠嘬一口,都要入嘴了。产品经理突然发来消息。"线上有些用户不能注册了"心想着"关我x事,又不是我做的模块",放下手机。不对,那老哥上礼拜刚离职了,想到这里,夹住毛肚的手微微颤抖。对面继续发:"还有些用户不能改名""如果用上表情符号的话,问题必现"可以了,这下问题几乎直接定位了。危,速归。有经验的兄弟们很容易看出,这肯定是因为字符集的缘故。复现问...

2023-05-23 08:45:08 123

原创 Go设计模式--中介者,最后的模式!

大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式,也是我们要学习的最后一个设计模式—中介者模式,对这个模式有一点了解后会觉得它跟我们已经学过的观察者模式挺像,但是两者还是有些区别的,使用场景也不一样,具体我们放在最后再讲,先来一起学习中介者模式。中介者模式是一种行为设计模式, 能让程序减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行...

2023-05-22 08:45:46 319

转载 考虑了很久,还是决定转Go了

在最近的一份程序员薪资报告中,Go的平均薪资位居榜首,平均薪资¥25739。Java、C++、C分别位列13、12、11名,平均薪资在¥18000-19000之间,其实这不足为奇,“物以稀为贵”。Java作为国内目前应用最庞大的语言,用的人多、找工作的人多,可替代性就高。而随着国内Go环境的逐步成熟,企业对Go开发的需求逐渐增大,主动学习Go的人自然是越来越多了。都说 Go 入门容易,但实际上很多...

2023-05-19 09:05:40 134

转载 写给go开发者的gRPC教程-通信安全

使用 TLS 安全传输数据什么是 SSL/TLSSSL 包含记录层(Record Layer)和传输层[1],记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509[2]认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密匙作为会话密匙(Session key[3])。这个会谈密匙是用来将通信两方交换的资料做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通...

2023-05-17 11:36:59 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除