重读《人件》Peopleware -(5)Ⅰ管理人力资源Ⅳ-质量—若时间允许
20世纪的心理学理论认为,人类的性格主要由少数几个基本本能所主导:生存、自尊、繁衍、领地等。这些本能直接嵌入大脑的“固件”中。我们可以在没有强烈情感的情况下理智地考虑这些本能(就像你现在正在做的那样),但当我们感受到它们时,总会伴随着激情。即使是对这些内在价值的轻微挑战,也可能令人感到不安。
每当强烈的情感被激起时,这通常意味着大脑中的某个本能价值受到了威胁。一个缺乏经验的管理者可能会认为工作可以完全不涉及人们的情绪而完成,但如果你有一定的管理经验,你就会知道情况恰恰相反。我们的工作为我们提供了大量表达情感的机会。很可能你能想到至少一个因纯粹的工作相关事务引发情绪波动的例子。现在试想一个例子,并问自己(可能是第N次):这些情绪究竟从何而来?在不了解你的具体事件的情况下,我们可以打赌,受到威胁的自尊心是一个因素。虽然个人生活中有许多不同的情感反应原因,但在职场上,引发情绪的主要因素是受到威胁的自尊心。
我们都倾向于将自尊与我们生产的产品质量紧密相连——不是产品的数量,而是质量。(不知为何,生产大量的平庸产品并不能带来多少满足感,尽管这有时正是某一情境所需。)任何可能危及产品质量的行动,都可能激起员工对你直接的负面情绪。
追求卓越的逃离
管理者通过设定无法达到的期限来危及产品质量。他们并不这样看待自己的行为;他们认为自己是在向员工抛出有趣的挑战,帮助他们追求卓越。然而,有经验的(或已变得世故的)员工却明白事情并非如此。他们知道,在紧迫的时间压力下,他们的努力会被过度限制。没有资源调整的空间以确保按时交付。他们既没有增加人手的选择,也没有减少功能的余地。唯一能妥协的就是质量。长期处于极端时间压力下的员工会开始牺牲质量。他们会把问题暂时搁置,留待日后处理或转嫁给最终用户。他们会交付不稳定且不完整的产品。他们会讨厌自己所做的这一切,但他们还能有什么选择呢?
有些管理者会强硬地回应这一切:“我的一些员工会在任务上无休止地修补,名义上是为了‘质量’。但市场并不在乎那么多的质量——它想要的是昨天就能交付的产品,即便状态粗糙也无所谓。”关于市场,你可能说的没错,但迫使人们交付不符合其自身质量标准的产品几乎总是个错误。
我们管理者往往将质量视为产品的另一个属性,可以根据市场需求提供不同程度的质量。它就像是倒在自制圣代上的巧克力酱:有人要多些,有人要少些。
建造者(执行者)对质量的看法则完全不同。由于他们的自尊与产品质量紧密相连,他们倾向于自行设定质量标准。最低限度也要达到他们过去所能实现的最佳水平。这通常是一个比市场要求和愿意支付的价格更高的标准。
“但市场不在乎那么多的质量。”读到这句话时,你应该感到心痛,因为这几乎总是真的。人们可能用美好的言辞谈论质量或对其缺失抱怨不已,但当真正需要为质量买单时,他们的实际价值观便显现出来。例如在一个软件项目中,你可以向用户展示这样的数据:“根据实证证据推断,目前该产品的平均故障间隔时间( MTBF,Mean Time Between Failure )为大约1.2小时。如果我们今天就交付,它的稳定性会很差。如果再给我们三周时间,我们可以预测平均故障间隔时间( MTBF )约为两千小时,这是一个相当不错的结果。”预计你会看到一些世界级的犹豫不决。用户会解释说他们与其他任何人一样重视质量,但三周时间就意味着真金白银^_^。
说到软件行业,它已经让客户习惯了接受内部开发的应用程序每百行代码有一到三个缺陷!讽刺的是,这一糟糕记录常常归咎于建造者(执行者)的低质量意识。也就是说,那些被指责为“为了‘质量’而无休止地修补程序”的人,当质量低下时也会受到责备。让我们把责任归到正确的地方。谁付钱给吹笛人,谁就在要求低质量的曲子。通过经常将开发过程置于极端的时间压力之下,并接受低质量的产品,软件用户社区显示了其真实的质量标准。
所有这一切听起来像是对软件用户以及市场标准的批判,但不必这样理解。我们必须假设支付我们工作费用的人有足够的理智来在质量和成本之间做出合理的权衡。这里的关键在于,客户对产品所需的质量感知往往不如建造者那么高。存在一种自然的冲突。降低产品质量可能会导致一些人不再购买,但由此产生的市场份额下降通常会被每个售出项目的利润增加所抵消。
允许买家而非建造者设定质量标准,这就是我们所说的“逃避卓越”。基于市场的质量标准似乎只有在忽略其对建造者态度和效率的影响时才有意义。
从长远来看,基于市场的质量成本更高。这里的教训是:
远超终端用户需求的质量是提高生产力的一种方式。
如果你对此表示怀疑,想象这样一个思想实验:询问一百位路人哪个组织、文化或国家以高质量著称。我们预测超过半数的人会回答:“日本。”现在再问不同的百人,哪个组织、文化或国家以高生产力著称。同样,多数人会提到“日本”。这个公认的高质量领导者同时也以其高生产力闻名。
等等,高品质与高生产力共存怎么可能?这违背了普遍的观点,即增加产品的质量意味着你需要花费更多来建造它。对于这个现象的一个线索,可以参考田岛和松原两位最受尊敬的评论家对日本现象的描述:
在日本,价格和质量之间的权衡并不存在。反而,高质量能够降低成本的观点被广泛接受。
质量是免费的,但...
菲利普·克罗斯比在他的著作《质量是免费的》(1979年出版)中提出了同样的概念。在这本书中,克罗斯比给出了许多例子和一个合理的理由,证明让建造者设定自己满意的质量标准会导致生产力提升,足以抵消改善质量的成本。
我们有一种不太好的预感,克罗斯比的书在工业界带来的负面影响大于正面影响。问题是,大多数管理者并没有阅读过这本书,但每个人都听说过它的标题。标题成为了全部的信息。各地的管理者都在热情洋溢地谈论质量:“质量的上限是天空,我们要尽可能多地获得免费的质量!”这种态度与克罗斯比倡导的内容恰恰相反。
真正关于质量和生产力相互关联的效果信息需要用稍微不同的术语来表述:
质量是免费的,但这只适用于那些愿意为此付出高昂代价的人。
一个只愿意为质量预算零美元零美分的组织,永远会得到它应得的质量。一项“质量——若时间允许”的政策将确保没有任何质量进入产品。
惠普公司长期以来一直是通过高质标准提高生产力而受益的典范。从创立之初,该公司就把质量奉为一种文化。在这种环境中,很少听到开发者声称需要更多时间和金钱来生产高质量产品。结果是,开发者们知道自己属于一个提供超出客户需求质量的文化中的一部分。
否决权的力量
在日本的一些公司中,特别是日立软件和富士通的部分部门,项目团队对交付他们认为尚未准备好的产品拥有有效的否决权。即便客户愿意接受次品,团队也可以坚持等到符合自身标准后再交付。当然,项目经理在那里承受的压力与我们这里并无二致:他们被催促着尽快交付任何成果。但是,这些日本管理者已经建立了一种足够强大的质量文化,深知不应该逼迫员工接受较低的质量标准。
你能赋予你的团队对交付的否决权吗?当然,这需要钢铁般的意志,至少在第一次实施时是如此。你最担心的可能是帕金森定律会对你不利——这是一个重要到足以单独成章的话题。
赋予团队这样的权力并不容易。首先,它挑战了传统的管理思维,即尽可能快地向市场推出产品。其次,它可能引发对帕金森定律(即工作会膨胀至占满所有可用时间)的担忧,导致项目拖延。因此,要成功实施这一策略,管理层必须建立起坚定的信任和支持体系,并且准备好面对初期可能出现的时间和成本上的不确定性。
此外,这种做法还反映了对长期利益的重视。虽然短期内可能会因为追求高质量而延迟交付,但从长远来看,高品质的产品能够增强公司的声誉和客户的忠诚度,最终带来更大的商业成功。因此,赋予团队否决权不仅仅是对产品质量的一种承诺,也是对企业文化和价值观念的一次深刻变革。
相关文章:
重读《人件》Peopleware -(5)Ⅰ管理人力资源Ⅳ-质量—若时间允许
20世纪的心理学理论认为,人类的性格主要由少数几个基本本能所主导:生存、自尊、繁衍、领地等。这些本能直接嵌入大脑的“固件”中。我们可以在没有强烈情感的情况下理智地考虑这些本能(就像你现在正在做的那样),但当我…...
人事招聘专员简历模板
模板信息 简历范文名称:人事招聘专员简历模板,所属行业:人力资源,模板编号:K8TG60 专业的个人简历模板,逻辑清晰,排版简洁美观,让你的个人简历显得更专业,找到好工作。…...
Java中equals与 “==” 的区别
首先我们要掌握基本数据类型和引用类型的概念 基本数据类型: byte,short,int,long,float,double,boolean,char 基本的八大数据类型都各自封装着包装类,提供了更多的方法,并且都是引言类型 引用类型: 引…...
20250412_代码笔记_CVRProblemDef
文章目录 前言一、get_random_problems 函数分析二、augment_xy_data_by_8_fold 函数分析代码 前言 该笔记分析代码的功能是生成随机VRP问题的数据,包含仓库坐标、节点坐标和节点需求。 对该代码进行改进 20250412-代码改进-拟蒙特卡洛 一、get_random_problems 函…...
《算法笔记》3.4小节——入门模拟->日期处理
日期差值 #include <iostream> using namespace std; int month[13][2]{{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31} }; bool is_leap(int year){return (year%40&&year%100!0||year%4000); }int m…...
JetBrain/IDEA :Request for Open Source Development License
Request for Open Source Development License...
Java学习手册:Java集合框架详解
Java集合框架(Java Collections Framework)是Java语言中用于存储和操作数据集合的一组接口和类的集合。它提供了丰富的数据结构和算法,帮助开发者高效地管理和操作数据。掌握集合框架的使用是Java开发者的必备技能。 本文将深入探讨Java集合…...
20250412 机器学习ML -(3)数据降维(scikitlearn)
1. 背景 数学小白一枚,看推理过程需要很多时间。好在有大神们源码和DS帮忙,教程里的推理过程才能勉强拼凑一二。 * 留意: 推导过程中X都是向量组表达: shape(feature, sample_n); 和numpy中的默认矩阵正好相反。 2. PCA / KPCA PCAKPCA(Li…...
深入解析系统频率响应:通过MATLAB模拟积分器对信号的稳态响应
稳态响应分析与MATLAB可视化 在控制系统中,线性时不变系统的稳态响应是描述输入与输出之间关系的关键。对于一个频率为 ω i \omega_i ωi 的正弦输入 u ( t ) M i sin ( ω i t φ i ) u(t) M_i \sin(\omega_i t \varphi_i) u(t)Misin(ωitφi)&…...
[16届蓝桥杯 2025 c++省 B] 画展布置
解题思路 理解 ( L ) 的本质 当 ( B ) 按平方值从小到大排序后,相邻项的差非负,此时 ( L ) 等于区间内最大平方值与最小平方值的差(数学公式推导) 滑动窗口找最小差值 遍历所有长度为 ( M ) 的连续…...
从代码学习深度学习 - Bahdanau注意力 PyTorch版
文章目录 1. 前言为什么选择Bahdanau注意力本文目标与预备知识2. Bahdanau注意力机制概述注意力机制简述加性注意力与乘性注意力对比Bahdanau注意力的数学原理与流程图数学原理流程图可视化与直观理解3. 数据准备与预处理数据集简介数据加载与预处理1. 读取数据集2. 预处理文本…...
具身智能零碎知识点(三):深入解析 “1D UNet”:结构、原理与实战
深入解析 “1D UNet”:结构、原理与实战 【深度学习入门】1D UNet详解:结构、原理与实战指南一、1D UNet是什么?二、核心结构与功能1. 整体架构2. 编码器(Encoder)3. 解码器(Decoder)4. 跳跃连…...
基于论文的大模型应用:基于SmartETL的arXiv论文数据接入与预处理(二)
上一篇 文章介绍了arXiv采集处理的任务背景、整体需求,并对数据进行了调研。 本文介绍整体方案设计。 4.整体方案设计 4.1.总体流程 基于上述调研了解的情况,针对工作需求设计处理流程如下: 下载kaggle数据集作为流程输入,出…...
Halo 设置 GitHub - OAuth2 认证指南
在当今数字化时代,用户认证的便捷性和安全性愈发重要。对于使用 Halo 搭建个人博客或网站的开发者而言,引入 GitHub - OAuth2 认证能够极大地提升用户登录体验。今天,我们就来详细探讨一下如何在 Halo 中设置 GitHub - OAuth2 认证。 一、为…...
脑影像分析软件推荐 | AIDA介绍
目录 1.软件界面 2.工具包功能简介 3.软件安装注意事项 1.软件界面 2.工具包功能简介 AIDAmri是一种新型的基于图谱的成像数据分析流程,用于处理小鼠大脑的结构和功能数据,包括解剖MRI、基于扩散张量成像(DTI)的纤维追踪以及基…...
SQL:Relationship(关系)
目录 🔗 什么是 Relationship? 三种基本关系类型(基于实体间的关系): 1. 一对一(One-to-One) 2. 一对多(One-to-Many) 3. 多对多(Many-to-Many…...
【今日三题】压缩字符串(模拟) / chika和蜜柑(topK) / 01背包
⭐️个人主页:小羊 ⭐️所属专栏:每日两三题 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 压缩字符串 (模拟)chika和蜜柑 (topK)01背包 压缩字符串 (模拟) 压缩字符串 class Solution { public:string compressStri…...
PHP多维数组
在 PHP 中,多维数组是数组的数组,允许你存储和处理更复杂的数据结构。多维数组可以有任意数量的维度,但通常我们最常用的是二维数组(数组中的数组)。 首先来介绍一下一维数组, <?php//一维数组 $strAr…...
智能手机功耗测试
随着智能手机发展,用户体验对手机的续航功耗要求越来越高。需要对手机进行功耗测试及分解优化,将手机的性能与功耗平衡。低功耗技术推动了手机的用户体验。手机功耗测试可以采用powermonitor或者NI仪表在功耗版上进行测试与优化。作为一个多功能的智能终端,手机的功耗组成极…...
0x02.Redis 集群的实现原理是什么?
回答重点 Redis 集群(Redis cluster)是通过多个 Redis 实例组成的,每个主节点实例负责存储部分的数据,并且可以有一个或多个从节点作为备份。 具体是采用哈希槽(Hash Slot)机制来分配数据,将整…...
游戏引擎学习第219天
游戏运行时的当前状态 目前的工作基本上就是编程,带着一种预期,那就是一切都会很糟糕,而我们需要一个系统来防止它变得更糟。接下来,我们来看看目前的进展。 简要说明昨天提到的无限调试信息存储系统 昨天我们完成了内存管理的…...
二叉树深度解析:从基础概念到算法实现与应用
一、二叉树的本质定义与核心特性 (一)递归定义与逻辑结构 二叉树是一种 严格有序的树结构,其递归定义为: 空树:不含任何结点的集合,是二叉树的特殊形态。非空二叉树:由以下三部分组成&#x…...
Model Context Protocol(MCP)模型上下文协议
Model Context Protocol(MCP)模型上下文协议 前言一、什么是MCP二、MCP的作用三、MCP与Function call对比四、构建一个简单的MCP DEMO环境准备实现MCP Server运行 ServerMCP Client端配置验证 总结 前言 在Agent时代,将Agent确立为大模型未来…...
代码随想录算法训练营第十六天
LeetCode题目: 530. 二叉搜索树的最小绝对差501. 二叉搜索树中的众数236. 二叉树的最近公共祖先3272. 统计好整数的数目(每日一题) 其他: 今日总结 往期打卡 530. 二叉搜索树的最小绝对差 跳转: 530. 二叉搜索树的最小绝对差 学习: 代码随想录公开讲解 问题: 给你一个二叉搜…...
类似东郊到家的上门按摩预约服务系统小程序APP源码全开源
🔥 为什么上门按摩正在席卷全国? 万亿蓝海市场爆发 2024年中国按摩市场规模突破8000亿,上门服务增速达65% 90后成消费主力,**72%**白领每月至少使用1次上门按摩(数据来源:艾媒咨询) 传统痛点…...
MySQL 5.7.30 Linux 二进制安装包详解及安装指南
MySQL 5.7.30 Linux 安装包详解 mysql-5.7.30-linux-glibc2.12-x86_64.tar 是 MySQL 服务器 5.7.30 版本的 Linux 二进制发行包。 mysql-5.7.30-linux-glibc2.12-x86_64.tar 安装包下载 链接:https://pan.quark.cn/s/2943cd209ca5 包信息 版本: MySQL 5.7.30 平…...
C语言超详细指针知识(二)
在上一篇有关指针的博客中,我们介绍了指针的基础知识,如:内存与地址,解引用操作符,野指针等,今天我们将更加深入的学习指针的其他知识。 1.指针的使用和传址调用 1.1strlen的模拟实现 库函数strlen的功能是…...
Java集合框架详解:核心类、使用场景与最佳实践
文章目录 一、Java集合框架概览二、核心集合类详解1. List接口(有序、可重复)**ArrayList****LinkedList****List对比表** 2. Set接口(无序、唯一)**HashSet****TreeSet****Set对比表** 3. Queue接口(队列)…...
模板引擎语法-标签
模板引擎语法-标签 文章目录 模板引擎语法-标签[toc]一、用于进行判断的{% if-elif-else-endif %}标签二、关于循环对象的{% for-endfor %}标签三、关于自动转义的{% autoescape-endautoescape %}标签四、关于循环对象的{% cycle %}标签五、关于检查值是否变化的{% ifchange %}…...
刘火良FreeRTOS内核实现与应用学习之7——任务延时列表
在《刘火良FreeRTOS内核实现与应用学习之6——多优先级》的基础上:关键是添加了全局变量:xNextTaskUnblockTime ,与延时列表(xDelayedTaskList1、xDelayedTaskList2)来高效率的实现延时。 以前需要在扫描就绪列表中所…...
基于红外的语音传输及通信系统设计
标题:基于红外的语音传输及通信系统设计 内容:1.摘要 本设计聚焦于基于红外的语音传输及通信系统,以解决传统通信方式在特定场景下的局限性为背景,旨在开发一种高效、稳定且具有一定抗干扰能力的语音传输系统。方法上,采用红外技术作为语音信…...
解锁AI未来,开启创新之旅——《GPTs开发详解》与《ChatGPT 4应用详解》两本书的深度解析
前言 在这个数字化时代,AI技术正在以前所未有的速度改变我们的生活和工作方式。作为一名AI爱好者和从业者,我深知了解并掌握先进技术的重要性。今天,我想向大家推荐两本极具价值的书籍:《GPTs开发详解》和《ChatGPT 4应用详解》。…...
Linux进程通信入门:匿名管道的原理、实现与应用场景
Linux系列 文章目录 Linux系列前言一、进程通信的目的二、进程通信的原理2.1 进程通信是什么2.2 匿名管道通讯的原理 三、进程通讯的使用总结 前言 Linux进程间同通讯(IPC)是多个进程之间交换数据和协调行为的重要机制,是我们学习Linux操作系…...
[SpringMVC]上手案例
创建工程 新建项目,选择maven工程,原型(Archetype)选择maven的webapp,注意名称头尾。会使用到tomcat(因为是javaWeb)。 新建的项目结构目录如下,如果没有java目录,需要自…...
kubernetes 入门篇之架构介绍
经过前段时间的学习和实践,对k8s的架构有了一个大致的理解。 1. k8s 分层架构 架构层级核心组件控制平面层etcd、API Server、Scheduler、Controller Manager工作节点层Kubelet、Kube-proxy、CRI(容器运行时接口)、CNI(网络插件&…...
说一说 Spring 中的事务
什么是事务? 事务就是用户定义的一系列执行SQL语句的操作, 这些操作要么完全地执行,要么完全地都不执行, 它是一个不可分割的工作执行单元。 Spring 中的事务是怎么实现的? Spring事务底层是基于数据库事务和AOP机制的首先对于…...
docker容器安装的可道云挂接宿主机的硬盘目录:解决群晖 威联通 飞牛云等nas的硬盘挂接问题
基于Docker部署可道云(KodCloud)时,通过挂载宿主机其他磁盘目录可实现高效、安全的数据管理。具体而言,使用绑定挂载(Bind Mounts)将宿主机目录(如/data/disk2)映射到容器内的可道云…...
Oracle 23ai Vector Search 系列之5 向量索引(Vector Indexes)
文章目录 Oracle 23ai Vector Search 系列之5 向量索引Oracle 23ai支持的向量索引类型内存中的邻居图向量索引 (In-Memory Neighbor Graph Vector Index)磁盘上的邻居分区矢量索引 (Neighbor Partition Vector Index) 创建向量索引HNSW索引IVF索引 向量索引示例参考 Windows 环…...
GPT模型架构与文本生成技术深度解析
核心发现概述 本文通过系统分析OpenAI的GPT系列模型架构,揭示其基于Transformer解码器的核心设计原理与文本生成机制。研究显示,GPT模型通过自回归机制实现上下文感知的序列生成,其堆叠式解码器结构配合创新的位置编码方案,可有效…...
【读者求助】如何跨行业进入招聘岗位?
文章目录 读者留言回信岗位细分1. 中介公司的招聘岗位2. 猎头专员3. 公司的招聘专员选择建议 面试建议1. 请简单介绍你过去 3 年的招聘工作经历,重点说下你负责的岗位类型和规模2. 你在招聘流程中最常用的渠道有哪些?如何评估渠道效果?3. 当你…...
2025蓝桥杯省赛C++B组解题思路
由于题面还没出来,现在先口胡一下思路 填空题直接打表找规律或者乱搞一下就能出,从大题开始说。 1,题意: 给你一个数组,这个数组里有几个数可以被一个连续递增的数字区间求和得出 思路:诈骗题,显…...
springcloud整理
问题1.服务拆分后如何进行服务之间的调用 我们该如何跨服务调用,准确的说,如何在cart-service中获取item-service服务中的提供的商品数据呢? 解决办法:Spring给我们提供了一个RestTemplate的API,可以方便的实现Http请…...
游戏引擎学习第220天
介绍 今天的工作主要是进行一些代码整理和清理,目的是将我们之前写过的代码重新整合在一起,使它们能够更好地协同工作。现在的阶段,我们的任务并不是进行大规模的功能开发,而是集中精力对现有的代码进行整合和思考,确…...
OceanBase企业版单机部署:obd命令行方式
OceanBase企业版单机部署:obd命令行方式 安装包准备服务器准备最低资源配置是否部署ODP组件?仲裁服务器 服务器配置操作系统内核参数BIOS设置磁盘挂载网卡设置 obd部署前配置obd部署单机版安装obd配置obd部署OB集群部署后检查 环境清理与集群销毁 本文介…...
KWDB创作者计划—KWDB认知引擎:数据流动架构与时空感知计算的范式突破
引言:数据智能的第三范式 在数字化转型进入深水区的2025年,企业数据系统正面临三重悖论:数据规模指数级增长与实时决策需求之间的矛盾、多模态数据孤岛与业务连续性要求之间的冲突、静态存储范式与动态场景适配之间的鸿沟。KWDB(K…...
车载通信系统中基于ISO26262的功能安全与抗辐照协同设计研究
摘要:随着智能网联汽车的快速发展,车载通信系统正面临着功能安全与抗辐照设计的双重挑战。在高可靠性要求的车载应用场景下,如何实现功能安全标准与抗辐照技术的协同优化,构建满足ISO26262安全完整性等级要求的可靠通信架构&#…...
Oracle OCP认证考试考点详解083系列03
题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 11. 第11题: 题目 解析及答案: 关于 RMAN(恢复管理器)多路复用备份集,以下哪…...
Spring
一.Ioc&DI 1.类的五种控制反转注解 这五个注解作用都一样,只是意义不一样,用来提高代码的可读性。 Controller:控制层,接收请求,对请求进⾏处理,并进⾏响应。 Servie:业务逻辑层࿰…...
基于开源链动2+1模式、AI智能名片与S2B2C商城小程序源码的体验式关系深化与商业转化研究
摘要:本文探讨了通过体验过程中的共同经历强化关系,促使KOC(关键意见消费者)为品牌背书的机制,并深入分析了开源链动21模式、AI智能名片以及S2B2C商城小程序源码在其中的创新应用。研究发现,这些新模式和技…...
【区块链安全 | 第三十九篇】合约审计之delegatecall(一)
文章目录 外部调用函数calldelegatecall call 与 delegatecall 的区别示例部署后初始状态调用B.testCall()函数调用B.testDelegatecall()函数区别总结 漏洞代码代码审计攻击代码攻击原理解析攻击流程修复建议审计思路 外部调用函数 在 Solidity 中,常见的两种底层外…...