ChatGPT全方位解析:如何培养 AI 智能对话技能?
简介
ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。
和 ChatGPT 沟通也是同样的道理,如果想要ChatGPT 给到的信息越准确,越清晰,和它的沟通就至关重要。
如何能和 ChatGPT 建立一个良好的沟通方式呢?其实就是靠提示词 Prompt。
价值
可能很多同学疑惑的点在于,提示词还需要另外去学吗?这个看起来貌似有手就行的操作,只要会打字就能够立刻上手吧?
但是会和用的好是两回事。我们可以把ChatGPT想象成孙悟空的金箍棒,本身它是一个非常强大的法器,但是如果不会使用,它也不过是一根铁棍而已。提示词用的越好,ChatGPT就越强大。
而且对于有编程基础的人来说,后续如果想要基于 LLM 或大语言模型快速构建、开发一些应用软件或者功能。不掌握 prompt 的基本原理和使用技巧,是无法达到很好的效果的。
在最后的相关资料里面,也添加了由微软和OpenAI所出的,针对于开发者的提示词的教程。我们的课程同样在后面也会带来基于 prompt 的应用开发实践。
提示词的原则与技巧
而写一个好的提示词,有以下的技巧可以使用。
-
写清楚需求:GPT 模型无法读懂您的想法,因此在提供需求时尽可能具体是很重要的。这包括在您的查询中包含详细信息,要求模型采用角色,以及使用定界符清楚地指示输入的不同部分。
-
提供参考文本:如果可以,请提供与您希望模型生成的内容相似的参考文本。这将有助于模型了解您要查找的内容并生成更准确的结果。
-
将复杂的任务拆分为更简单的子任务:如果您试图让模型做一些复杂的事情,将任务分解为更小、更易于管理的子任务会很有帮助。这将使模型更容易理解您的要求并生成更准确的结果。
-
角色扮演:这个技巧的作用是告诉ChatGPT在对话中扮演一个特定的角色或人物。这对于创造更有吸引力和沉浸感的对话,或模拟真实世界的场景特别有用。
-
系统地测试变化: 对需求或参考文本进行更改时,重要的是系统地测试结果以了解它们如何影响模型的输出。这将帮助您确定对改进结果最有效的更改。
写清楚需求
编写有效的ChatGPT的难点之一是表达含糊不清。为了避免这个问题,有以下几个问题需要注意:
-
定义任何专业术语或技术术语。
-
避免使用模棱两可的语言。
-
使用清晰或简明的语言
-
错误的案例:"你是我的哈基米吗?"
哈基米属于网络用语,而且诞生在2023年,ChatGPT是无法理解这个词的语意的。
-
好的案例:"请帮我提供在深圳市宝安区所有的咖啡馆"
简明扼要说清楚自己的需求,无需多言,ChatGPT便很好理解了。
提供参考文本
-
对于文本比较短的引用,可以直接贴到提问里面即可:如果你有一段法律条款,并希望模型使用这段条款来解释某个概念,你可以这样提问:“根据以下的法律条款,什么是知识产权?”然后附上法律条款的内容。
-
网页链接的引用:也可以直接将网页链接里面的内容提供给 GPT 来作为引用文本。比如可以直接给它一个链接地址,让它总结文章内的内容。(注意这个功能需要使用web插件)
拆解复杂任务
作为一个厨师,在做饭的时候需要完成这些步骤:准备食材、清理食材、处理食材、开始烹饪、摆盘。
在这个过程中,其实厨师就是把一个复杂的任务,拆解成了多个简单的任务。其实在编程的过程中,也是同样的道理。也会把一个复杂需求,拆解为N个简单的子需求。
如果需要ChatGPT帮助我们完成一个复杂的任务,那么,我们需要预先帮它把任务拆分。这样做的优点是:
-
更好理解每一个操作步骤。
-
不被上下文限制影响。
-
方便调整。
例如我们提出了一个如下的复杂任务:
-
提示词:作为一个测试工程师,我即将进行述职答辩,我想编写一个述职报告,述职报告需要包含我今年的成绩、我明年的目标、以及我在今年的工作过程中碰到的问题
ChatGPT 虽然给到了相应的回复,但是还有问题:
-
工作成绩没有清晰的数据也没有说服力,看着比较干瘪。报告内容没有图表。
-
内容太过简单空洞。
-
格式不够优雅。
如果我们把提问的方式做进一步优化,把这个复杂问题一步步进行拆解,并给ChatGPT一定的修改反馈,则产生的内容会更加符合我们的需求,比如我们可以把问题分解为:
-
提示词:作为一个测试工程师,我即将进行述职答辩,我想编写一个述职报告。述职报告需要包含我今年的成绩,我今年带领测试团队将bug的逃逸率降低了10%的比例。并且我希望有一个通过echarts绘制的折线图。请将我的述职报告做进一步优化。
当然我们从这张图片中可以看出折线图无法展示,我们可以进一步给GPT提示信息,让它直接给到报表的源码。
看出折线图无法展示,我们可以进一步给GPT提示信息,让它直接给到报表的源码。
- 提示词:echarts 折线图没有展示出来
然后GPT就会解释原因,并且给到解决方案。由此可见,将问题拆解,我们可以随时调整GPT的返回信息,让其更加贴近我们的需求。
借助外部工具
作为一个大语言生成模型,GPT4 并不擅长各种数学计算。比如下面的问题(来自官方 GPT 最佳指南中的示例问题):
-
提示词:查找以下多项式的所有实值根:3x^5 - 5x^4 - 3x^3 - 7x - 10
如果直接提问的话,通常没法直接给出答案,如下图所示,虽然借助Python,给出了运算过程,但是其实ChatGPT无法像人类数学家一样,给出直接的推导过程:
所以可以将提示词改为:
-
提示词:查找以下多项式的所有实值根:3x^5 - 5x^4 - 3x^3 - 7x - 10 ,使用Python 实现。
在后续碰到ChatGPT无法直接解决的问题时,不妨继续尝试这种曲线救国的方式。
角色扮演
角色扮演的过程就更为简单了,我们在编写提示词的时候,只需要给它加上一些角色的设定。
比如这个例子:
-
提示词:请用鲁迅的口吻,写一篇文章,叫做我的妈妈,要求字数在800字以内。
除了扮演其他作家之外,ChatGPT甚至可以扮演领导,面试官,浏览器的console插件等各种各样我们可以想象到的角色:
-
-
提示词:我希望你作为一个 javascript 控制台。我将输入命令,你回复javascript 控制台应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。我的第一个命令是 console.log("Hello World");
-
系统的测试变化
正如人在回复信息的时候,也无法保证所有的回复都是正确的,ChatGPT 也无法保证每次给到的信息都是“靠谱的”或者是满足需求的。
所以ChatGPT的每一次回复,在确认没有问题之后,再使用。如果有问题的话,可以进一步进行提问,ChatGPT会根据提示词不停的纠正回复。以达到一个满意的效果。
比如这个示例:
-
提示词:请问 App 的产品在测试的过程中需要注意什么
在测试一个 App 产品的过程中,有一些重要的注意事项可以帮助确保产品质量和用户体验。以下是一些你应该注意的方面:
1. **功能性测试:** 确保所有的功能都能正常工作,包括用户界面、交互和后台操作。测试每个功能的不同用例和场景,以确保没有错误或异常情况。
2. **兼容性测试:** 测试 App 在不同设备、操作系统版本和屏幕尺寸上的兼容性。这有助于确保用户在各种环境中都能正常使用 App。
3. **性能测试:** 测试 App 的性能,包括加载速度、响应时间和资源占用等。确保 App 在各种条件下都能保持良好的性能。
...省略...
11. **更新和升级测试:** 在发布新版本或更新时,确保之前的功能仍然正常,没有引入新的问题。
12. **法律和隐私合规性:** 确保 App 遵守相关的法律法规和隐私政策,特别是涉及用户数据和隐私的方面。
总之,测试是确保你的 App 产品质量和用户满意度的关键步骤。细致的测试流程和综
合的测试策略可以帮助你尽早发现和解决问题,提供优秀的用户体验。
-
提示词:请针对兼容性测试再做一些补充。
-
当进行兼容性测试时,你需要关注不同设备、操作系统版本、浏览器以及屏幕尺寸之间的兼容性。以下是一些针对兼容性测试的补充建议:
1. **设备兼容性测试:** 确保你的 App 在各种不同品牌、型号和操作系统的移动设备上都能正常运行。考虑测试不同的手机和平板设备。
2. **操作系统版本兼容性测试:** 测试 App 在不同操作系统版本上的兼容性,包括最新版本和一些较旧的版本。一些用户可能还在使用较老的操作系统。
...省略...
11. **更新和升级兼容性测试:** 当你发布新版本或更新时,确保之前的功能仍然正常,没有引入新的兼容性问题。
12. **错误处理和提示信息:** 在不兼容的设备或环境下,确保 App 能够提供适当的错误提示,引导用户解决问题。
通过兼容性测试,你可以确保你的 App 在不同的环境中都能够提供一致的用户体验,减少用户因设备或环境不同而遇到的问题,从而提
高用户满意度。
通过不停的测试以及纠正 ChatGPT 的回复,即可最终获得一个满意的回复。
总结
在学习 AIGC 的过程中,需要打破的往常的认知,不能再将AI作为简单的程序看待,反而要把它当作一个“人”来看待。
就像和人沟通一样,需要注意措辞、语气、沟通方式,才能够真正做到学会与AI对话,发挥它强大的作用。
后续学习的过程中,还会针对于 prompt 结合一些api的开发进行。
相关资料
-
微软Prompt教程:https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering
-
OpenAI官方指南:https://platform.openai.com/docs/guides/gpt-best-practices
推荐学习
人工智能测试开发训练营,为大家提供全方位的人工智能测试知识和技能培训。行业专家授课,实战驱动,并提供人工智能答疑福利。内容包含ChatGPT与私有大语言模型的多种应用,人工智能应用开发框架 LangChain,视觉与图像识别自动化测试,人工智能产品质量保障与测试,知识图谱与模型驱动测试,深度学习应用,带你一站式掌握人工智能测试开发必备核心技能,快速提升核心竞争力!
推荐学习
【霍格沃兹测试开发】7天软件测试快速入门 带你从零基础/转行/小白/就业/ 测试用例设计实战
【霍格沃兹测试开发】最新版!Web自动化测试从入门到精通/电子商务产品实战/Selenium(上集)
【霍格沃兹测试开发】最新版!Web自动化测试从入门到精通/电子商务产品实战/Selenium(下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/自动化测试/性能测试/精准测试/测试左移/测试右移/人工智能测试
【霍格沃兹测试开发】腾讯/百度/阿里/字节测试专家技术沙龙分享合集/精准化测试/流量回放/Diff
【霍格沃兹测试开发】Pytest用例结构/编写规范 /免费分享
【霍格沃兹测试开发】JMeter实时性能监控平台/数据分析展示系统Grafana/Docker安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/测试开发能力评级/1V1模拟面试实战/冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/要评级表格的联系我
【霍格沃兹测试开发】Pytest与Allure2一键生成测试报告/测试用例断言/数据驱动/参数化
【霍格沃兹测试开发】App功能测试实战快速入门/adb常用命令/adb压力测试
【霍格沃兹测试开发】阿里/百度/腾讯/滴滴/字节/一线大厂面试真题讲解,卷完拿高薪Offer!
【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置
【霍格沃兹测试开发】如何用Postman做接口测试,从入门到实战/接口抓包(最新最全教程)
【霍格沃兹测试开发】6小时轻松上手功能测试/软件测试工作流程/测试用例设计/Bug管理
【霍格沃兹测试开发】零基础小白如何使用Postman,从零到一做接口自动化测试/从零基础到进阶到实战
【霍格沃兹测试开发】建议收藏全国CCF测试开发大赛Python接口自动化测试赛前辅导 /项目实战
新手专区--7小时入门软件测试
新手专区--接口测试入门到实战精通
面试专区--软件测试如何获得高薪?
提升专区--测试开发技能图谱
新手专区 -- 软件测试精品课教程合集
【软件测试教程】软件测试面试实战之软件测试用例编写(一)
【软件测试教程】面试必问的软件测试基本理论及概念
【软件测试教程】面试必会问到的软件测试用例基本理论及方法
【软件测试教程】大厂的软件测试体系是什么样的?
【软件测试教程】名企大厂软件开发流程案例分析
【软件测试教程】做软件测试必须要懂的软件开发流程
【软件测试教程】做测试必须要了解的最常用的几种软件开发模型
【软件测试教程】软件测试如何在面试中向HR要到更高的薪资?
【软件测试教程】如何根据招聘需求选择最值得入职的软件测试岗位?
【软件测试教程】一线互联网名企软件测试岗位招聘具体流程揭秘
【软件测试教程】BAT大厂软件测试简历拆解及细节分析
【软件测试教程】撰写软件测试简历时必须要注意的5个事项
【软件测试教程】能进入BAT一线互联网大厂的优质软件测试简历必须包含的7大板块
软件测试工程师简历面试教程攻略--如何写出能进BAT大厂测开岗的优质简历?如何在面试中向HR要到更高薪资?如何拿到更高级别的offer?--持续更新!
【软件测试教程】自动化测试入门-只能二维码登录,自动化测试怎么做?
【软件测试教程】Appium自动化测试-九宫格解锁
【软件测试教程】面试现写10个linux命令,写不出来怎么办(上)
【软件测试教程】面试现写10个linux命令,写不出来怎么办(下)
【软件测试教程】自动化测试-比fiddler更好用的抓包工具,你知道吗?
【软件测试教程】使用python如何去做接口自动化测试?
【软件测试教程】自动化测试-如何使用selenium自动发邮件
【软件测试教程】软件测试入门进阶-测试新人的如何学习更容易涨薪
【软件测试教程】学会这个技巧,测试用例设计完全无压力
【软件测试教程】Allure一节课学会生成业内最优秀的自动化测试报告
【软件测试教程】自动化测试-selenium grid 搭建分布式测试平台
【软件测试教程】零基础掌握接口测试神器postman
【软件测试教程】UI自动化的高级定位,你学会了吗?
【软件测试教程】自动化测试-pytest测试框架
【软件测试教程】自动化测试框架-pytest测试框架详解
【软件测试教程】接口测试用例应该如何设计
【软件测试教程】Appium自动化测试-实现企业微信自动打卡
【软件测试教程】软件测试入门进阶-面试官常问的adb命令
【软件测试教程】Python+Excel自动化管理测试用例
【软件测试教程】自动化测试神器-charles抓包工具的使用
【软件测试教程】Appium 企业微信自动打卡
【软件测试教程】性能测试核心攻略-性能监控数据展示
【软件测试教程】软件测试入门进阶-面试中的测试用例设计思路
【软件测试教程】软件测试入门进阶-面试必考的SQL核心知识
相关文章:

ChatGPT全方位解析:如何培养 AI 智能对话技能?
简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理,如果想要C…...
[C++/Linux] UDP编程
一. UDP函数 UDP(用户数据报协议,User Datagram Protocol)是一种无连接的网络协议,用于在互联网上交换数据。它允许应用程序发送数据报给另一端的应用程序,但不保证数据报能成功到达,也就是说,它…...
深入探索Linux的lsof命令
在Linux系统中,了解哪些文件被哪些进程打开对于系统管理和问题诊断是极其重要的。这正是lsof命令,即List Open Files,发挥其强大功能的场景。本文旨在详细介绍lsof的起源、底层原理、参数意义,常见用法,并详解其返回结…...
flowable 想改变正在运行的任务,实例版本为最新,需要改哪些表
在Flowable中,要改变正在运行的任务,你需要更新相关的流程定义,具体来说,可能涉及到以下几张表: ACT_RU_TASK(运行时任务):这张表包含了当前正在运行的任务信息。你可能需要更新该表…...
统计各位数字都不同的数字个数 II
3032. 统计各位数字都不同的数字个数 II 给你两个 正整数 a 和 b ,返回 闭区间 [a, b] 内各位数字都不同的数字个数。 示例 1: 输入:a 1, b 20 输出:19 解释:除 11 以外,区间 [1, 20] 内的所有数字的各…...

Taro框架中的H5 模板基本搭建
1.H5 模板框架的搭建 一个h5 的基本框架的搭建 基础template 阿乐/H5 Taro 的基础模板...
gitea详细介绍
Gitea 是一个轻量级、易于安装的 Git 服务,提供了类似于 GitHub 的功能,如代码托管、问题追踪、团队合作等。它使用 Go 语言开发,可以在自己的服务器上进行部署,从而实现自托管的 Git 服务。Gitea 具有用户友好的界面,…...
应用性能分析系统SkyWalking的安装及使用详解
1. 前言 本文全面介绍了Skywalking的功能特点、安装步骤以及使用方法。首先,文章详细阐述了Skywalking作为一款开源的应用性能管理系统(APM)的核心功能,包括分布式追踪、服务网格观测分析、度量聚合和可视化一体化等。接着,文章提供了Skywalking的详细安装指南,包括环境…...

服务器远程桌面连接不上怎么办?
随着互联网的发展和远程办公的兴起,服务器远程桌面连接成为了许多企业和个人不可或缺的工具。偶尔我们可能会碰到服务器远程桌面连接不上的情况,这时候我们需要找到解决办法,确保高效地远程访问服务器。 天联组网——突破远程连接障碍 在我们…...
C++之STL的algorithm(8)之适配器(bind等)整理
C之STL的algorithm(8)之适配器(bind等)整理 注:整理一些突然学到的C知识,随时mark一下 例如:忘记的关键字用法,新关键字,新数据结构 C 的适配器整理 C之STL的algorithm&…...
部分国企笔试总结
2024.3.30相城区某国企笔试 客观题,30分 类似考公行测题(大部分)部分计算机专业基础知识(仅几题) 主观题,70分 网络安全类一道C编程题:用户输入圆半径r,程序计算面积和周长并输出…...

《QT实用小工具·二十二》多种样式导航按钮控件
1、概述 源码放在文章末尾 该项目实现了多种样式的导航按钮控件 可设置文字的左侧、右侧、顶部、底部间隔。 可设置文字对齐方式。 可设置显示倒三角、倒三角边长、倒三角位置、倒三角颜色。 可设置显示图标、图标间隔、图标尺寸、正常状态图标、悬停状态图标、选中状态图标…...

不定长顺序表
一.不定长顺序表的结构: typedef struct DSQList{ int* elem;//动态内存的地址 int length;//有效数据的个数 int listsize;//总容量 }DSQList,*DPSQList; 很明显,为了能实现扩容(否则如何实现再次判满呢?),我们必须要在定长顺序表的基础上增加一个总容量;结构示意图如下: 二…...

5.网络编程-socker(golang版)
目录 一、什么是socket? 二、Golang中使用TCP TCP服务端 TCP客户端 三、TCP黏包,拆包 1.什么是粘包,拆包? 2.为什么UDP没有粘包,拆包? 3.粘包拆包发生场景 4.TCP黏包 黏包服务端 …...

网格矢量如何计算莫兰指数
网格矢量如何计算莫兰指数 引言 遇到一个问题,计算矢量网格的莫兰指数。 概念解释 莫兰指数 莫兰指数(Moran’s Index)是一种空间自相关指标,用于衡量空间数据的相似性和聚集程度。它可以用来描述一个区域与其邻近区域之间的属…...

《containerd原理剖析与实战》大模型时代下如何学习云原生
大模型与云原生 近年来,大语言模型的热度可谓是愈发高涨,尤其是今年年初 Sora 的出现,更是让全球再次看到了AIGC 的巨大威力。 Sora 生成实例视频---几头巨大的长毛猛犸踏着积雪的草地而来 在当前大模型流行的时代下,云原生技术…...

【实用工具】使用飞书机器人监控工程日志
1.创建一个飞书群聊,设置-->群机器人-->添加机器人-->自定义机器人-->修改机器人名称-->添加 2.复制webhook地址 3.编写日志请求代码 import logging import requests import json import os from datetime import datetime import time import sub…...

NIKKE胜利女神PC怎么设置中文 手把手教你设置中文教程
这个游戏中的妮姬分四个企业,其中朝圣者这个派别的妮姬很少而且不在愿望单理,朝圣者的所有姐姐都很哇塞,红莲更是其中的大姐大。一般想抽朝圣者只能靠歪或者出限定卡池,举个栗子,我入坑的时候 朝圣者 神罚 是限定卡池&…...
【leetcode面试经典150题】2.移除元素(C++)
【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…...

实现几何对象按照一定距离向外缓冲
1、首先,确保你已经引入了Turf.js库。你可以通过在HTML文件中添加以下代码来引入 <script src"https://cdn.jsdelivr.net/npm/turf/turf6.5.0/turf.min.js"></script>2、使用turf.buffer实现几何对象按照设定距离扩充 let originalCoordinat…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...