产品经理应该理解的高频技术词汇/口头语
在日常需求对接中,经常从研发口中听到一些词汇/口头语,本文整理了产品经理与开发沟通最高频的31个技术术语/口头禅,让你从此需求评审不露怯,Bug追踪不抓瞎,轻松Get技术团队的尊重!
个人实战分享,干货满满的!以下是技术术语的详细定义和说明:
bug
BUG一般是指在电脑系统或程序中,泛指程序中未被发现的一些的逻辑缺陷问题,简称程序漏洞,是程序设计中的术语。
其实bug是所有程序都会存在的,没有一个程序是完美无bug的,只是bug有没有被发现,bug严不严重而已。
为什么用“BUG”代指 “程序漏洞”?
bug起源于一个故事。1947年9月9日,早期的电脑突然宕机,工程师团队找了很久原因,最终发现是有飞蛾意外飞入一台电脑引起的。团队很快排除错误,并在日志本记录这事。因此,人们逐渐开始用“bug”(原意“虫子”)来称呼计算机隐藏的错误。—-实际是不是飞蛾造成的故障就不得而知了。
硬编码/代码写死
硬编码:指在代码中直接使用固定值(如字符串、数字、路径),而不是通过变量、配置文件或外部输入动态获取。这种方式虽简单,但会降低代码的灵活性和可维护性。
代码写死:中文对“硬编码”的俗称,强调代码缺乏灵活性,修改时必须改动源码。
开发、测试、灰度和生产环境、蓝绿环境
- 开发环境:程序员编写和调试代码的本地或共享环境。
- 测试环境:测试人员用于系统化测试的环境。
- 灰度环境:无限接近生产环境的预发布环境,用户体验和生产环境一致,一般用于上线前最终验证。仅部分人员(测试或产品)有权限。
- 生产环境:用户实际使用的线上环境。
- 蓝绿环境:有一种发布策略叫蓝绿部署,蓝绿部署的核心思想,即同时维护两个生产环境(蓝和绿),一个在线,另一个用于部署新版本。好处是有问题直接切换流量,快速回滚。
构建、打包、脚本执行、部署、发布、回滚/回退
构建:将源代码转换为可运行程序的过程,包括编译、依赖安装、代码优化等。——有时候会听到研发说构建失败。
打包:将开发后的可执行文件和必要的文档(如使用说明等)使用打包工具制作成软件包(我们可以本地下载安装的东西),方便分发和部署,比如APP打包后生成app-release.apk,提交至应用商店。
脚本执行:运行自动化脚本批量处理特定任务(如数据迁移、环境配置)。
部署:将打包好的程序安装到某个环境(测试、灰度或生产等)里。
发布:用户能看见更新后的软件包内容或者直接使用软件,一般指发布到线上生产环境。
发布策略:
- 全量发布:所有用户立即切换至新版本。
- 灰度发布:小范围用户试用(如5%流量),验证稳定性。
- 蓝绿部署:新旧版本并行运行,流量一键切换。
回滚:当新版本出现严重问题时,快速恢复到上一版本。发布之前都会准备回滚计划,一旦有问题,影响线上业务了,马上进行回滚。
联调、版本管理、封版
联调:不同模块或系统间进行接口对接与功能验证,确保数据交互和业务流程正确。
常见场景:
- 前端与后端API联调(比如前后端针对“订单提交接口”进行联调)。
- 微服务间联调(比如支付服务调用风控服务)。
- 第三方系统联调(比如调用第三方在线客服系统)。
版本管理:
通过工具(Git、SVN)管理代码的变更历史、分支策略与发布版本,支持团队协作与追溯。
封板:
在当前版本发布前停止新功能开发,进入测试与修复阶段,仅允许修改关键Bug,不允许新的功能和需求加入当前版本。
主要是为了防止版本错乱,发版时把未验证或测试中的版本发上线。
耦合、解耦、上下游
耦合:模块/功能之间相互依赖,高耦合意味着改动一个模块会牵连其他模块。
解耦:指降低模块/功能之间的依赖,使系统更模块化、独立、易维护,把关联依赖降到合理边界,不至于牵一发而动全身,同时要考虑解耦成本,允许适度耦合。
上下游:通常,在软件开发中,上下游指的是系统或服务之间的依赖关系和数据流向。上游可能指提供数据或服务的系统,下游则是依赖这些数据或服务的系统,消费上游数据或服务,并进一步加工或传递的接收方。
在下面的流程中,订单服务是支付服务的上游,传递支付金额、用户等关键支付信息。
进程、线程
进程
操作系统进行资源分配和调度的基本单位,每个进程拥有独立的内存空间(代码、数据、堆栈等),彼此隔离。
比如打开微信APP是一个进程,打开支付宝APP又是另外一个进程。
线程
线程是进程内的执行单元,共享进程资源(内存、文件),是CPU调度的基本单位。一个进程可包含多个线程,实现高效并发。
快照、实时
快照:在特定时间点对系统状态的静态捕获与保存,用于记录历史状态或备份恢复,快照数据不会再变化。
实时:系统对事件或数据的即时响应与处理,保证结果在可接受延迟内(通常毫秒级)完成,实时数据时刻都可能在变化中。
举例:
- 每日日终账户余额就是快照,当前账户余额就是实时。
- 每日日终交易金额 → 快照,当日累计交易金额 → 实时。(当日还没完,实时汇总统计截止前一统计时刻所有订单的金额,不断在变化中)
- 在线文档实时更新版本 → 实时,在线文档历史存档 → 快照。
逻辑删除、物理删除
当你设计一个删除功能,一般研发都默认是逻辑删除。
- 逻辑删除:不是真的删除,只是加了一个“是否删除”的字段标识,已删除的数据不会在页面上显示和被查询出来。(数据仍在,但不可见)
- 物理删除:在数据库把这个数据给删了,后续如果要查询,无法找回。(真的删除,无法找回)
兼容、重构、迁移
兼容
定义:
兼容是指不同系统、设备、软件、协议或版本之间能够协同工作,且不产生冲突或功能异常的能力
常见的“兼容”场景及含义:
1)软件兼容性
- 操作系统兼容:软件能否在 Windows、macOS、Linux 等不同操作系统上正常运行。
- 依赖项兼容:软件能否与其他库、框架或运行环境(如 Java 版本、Python 依赖包)正确配合。
- 浏览器兼容:网页能否在 Chrome、Firefox、Safari 等不同浏览器中正常显示和交互。
2)硬件兼容性
- 设备驱动能否适配不同型号的硬件(如打印机、显卡)。
- 软件能否在不同硬件架构(如 x86、ARM)上运行(例如:苹果 M1 芯片兼容旧版软件)。
3)版本兼容性
- 向后兼容:新版本系统/软件能支持旧版本的功能或数据(例如:Word 2023 能打开 Word 2010 的文件)。
- 向前兼容:旧版本系统/软件能部分支持新版本的功能(较少见,通常是提醒升级)。
4)协议/接口兼容
- 不同系统间通过 API、通信协议(如 HTTP、gRPC)交互时,数据格式和逻辑是否一致。
- 例如:微信小程序的后端接口升级时,需保证旧版客户端仍能正常调用。
5)数据兼容
- 数据在不同系统或版本间能否正确解析(如 CSV 文件用 Excel 和 Numbers 打开格式不乱)。
重构
1)定义
在研发领域,“重构”指在不改变软件外部功能的前提下,对代码内部结构进行优化和改进的过程。重构的核心目标是提升代码的可读性、可维护性和扩展性,同时减少技术债务,而非直接添加新功能或修复 Bug。
2)重构的典型场景
- 代码冗余:比如多个函数实现相同逻辑,通过重构可以将重复代码提取为公共方法。
- 复杂逻辑简化:比如将一个500行函数拆分为多个小函数。
- 设计模式优化:引入更合适的设计模式。
- 性能瓶颈改进:优化低效算法或数据结构等。
- 技术债务清理:修复临时方案、过时依赖或遗留代码。
迁移
1)定义
在研发领域,“迁移”指将系统、数据、应用程序或服务从一个环境、平台或版本转移到另一个环境的过程,目的是提升性能、降低成本、适应新技术或满足业务需求变化。
2)迁移的常见类型
- 数据迁移:将数据从旧数据库转移到新数据库。
- 系统迁移:从旧系统(如单体架构)迁移到新系统(如微服务架构)。
- 云迁移:从本地服务器迁移到云平台(如 AWS、Azure、阿里云)。
- 版本升级迁移:软件框架或语言版本升级。
- 平台迁移:更换技术栈或供应商(如安卓应用从 Google Play 迁移到华为 AppGallery)。
高并发、高吞吐量、冷热分离
高并发
定义:系统在极短时间内同时处理大量用户请求的能力,比如年度促销活动同一时刻订单激增,系统可以稳定、快速响应地相应下单请求,不至于系统崩溃或响应延迟。
高吞吐量
定义:指系统在单位时间内处理大量数据或请求的能力,强调数据处理的效率和总量,而非瞬时并发压力。
冷热分离
冷热分离指从业务层面区分数据访问频度,将低频度访问数据转储到廉价存储主机上,高频度访问数据留存在高性能存储主机上,降低存储成本,提升性能和管理效率。
一主多从、读写分离
一主多从和读写分离是数据库架构设计中提升性能与可靠性的核心策略。
一主多从:
主库:唯一负责写操作(INSERT/UPDATE/DELETE)的数据库节点;
从库:通过复制技术同步主库数据,仅提供读操作(SELECT)的数据库节点,通常部署多个从库以扩展读能力。
读写分离:
让主库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从库只读实例处理查询(SELECT)操作。
主从库和读写分离的好处:
- 高可用:主库故障时,从库可提升为新主库(需配合VIP或DNS切换)
- 负载均衡:从库分担读压力,避免主库性能瓶颈
- 数据备份:从库可作为实时备份节点(逻辑备份 + 物理备份结合)
以上是本次分享的全部内容。
本文由 @野生产品经理-祝祝 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
- 目前还没评论,等你发挥!