不少人都有类似经历,面试时听到某个技术名词,脑子一下子空白,事后查资料,才发现这个东西自己平时一直在用。或者翻看技术文档,一堆缩写,单个字母看得懂,组合在一起完全不清楚含义。计算机领域很多术语听起来很唬人,拆开来看核心逻辑其实很简单。
API,三个字母,看着非常专业,全称是应用程序接口。简单来说,就是两个程序之间约定好的交互方式。你在外卖App下单,App把订单信息发送给餐厅后台系统,中间传输数据的通道就是API。你不用了解餐厅后厨如何处理订单,只需要按照约定格式发送“我要一份宫保鸡丁”这类请求。API就是程序之间传递信息的窗口。

缓存听起来像复杂的高级技术,本质就是把经常用到的数据放在容易拿到的地方。第一次查询域名,DNS从根服务器一路查到权威服务器,耗时几百毫秒。再次查询同一个域名,直接读取缓存,几毫秒就能返回结果。浏览器缓存、系统缓存、路由器缓存,思路都一样,不用每次都远程查询,直接读取上次保存的结果。
负载均衡听起来像是管理学课程名词,含义很简单:单台服务器处理不了大量请求,就多台机器共同分担。用户请求到达前端,调度器挑选负载低的服务器分发请求,这个调度组件就是负载均衡器。
容器和虚拟机经常放在一起讨论,听着高深。虚拟机相当于完整模拟一台电脑,自带独立操作系统,隔离性强,但体积笨重。容器是把程序连同运行环境打包,共用宿主机操作系统内核,更加轻量化,隔离强度弱于虚拟机。可以把虚拟机理解成单独租一套房子,厨卫独立;容器类似青旅床位,床位和个人物品独立,厨卫公共使用。Docker就是打包容器环境的工具。
分布式系统听起来是高级架构,核心一句话:单台机器处理能力不足,多台机器分工协作。微信、淘宝、抖音这类产品背后,都是成千上万台服务器协同工作。分布式要解决的问题就是任务拆分、节点协同,以及某台服务器故障后的容错处理。概念听着复杂,本质就是多机器共同分担压力。
集群就是多台服务器组合在一起,对外表现如同一台设备。中间件负责在不同组件之间传递消息。框架属于半成品代码,开发人员填入业务代码,框架提供基础运行架构。库是现成的工具代码,写程序时直接调用。SDK是面向开发者的全套工具包,包含库、文档、示例代码。
编译和解释,名词看着像语言学概念。编译是一次性将源代码转换为机器可识别的机器码,之后再执行。解释是边翻译边运行,不会生成独立机器码文件。编写Python代码,采用解释执行;C++代码会先编译成二进制文件再运行。两者区别在于翻译时机,和难度无关。
数据库索引就相当于书本的目录。想查找书中某一章节,没有目录只能逐页翻阅,有目录就能直接跳转对应页码。索引让数据库不用遍历整张数据表,快速定位目标记录。事务规则是操作要么全部完成,要么全部回滚。转账场景里,资金从A账户扣除,B账户却没有收到,这种情况不允许发生,事务保证两步操作绑定在一起,出错就撤销全部操作。死锁就是两个进程互相等待对方释放资源,双方都无法继续执行。
DNS就是互联网电话簿,输入域名,返回对应的IP地址。CDN把内容复制多份,部署在靠近用户的节点。在北京访问,就返回北京节点资源;在广州访问,就调度广州节点。反向代理部署在服务器前端,所有请求先经过它,再转发给后端服务器。正向代理部署在客户端一侧,用户借助它访问外部网站。
微服务是把大型应用拆分成多个小型服务,每个服务只负责单一功能,服务之间通过网络调用。单体应用是把全部功能整合在一套程序内。消息队列就是任务排队,请求量超出处理能力时,任务放入队列依次处理。DevOps是开发和运维团队协同工作,减少互相推诿。CI/CD实现自动化测试与自动部署,代码提交后自动执行测试,测试通过就发布到线上。灰度发布是先开放给少量用户使用新版本,验证无重大问题之后,再全量上线。
K8s是Kubernetes缩写,用来调度管理容器。设定运行五个实例,它会自动分配服务器、启动容器、监控运行状态,实例宕机自动重建。Redis是内存型数据库,读写速度快,但断电数据丢失。MQ指代消息队列。RPC是远程调用,在一台机器调用另一台机器内的函数,使用体验接近本地调用。REST属于接口设计风格,依靠HTTP方法定义操作。GraphQL允许客户端自定义获取的数据内容,不多获取多余信息,也不会缺少所需字段。WebSocket维持长连接,服务器可以主动推送消息给客户端。
VPN就是加密隧道。在外网连接VPN,所有网络流量通过加密通道传输到企业或者目标服务器,第三方无法查看传输内容。NAT是地址转换,家用路由器把多个内网设备映射到同一个公网IP。子网掩码用来划分网络范围。网关是网络出口。路由器负责路由寻址。交换机用于局域网内部数据传输。Hub会广播收到的全部数据,属于简单转发设备。Modem也就是调制解调器,完成模拟信号和数字信号的互相转换。
带宽可以类比水管粗细,延迟是响应耗时,吞吐量代表实际传输流量。并发是同时接收多个任务,并行是同一时刻执行多项任务。同步操作按顺序一步步执行,异步操作不用等待结果,先执行其他任务。阻塞代表程序卡住等待,非阻塞不会停滞。回调是任务完成后触发通知。Promise代表未来会返回结果。async/await让异步代码的写法接近同步代码。垃圾回收自动清理不再使用的内存。内存泄漏是本该释放的内存没有释放。
堆栈遵循后进先出,队列先进先出。链表由多个节点串联组成。哈希用于快速查找数据。树是分层结构。图由节点和边构成。算法复杂度衡量代码运行快慢。编译时是代码翻译阶段,运行时是程序执行阶段。IDE是代码编写工具。Git用于版本控制。分支用于并行开发。合并操作把分支代码整合。冲突指多人修改同一行代码。Pull Request提交代码合并申请。Code Review由其他开发人员检查代码。单元测试测试代码小块功能。集成测试验证多个模块协同效果。端到端测试覆盖完整业务流程。冒烟测试快速验证基础功能能否运行。回归测试确认修改代码没有破坏原有功能。AB测试对比两套方案效果。蓝绿部署依靠两套独立环境切换版本。滚动更新分批替换实例。金丝雀发布先小范围上线新版本。
服务网格管理服务之间通信。API网关作为所有API请求入口。服务发现用来定位服务实例位置。配置中心统一管理各类配置。链路追踪记录单次请求完整流转路径。日志记录系统发生的事件。监控持续采集系统运行状态。告警在异常发生时推送通知。SLA是对外服务承诺。SLO是内部服务目标。SLI是衡量服务质量的指标。可观测性依靠日志、指标、链路追踪掌握系统状态。混沌工程主动制造故障测试系统稳定性。基础设施即代码,使用代码管理服务器资源。不可变基础设施不修改服务器,直接替换实例。无服务器架构不需要用户维护底层服务器。边缘计算在靠近用户一侧完成计算。
AI是人工智能。ML是机器学习。DL是深度学习。NLP是自然语言处理。CV是计算机视觉。LLM是大语言模型。RAG是检索增强生成。Prompt就是提示词。Token是词元。Embedding是向量表达。向量数据库专门存储向量数据。Agent是智能体。MCP是模型上下文协议。Function Calling是函数调用。Fine-tuning是微调。蒸馏是用大模型训练小模型。量化降低数据精度节省存储空间。剪枝移除模型里不重要参数。推理是利用模型做预测。训练是让模型学习数据规律。参数是模型内的数值。超参数是训练前预先设定。梯度下降寻找损失最小值。反向传播用来计算梯度。神经网络由多层计算单元构成。卷积提取局部特征。池化做降采样。注意力机制聚焦关键信息。Transformer是网络结构。扩散模型依靠加噪、去噪生成内容。GAN是生成对抗网络。强化学习依靠试错学习。奖励函数用来打分。Q-learning学习动作价值。策略梯度直接学习策略。蒙特卡洛是随机模拟方法。马尔可夫特性代表未来状态只依赖当前状态。贝叶斯依靠概率更新判断。频率派依据事件长期发生频率判断。过拟合是模型过度适配训练数据,泛化差。欠拟合是模型没有学到数据规律。正则化用来防止过拟合。dropout随机丢弃部分神经元。batch norm批量归一化。损失函数衡量预测误差。优化器更新模型参数。学习率代表参数更新步长。epoch代表一轮完整训练。batch size是单次训练样本数量。迭代代表重复计算。收敛指模型稳定。泛化代表模型在新数据上表现良好。交叉验证轮流划分数据集验证。混淆矩阵展示分类结果。精确率代表查准率。召回率代表查全率。F1综合平衡精确率与召回率。AUC是曲线下面积。ROC是接收者操作特征曲线。PR曲线展示精确率、召回率变化。偏差方差是误差两大来源。集成学习组合多个模型共同预测。随机森林由大量决策树组成。XGBoost属于梯度提升算法。SVM是支持向量机。KNN是最近邻算法。聚类实现数据分组。降维减少特征数量。PCA主成分分析。t-SNE用于降维可视化。特征工程构造模型输入特征。数据清洗处理脏数据。ETL是抽取、转换、加载数据。数据湖存放原始数据。数据仓库存放结构化数据。OLAP用于分析查询。OLTP处理事务。数据中台是共享数据平台。数据网格是分布式数据管理方案。数据编织实现数据虚拟化。湖仓一体融合数据湖与数据仓库。实时流处理实时数据。批处理批量处理数据。Lambda架构结合批流处理。Kappa架构仅使用流处理。事件驱动依靠事件触发逻辑。CQRS读写分离。Event Sourcing保存事件记录。Saga属于分布式事务模式。分布式事务跨多个服务执行事务。CAP定理:一致性、可用性、分区容忍性三者无法同时满足。BASE代表基本可用、软状态、最终一致。ACID包含原子性、一致性、隔离性、持久性。两阶段提交分为准备、提交两步。三阶段提交在两阶段基础上增加一步。Paxos是共识算法。Raft是易于理解的共识算法。ZAB是ZooKeeper原子广播协议。Gossip是八卦传播协议。一致性哈希构建哈希环。虚拟节点让哈希分布更均匀。副本是数据复制。分片切割数据集。分区划分数据。复制拷贝数据。主从架构主节点写,从节点读。多主架构存在多个可写主节点。无主架构没有主节点。读写分离读请求走从节点,写请求走主节点。分库分表拆分数据库。缓存穿透查询不存在的数据。缓存击穿热点key过期。缓存雪崩大量缓存同时过期失效。布隆过滤器快速判断数据不存在。LRU最近最少使用淘汰。LFU最不经常使用淘汰。FIFO先进先出。TTL数据存活时间。CDN回源向源站拉取资源。边缘节点部署在靠近用户位置。DNS预取提前解析域名。预连接提前建立网络连接。懒加载资源使用时才加载。预加载提前加载资源。代码分割拆分打包文件。Tree Shaking移除未使用代码。打包合并多个文件。压缩减小文件体积。混淆增加代码阅读难度。Source Map映射压缩代码回源码。Polyfill提供浏览器缺失能力。Transpile代码转译。Babel是JS转译器。Webpack打包工具。Vite新一代打包工具。Rollup适合打包库。ESBuild打包速度快。SWC高性能编译工具。Turbopack打包速度更快。Monorepo单仓库管理多个项目。Polyrepo多仓库多项目。微前端属于前端微服务。模块联邦实现模块共享。SSR服务端渲染。CSR客户端渲染。SSG静态页面生成。ISR增量静态生成。Hydration注水。同构代码两端都能运行。islands岛屿架构。RSC React服务端组件。Server Actions服务端动作。Edge Runtime边缘运行时。Serverless无服务器。FaaS函数即服务。BaaS后端即服务。PaaS平台即服务。IaaS基础设施即服务。SaaS软件即服务。CaaS容器即服务。DaaS数据即服务。API经济依靠API产生收益。开放平台对外提供API调用。OAuth授权协议。JWT令牌。SSO单点登录。SAML安全断言标记语言。OIDC OpenID Connect。RBAC基于角色访问控制。ABAC基于属性访问控制。零信任默认不信任任何访问主体。mTLS双向TLS认证。WAF Web应用防火墙。DDoS分布式拒绝服务攻击。XSS跨站脚本攻击。CSRF跨站请求伪造。SQL注入注入SQL语句。越权访问超出权限资源。提权提升账号权限。勒索软件加密用户数据索要赎金。钓鱼诱导用户泄露信息。社会工程学依靠欺骗获取信息。蜜罐诱捕攻击者。沙箱隔离运行环境。隔离分隔资源。最小权限只分配必要权限。纵深防御多层防护。安全左移在开发早期引入安全检测。SBOM软件物料清单。SCA软件成分分析。SAST静态代码分析。DAST动态应用扫描。IAST交互式应用安全测试。RASP运行时应用自我保护。渗透测试模拟黑客攻击。红队负责攻击演练。蓝队负责防守。紫队攻防协同。威胁情报收集攻击相关信息。SIEM安全信息和事件管理。SOAR安全编排自动化响应。EDR端点检测响应。XDR扩展检测响应。MDR托管检测响应。NDR网络检测响应。UEBA用户实体行为分析。DLP数据防泄漏。CASB云访问安全代理。SASE安全访问服务边缘。ZTNA零信任网络访问。SD-WAN软件定义广域网。SDP软件定义边界。微分段细粒度网络隔离。网络切片切分网络资源。5G第五代移动通信。Wi-Fi 6第六代WiFi。Wi-Fi 7第七代WiFi。蓝牙短距离无线通信。Zigbee低功耗mesh网络。Z-Wave用于智能家居。LoRa远距离低功耗通信。NB-IoT窄带物联网。MQTT消息队列遥测传输。CoAP受限应用协议。AMQP高级消息队列协议。XMPP可扩展消息协议。SIP会话发起协议。RTP实时传输协议。WebRTC网页实时通信。QUIC基于UDP的传输协议。HTTP/3基于QUIC。TLS 1.3新版TLS。DoH DNS over HTTPS。DoT DNS over TLS。DNSSEC DNS安全扩展。ESNI加密SNI。ECH加密客户端问候。SNI服务器名称指示。OCSP在线证书状态查询。CRL证书吊销列表。证书透明公开证书日志。HSTS强制HTTPS访问。CSP内容安全策略。CORS跨域资源共享。SameSite Cookie属性。HttpOnly禁止JS读取Cookie。Secure仅HTTPS传输Cookie。预检OPTIONS请求。嗅探猜测内容类型。MIME内容类型。Content-Type内容类型请求头。Accept客户端可接受类型。User-Agent客户端信息。Cookie存储在浏览器的小数据。Session会话。Token令牌。JWT JSON Web Token。OAuth开放授权。OpenID身份认证。SAML安全断言标记语言。CAS中央认证服务。LDAP轻量目录访问协议。Kerberos认证协议。RADIUS远程认证拨号用户服务。TACACS终端访问控制器访问控制系统。802.1X端口认证。NAC网络准入控制。BYOD自带设备办公。MDM移动设备管理。EMM企业移动管理。UEM统一端点管理。VDI虚拟桌面基础设施。DaaS桌面即服务。桌面云也就是云桌面。远程桌面远程控制设备。SSH安全外壳协议。Telnet远程登录。RDP远程桌面协议。VNC虚拟网络计算。X11X窗口系统。Wayland新一代显示协议。XorgX组织。PulseAudio音频服务。PipeWire新一代音频服务。ALSA高级Linux声音架构。OSS开放声音系统。JACK低延迟音频。GStreamer流媒体框架。FFmpeg音视频处理工具。编解码编码和解码。容器格式封装音视频。封装把音视频打包在一起。转码重新编码音视频。转封装更换容器格式。推流上传直播数据流。拉流下载直播流。RTMP实时消息传输协议。HLS HTTP直播流。DASH动态自适应流。WebRTC网页实时通信。SRT安全可靠传输。NDI网络设备接口。SDI串行数字接口。HDMI高清多媒体接口。DisplayPort显示端口。USB通用串行总线。Thunderbolt雷电接口。PCIe外设组件互连。SATA串行ATA。NVMe非易失性内存表达。SAS串行连接SCSI。RAID磁盘冗余阵列。JBOD简单磁盘捆绑。SAN存储区域网络。NAS网络附加存储。DAS直连存储。iSCSI互联网SCSI。NFS网络文件系统。SMB服务器消息块。CIFS通用互联网文件系统。AFP苹果文件协议。FTP文件传输协议。SFTP SSH文件传输协议。SCP安全复制。rsync远程同步。Git版本控制。SVN Subversion。Mercurial水银版本控制。Perforce简称P4。CI持续集成。CD持续交付或持续部署。Jenkins老牌CI工具。GitLab CI GitLab内置CI。GitHub Actions GitHub的CI。CircleCI CI工具。Travis CI CI工具。Argo CD GitOps工具。Spinnaker持续部署。Tekton K8s原生CI。Drone CI工具。Bamboo Atlassian的CI。TeamCity JetBrains的CI。Buildkite CI。Concourse CI。GoCD CI。Chef配置管理工具。Puppet配置管理。Ansible配置管理。SaltStack配置管理。Terraform基础设施即代码。Pulumi基础设施即代码。CloudFormation AWS的IaC。ARM Azure资源管理器。Bicep ARM领域专用语言。CDK云开发工具包。Crossplane K8s IaC。Operator K8s扩展组件。Helm K8s包管理。Kustomize K8s配置定制。K8s Kubernetes。Docker容器引擎。containerd容器运行时。CRI-O容器运行时。Podman无守护进程容器。Buildah构建镜像。Kaniko在K8s内构建镜像。BuildKit镜像构建工具。OCI开放容器倡议。CNI容器网络接口。CSI容器存储接口。CRI容器运行时接口。etcd键值存储。kubelet节点代理。kube-proxy网络代理。CoreDNS DNS服务。Ingress入口。Gateway API网关API。Service服务。Deployment部署。StatefulSet有状态集。DaemonSet守护集。Job一次性任务。CronJob定时任务。ConfigMap配置映射。Secret密钥。PV持久卷。PVC持久卷声明。StorageClass存储类。Namespace命名空间。RBAC基于角色访问控制。NetworkPolicy网络策略。HPA水平Pod自动扩缩。VPA垂直Pod自动扩缩。Cluster Autoscaler集群自动扩缩。Node节点。Pod豆荚。ReplicaSet副本集。Label标签。Selector选择器。Affinity亲和性。Taint污点。Toleration容忍。Probe探针。Lifecycle生命周期。Init Container初始化容器。Sidecar边车容器。Ambassador大使。Adapter适配器。Operator操作器。CRD自定义资源定义。Controller控制器。Reconcile调和。Watch监听。Informer通知器。Workqueue工作队列。Leader Election领导选举。Lease租约。Garbage Collection垃圾回收。Admission Controller准入控制器。Scheduler调度器。Preemption资源抢占。PriorityClass优先级类。QoS服务质量。LimitRange资源限制范围。ResourceQuota资源配额。PDB Pod中断预算。PSP Pod安全策略。OPA开放策略代理。Gatekeeper守门人。Kyverno K8s策略。Falco运行时安全检测。Trivy漏洞扫描。Clair漏洞扫描。Aqua安全平台。Twistlock安全平台。Sysdig安全监控。eBPF扩展伯克利包过滤器。Cilium eBPF网络插件。Calico网络插件。Flannel网络插件。Weave网络插件。Canal Calico+Flannel组合。Kube-router网络插件。Multus多网卡网络。SR-IOV单根IO虚拟化。DPDK数据平面开发套件。RDMA远程直接内存访问。RoCE RDMA over Converged Ethernet。NVMe-oF NVMe over Fabrics。SPDK存储性能开发套件。DPU数据处理单元。SmartNIC智能网卡。FPGA现场可编程门阵列。ASIC专用集成电路。GPU图形处理器。TPU张量处理单元。NPU神经网络处理器。APU加速处理单元。SoC片上系统。MCU微控制器。CPU中央处理器。GPU图形处理器。RAM随机存取存储器。ROM只读存储器。BIOS基本输入输出系统。UEFI统一可扩展固件接口。MBR主引导记录。GPT GUID分区表。NTFS新技术文件系统。FAT32文件分配表32。exFAT扩展FAT。HFS+分层文件系统+。APFS苹果文件系统。ext4第四扩展文件系统。XFS X文件系统。Btrfs B树文件系统。ZFS Z文件系统。RAID冗余磁盘阵列。LVM逻辑卷管理。SWAP交换空间。Pagefile页面文件。Hibernation休眠。Sleep睡眠。Shutdown关机。Restart重启。Safe Mode安全模式。Recovery恢复模式。Kernel内核。Shell命令解释器。Bash Bourne Again Shell。Zsh Z shell。Fish友好shell。PowerShell强大shell。Cmd命令提示符。Terminal终端。Console控制台。TTY电传打字机。PTY伪终端。stdin标准输入。stdout标准输出。stderr标准错误。pipe管道。redirect重定向。grep文本搜索。awk文本处理。sed流编辑器。sort排序。uniq去重。wc统计计数。head查看文件头部。tail查看文件尾部。cut文本剪切。tr字符转换。xargs参数传递。find文件查找。locate定位文件。which查看程序路径。whereis查找程序位置。type查看命令类型。file识别文件类型。stat查看文件状态。touch创建文件或修改时间。mkdir创建目录。rmdir删除空目录。rm删除文件。cp复制。mv移动或重命名。ln创建链接。chmod修改权限。chown修改所有者。chgrp修改用户组。umask权限掩码。su切换用户。sudo超级用户执行。passwd修改密码。useradd新增用户。usermod修改用户。groupadd新增用户组。groupmod修改用户组。id查看用户身份。who查看登录用户。w查看用户活动。last查看登录记录。lastlog查看用户最后登录。ps查看进程状态。top进程监控。htop增强版top。free查看内存。df磁盘空间。du磁盘占用。mount挂载。umount卸载。fdisk磁盘分区。parted分区编辑器。mkfs创建文件系统。fsck文件系统检查。dd数据复制。tar打包。gzip压缩。bzip2压缩。xz压缩。zip压缩。unzip解压。7z 7-Zip。rar压缩包。curl客户端URL工具。wget网页下载。nc netcat。netcat网络猫。telnet远程登录。ssh安全外壳。scp安全复制。sftp SSH文件传输。rsync远程同步。screen终端会话。tmux终端复用。nohup后台运行不挂断。cron定时任务。at一次性定时任务。systemd系统守护进程。sysvinit System V init。upstart Upstart。journalctl查看日志。dmesg查看内核消息。lsof列出打开文件。strace跟踪系统调用。tcpdump抓包。wireshark网络分析。nmap网络扫描。ping连通性测试。traceroute路由追踪。mtr结合ping与traceroute。dig域名查询。nslookup域名查询。host域名查询。whois域名信息查询。arp地址解析协议。ip网络命令。ifconfig接口配置。route路由。netstat网络统计。ss套接字统计。iptables IP表防火墙。nftables nft防火墙。ufw简易防火墙。firewalld防火墙守护进程。fail2ban登录失败防护。selinux安全增强Linux。apparmor应用装甲。capabilities权限能力。cgroups控制组。namespaces命名空间。seccomp安全计算模式。auditd审计守护。rsyslog系统日志。syslog-ng下一代系统日志。logrotate日志轮转。fluentd日志采集。filebeat文件节拍。logstash日志处理。kibana可视化。elasticsearch搜索引擎。splunk日志分析。graylog日志平台。loki日志存储。promtail日志采集。grafana可视化面板。prometheus监控。alertmanager告警管理器。node_exporter节点指标采集。cadvisor容器指标采集。blackbox_exporter黑盒探测。snmp_exporter SNMP指标采集。mysql_exporter MySQL指标采集。redis_exporter Redis指标采集。nginx_exporter Nginx指标采集。jmx_exporter JMX指标采集。statsd指标采集。graphite指标存储。influxdb时序数据库。telegraf指标采集。victoriametrics时序数据库。thanos时序数据处理。cortex时序存储。mimir时序存储。jaeger链路追踪。zipkin链路追踪。opentelemetry开放遥测。skywalking链路追踪。pinpoint链路追踪。datadog监控平台。newrelic监控。dynatrace可观测平台。appdynamics应用监控。splunk日志分析。sumologic日志平台。papertrail日志服务。loggly日志平台。logentries日志。logz日志平台。humio日志平台。cribl数据处理。vector数据管道。fluentbit日志采集。fluentd日志采集。logstash日志处理。filebeat文件节拍。metricbeat指标采集。packetbeat网络包采集。heartbeat可用性探测。auditbeat审计采集。winlogbeat Windows日志采集。functionbeat函数采集。journalbeat日志采集。
这些名词看着吓人,拆开理解都很直白。不用一次性全部记住,碰到的时候弄懂它大致的作用就足够。计算机术语很多时候只是给简单事物起了正式名字,名词本身并不复杂,复杂的是背后整套联动的系统。不过那就是另外一个话题了。