自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

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

原创 Kubernetes Pod入门指南

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

2020-08-05 13:39:39 598

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

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

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

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

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

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

原创 一个能让你少写循环和判断的Go开源包,支持泛型

大家在开发项目写代码的时候,最常用到的数据类型应该是列表,比如从数据库查询一个用户的订单,查询结果会以一个对象列表的形式返回给调用程序。[]*Order{&{ID:1,OrderNo:"20240903628359373756980001"...},...}有了结果集列表之后,大部分时候为了实现产品...

2024-09-04 08:52:00 355

原创 图解 Go语言 time.Sleep 的实现原理

▲点击上方"网管叨bi叨"关注公众号我们写程序的时候,一定遇到过需要让程序休眠一段时间再执行的场景,这个时候我们一般会想到用Sleep方法,Java 语言有Thread.Sleep, PHP应该是有一个sleep函数,同样的 Go 语言有内置的time.Sleep方法。这篇文章我们来简单梳理一下,Go语言的time.Sleep是怎么实现程序的休眠和唤醒的。在Go的程序中,使用time.S...

2024-08-12 08:51:00 830

原创 面试速记|图解MySQL执行一条SQL的过程

▲点击上方"网管叨bi叨"关注公众号新开一个系列,尝试把一些常见的面试题做成速记图,用来面试前临时抱佛脚。最近我这个中年老登也在面试,形式所迫也是没办法。面试中除了问项目经验和管理经验外还经常会被问一些“八股”,说来惭愧,已经快六年没面过试了,很多以前倒背如流的东西,现在也很难想起来。这情况就跟高中生高考完以为大学稳了,疯玩一暑假后发现自己没录取上要复读的感受差不多。废话不多说,今天速记指南是:...

2024-07-29 08:45:31 411

原创 从小白到老白,五步搞定技术公众号文章配图

在专栏里我们已经花了很大篇幅给大家聊清楚,怎么用UML图为项目的业务结构和行为进行建模,把那些我们平时会在脑子中构想的细节用不同的UML工具形象化地表达出来。还稍微涉及了些怎么用业务场景图和业务架构图缓解现在程序员因为考核频繁、工作职责多元化产生的焦虑。咱们专栏的名字叫《程序员的全能画图课》,到目前为止还有一部分需求没有解决,就是想开始写技术博客、想做技术公众号的需求。相信很多人看了别人写的公众号...

2024-07-17 08:45:53 805

原创 零基础用微信学会画业务架构,给老板“画饼”

前面两个节我们聊了:自从有了OKR,没有程序员能逃开汇报这座“五指山”怎么给老板讲明白你开发的系统有什么用?‍今天我来聊一聊业务架构相关的话题,业务架构图是职场中各种需要做Presentation的场合出现的比较多的一种图。主要原因是业务架构图是用来表达业务现在和未来愿景的--俗称给老板、甲方爸爸反向画饼。本节我们通过微信的业务架构为例开始学习,然后教大家怎么用业务架构图表达自己的业务。说到这里有...

2024-07-09 08:45:36 946

原创 AI翻译的向前一小步文明一大步,给整笑了

刚刚过去的这个周末有朋友过来北京玩,跟他在合生汇吃完饭后本来之前说好一起找地儿耍游戏来着,他却非要我带着他去逛逛二环里的胡同,想去鼓楼。。。那行呗,出了商场,坐上地铁七号线转八号线,到了鼓楼大街站出来,发现那简直是人挤人--毕竟又到旅游旺季了,人多到什么程度呢,一条街上隔着不远就有的一个公共厕所,每个公厕的男厕都得排大队。当时我就后悔了咋不在地铁站解决一下呢?所以咱们旺季出去玩的时候一定要记得见到...

2024-07-02 08:46:33 685

原创 怎么给老板讲明白你开发的系统有什么用?

上一节课《自从有了OKR,没有程序员能逃开汇报这座“五指山”》我们聊到了为什么在OKR大行其道的当下,每个程序员都不得不被这些汇报和复盘驱赶着往前走的环境因素。也大概聊了下做技术类汇报的原则是以PPT等多数人能理解的方式快速与听众建立统一语言,让他们知道我们将要表达的是一个什么样的事情。从这一章开始我会花两节时间说一些让大家能应付这些工作的技能。这两节的内容看完虽然不能让你成为PPT架构师,但也能...

2024-07-01 08:45:53 295

原创 GORM V2 几个最实用的功能和升级注意事项

▲点击上方"网管叨bi叨"关注公众号最近在自己在开发个人的新项目,这个项目预计未来几个月后能跟大家见面,项目搭建的过程中遇到了ORM版本选择的问题,经过自己仔细斟酌还是选择了GORM的 V2版作为项目的ORM框架,这个抉择过程其实就是说服自己不使用的V1的一个心里斗争。因为这几年在公司做的项目都是使用的GORM的V1版本,如果选择V1的话我只要把以前总结的那些代码拿过来改改就能用了,但是因为两个...

2024-06-26 09:08:47 751

原创 自从有了OKR,没有程序员能逃开汇报这座“五指山”

在专栏的第一部分中,我带大家认识了类图、活动图、状态机和顺序图,代码中的分支、循环、并发怎么用“流程图”画出来?学会理清系统核心的状态机,能少抠不少代码微信支付宝的开发者为什么都用它来演示对接一起分析了怎么用它们来提升我们的内功、怎么靠它们做一个相当完备的技术评审。程序员怎么做好技术评审--业务结构分析和建模技术评审做得领导、同事、自己都觉得好还带大家跳出写代码、实现需求的视角从更高维度描述系统的...

2024-06-25 08:45:40 441

原创 PHP--中国互联网最好使的背锅侠

最近在清理一些收藏夹里一些过时的旧文章,无意间看到了当年自己收藏的几篇讲某某公司为什么从PHP转Go、转Java、转Python,当然后面几个还有互转的。但我始终没发现有人写过哪家公司是从其他语言转PHP的,这个现象让我陷入了一些沉思,我发现PHP真的是咱们这最好使的背锅侠,可能是因为它的Logo是大象所以比较能背吧。五六年前我还很爱看这些帖子,觉得这些文章里说的都好有道理,五年后再经历过上家公司...

2024-06-20 11:37:36 887

原创 怎么说清楚软件项目的分层架构?

这节课来讲包图,包图一般有两大作用,其一是把对类图按照模块进行归类,防止类图太多了,模块和模块之间分不清楚。不过对于现在绘图软件的功能来说,这个作用聊胜于无,加不加包图好像也没太大区别,不用包图也其他办法让整个系统建模的类图不凌乱的。第二个作用是能很好的表达出我们软件项目的分层设计。如果你能用下面一张图说清楚你们项目的分层设计,那肯定比新进项目的弟弟妹妹问你“咱们项目是什么设计风格,代码该怎么写呀...

2024-06-19 08:45:58 338

原创 手把手带你用公式拆解系统,画出专业整洁的系统架构图

上节课《从零开始学会画系统架构图》中我给大家介绍了画系统架构图的通用公式,用它可以拆解任何系统,帮我们画出整洁专业的系统架构图。上节课我们大部分内容是用实际的例子给大家讲清楚这个公式的底层逻辑,以及详细地交待了画架构图的两个必备基础语法,本节我们从理论走向实践,带大家一起用公式,拆解系统性需求、画系统架构图。在画架构图之前请大家一定确保有仔细学上一节关于UML部署图和构件图的内容,尤其是语法,在画...

2024-06-12 08:51:44 295

原创 从零开始学会画系统架构图

这节课开始教大家画系统架构图,这是每个程序员都应该会的技能,不光是因为它能让你装B吹水还因为它的存在是合理的,在项目实施前除了了解功能性的需求,高级别的工程师还应该学会关注系统的安全性、易用性、性能要求以及IT资源上的需求,因为这些东西都是成本,不列出来怎么给客户报价或者是找领导申请预算。所以系统架构图的首要目标是描述这些非功能性但又占用成本的需求,此外它还能帮助其他人了解项目在宏观上的结构对项目...

2024-06-03 08:47:53 1391

原创 程序员做项目管理的必备技能(下)

上节课我们通过几个示例给大家讲了用例图的基本语法,用例图的是通过图形描述系统的两个问题:这个系统有谁在用这些人通过系统能做什么事情关于它的语法,其实没有那么多,我们知道通过用例图怎么描述下面这个商品管理页面的需求以及分清楚下面两个用例图的区别即可这些我们都在上节内容中有过详细讲解,今天更多的是来给大家分享一些使用上的建议,你的用例图怎么准确描述出系统功能、以及怎么靠用例图作出更详细的需求规格给到甲...

2024-05-28 08:45:39 379

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

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

2024-05-21 08:51:57 456

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

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

2024-05-20 08:45:28 727

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

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

2024-05-17 08:50:20 616

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

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

2024-05-14 08:45:28 239

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

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

2024-05-07 08:45:12 195

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

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

2024-04-29 08:45:55 786

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

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

2024-04-24 11:30:47 413

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

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

2024-04-22 08:45:45 876

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

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

2024-04-19 08:45:21 398

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

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

2024-04-15 08:45:45 284

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

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

2024-04-08 08:51:31 1883

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

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

2024-04-07 09:07:16 391

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

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

2024-04-02 18:55:38 918

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

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

2024-04-01 20:22:52 465

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

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

2024-03-27 09:00:17 344

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

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

2024-03-25 09:01:15 741

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

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

2024-03-20 09:01:53 208

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

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

2024-03-18 08:45:28 599

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

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

2024-03-14 08:50:23 657

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

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

2024-03-11 11:56:39 338

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

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

2024-02-26 09:05:14 255

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

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

2023-06-16 08:45:33 549

空空如也

空空如也

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

TA关注的人

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