如何用自然语言 5 分钟构建个人知识库应用?我的 GPTs builder 尝试
开发者的想象力闸门一旦打开,迎接我们的必然是目不暇接的 AI 应用浪潮冲击。

兴奋
早晨,我突然发现 ChatGPT 最新的 Create GPTs 功能可以用了。

这太让我意外了,没想到这么快。根据页面上的提示,我一直以为还得等上一周左右。于是我就发了个感慨:

结果,就在短短 10 几分钟以后,我自己的机器人上线了。而我激动到又过了 10 多分钟,才想起来把这个事儿补到评论区。

本文我就来跟你分享一下 GPT 机器人的创建过程,以及使用效果。
不过进入正题之前,我还得先给部分读者补充一下背景知识 —— 你别嫌我啰唆,我发现真有自己的朋友到现在还没看过这场 OpenAI DevDay 发布会的。
GPTs 是什么呢?我为了偷懒,直接「借鉴」卓克老师的得到 App 专栏内容(顺便说一句,强烈推荐),让 ChatGPT 帮我做了总结,分享给你:
GPTs 是 OpenAI 的新功能,它像一个智能机器人。发布会上展示了三个例子:CanvaGPT 可以帮你设计海报;ZapierGPT 可以连接和控制手机里的各种 App,比如帮你查看日程,解决日程冲突,甚至帮你在微信上和领导解释你不能参加会议的原因;最后一个例子是,你可以用自然语言和 ChatGPT 沟通,生成个性化的 Agent,比如一个创业咨询师。对于开发者和投资人来说,这个新功能既让人期待又让人担忧,因为他们需要升级自己的产品才能与 OpenAI 竞争。
好了,背景介绍完毕。下面咱们就来看看,如何用这个功能构造你自己的 GPT 智能机器人,帮你解决重要或棘手的任务。
构建
构建 GPT 的过程非常轻松,因为都是引导对话式。
GPT builder 问我:
嗨!我来帮助您构建一个新的 GPT。您可以说类似于 “制作一个能为新产品生成视觉效果的创意师” 或者 “制作一个能帮助格式化我的代码的软件工程师”。您想要做什么?
我的答复是:
做一个文章已发布内容查询助理,帮我用已经发布的内容来回答问题
ChatGPT 立即开始思考。

然后它很快给出来了结果。

注意此时右侧的提示,以及下面给出的若干启发式初始问题。界面已经有了雏形。
下面它接着问我:
Great, we're making a content retrieval assistant that will use published articles to answer questions. How about we call this GPT "Article Assistant"?Would that work for you?
翻译过来为:
太好了,我们正在制作一个内容检索助手,它将使用已发布的文章来回答问题。我们可以把这个 GPT 称为 “文章助手”,你觉得这样行吗?
那当然没问题了。我表示赞同。

然后,GPT builder 就开始设计图标。

设计好后,GPT builder 问我这个图标怎么样?
我觉得图标画得并不差,但和主题偏差有点儿远。于是提出,最好和书籍、论文有关。

GPT builder 立即着手,并且修改成新的图标。如上图所示。然后问我的意见。
我表示:非常好!

GPT builder 很开心地问我具体细节了。
太棒了!现在,让我们来调整一下文章助手的工作方式。在搜索信息时,它应该优先考虑哪种内容?
我觉得这个问题很关键,可以设定不同的优先级和处理方式。我没想到这种对话引导,居然能将细节步骤考虑如此周详。
于是我回答说:
使用我上传的资料吧。

GPT builder 立刻给出了后续的追问:
明白。文章助手将优先考虑您上传的内容进行信息检索。接下来,如果助手在您的材料中找不到直接答案,它应该怎么做?您希望它询问澄清问题还是尝试根据可用信息提供最佳猜测?
既然我要建造的是个查询助手,全靠猜测来回答就不靠谱了。于是我指出:
先如实回答说在资料库中找不到,然后再尝试用你自身的检索能力 + 知识库来回答,并且给出详细的出处,如何?

GPT builder 的答复为:
完美,文章助手将在无法通过您上传的文件解决您的问题时通知您,并通过利用其浏览能力和知识库提供最佳答案,引用详细来源。最后,在互动方面,您对助手如何与您沟通有任何偏好吗?应该是正式的、随意的还是介于两者之间?
这个问题,着实让我思索了一会儿。因为根据我对 ChatGPT 脾气的了解,是有的时候很「轴」。如果你说「严肃」,它就跟个学究差不多,回答起来一本正经不苟言笑,甚至有些干巴巴的;可你要说「生动」,它就贫嘴饶舌,天马行空一通乱诹。那我干脆就给它举个例子好了:
比较 formal,但不要太死板就好,如同一个热心的图书馆员为读者提供参考咨询就行

我对自己的这个比方,还是很满意的。GPT builder 也似乎是听明白了。
那就这样定了。文章助手将以正式而亲近的语气与您交流,就像一位专注的图书管理员准备帮助您进行研究。请随意在右侧的游乐场中尝试使用文章助手,并且如果有任何需要进一步改进的地方,请告诉我。接下来你想做什么?
剩下的事儿,我就不需要对话来解决了,而是直接点开了设定标签。

滑动到最下面,我选择上传文件,作为这个 GPT 的知识库。

我选取的知识库,是自己最近一段时间发布的文章(包括知识星球和小报童内容)。部分文章目录如下:

我把这些文章,进行了合并,做成了一个 knowledge.md 文件上传了上去。

然后,我非常机 (ji) 智 (zei) 地取消了下面这个默认设定,以保障数据隐私。

至此,咱们的设置环节就算搞定了。然后,点击右上角这个按钮。

新建 GPT 机器人,可以选择三种可见范围:
创作者自己
知道链接的用户
公开发布
作为测试,我一开始选择的可见范围只包括了自己。然后,GPT builder 自动退出了设置页面,直接进入了我自己的 GPTs 用户交互界面。

测试
我过于激动,颤颤巍巍向 Article Assistant (我刚刚构建的 GPT 机器人)提出了自己的第一个问题:
我上传的资料中,都提到了哪些绘图的应用?请详细说明,并且在每一处举例时,都把对应的一级标题显示出来
Article Assistant 在思考……

很快,它就给出来了结果:

最终呈现的结果如下:

在您提供的资料中,提到了以下绘图应用及其相关的一级标题:
AI 绘图:
Disco Diffusion 和 Midjourney V5: 这两个工具被用于AI绘图。特别地,在Midjourney V5的例子中,使用了GPT-4提供的提示语增强,以展示AI绘图在过去一年的快速进化。
Midjourney: 被提及用于制作皮克斯3D风格头像。用户在网上展示自己使用Midjourney制作的头像,效果非常好。
DALLE 2: 在一段提到了人工智能绘图应用DALLE 2开始公开测试的文本中被提及。
Stable Diffusion: 在一段提及绘制兔子形象的例子中,说明了使用AI绘图应用Stable Diffusion可以快速完成绘画任务。
Tana AI builder: 这是一个可以在笔记里面自动生成提示词,然后让DALLE绘图的工具。
目录中的AI绘图工具:
Text to Image Art Generator
在 MacBook 本地运行 Stable Diffusion
OpenAI 的 AI 绘图工具 DALL・E
用 Midjourney 绘制皮克斯风格头像
中文 AI 绘画:造梦日记。
这些应用都是在 AI 和机器学习技术帮助下,让用户能够更加便捷地进行绘图和创造视觉艺术品。
我人工检视了答案,准确无误,非常开心。又尝试了几个其他方向的问题。
上午正好赶上组会,于是我给学生们当场做了演示。
在我的资料库中,哪些地方提到了 GPT-4 ?
这是 Article Assistant 的回答:

在您的资料库中,提到了 GPT-4 的几个方面:
GPT-4 分析错误原因并给出新代码的能力。
GPT-4 在编程和代码生成质量方面的表现。
GPT-4 在 ChatGPT Plus 中的使用限额和执行速度。
使用 GPT-4 进行逆向工程的可能性。
GPT-4 作为 AudioPen 使用的大模型的猜测。
GPT-4 在多模态输入和编程能力方面的增强。
GPT-4 在自动化和信息获取流程中的改变。
人工智能和 GPT-4 的合作和协作的重要性。
用于代码撰写和解释功能的工具 Cursor 宣称使用的是 GPT-4 技术。
以上总结涉及 GPT-4 的性能、限制、以及在自动化、编程、逆向工程和协作方面的应用。
Article Assistant 一边输出,我和学生一边共同兴奋地实时检验和讨论。上述答案确实都来自于我之前发布的文章。
下面我决定尝试调用一下 Article Assistant 内置的多模态功能。
请用一张图,尽可能生动形象真实描绘我的资料库内容
居然,Article Assistant 真的就画出来了。

我放大一下,你看看用来描述我的创作主题是否合适?

只不过,这次我的学生们似乎没有刚刚的兴奋,而是有些担忧。庆薇皱起眉头:
老师,以后还要人来干啥啊?
这个问题,我听了心里也不大是滋味儿。为了调解一下大伙儿的情绪,我让他们自己提个问题,现场测试。
于是肖骁提出:
老师,你问问他之前在文章里的预测和判断,后来都有哪些变成了现实?
我觉得这个问题好啊。可以把知识库信息和外部最新查询结果进行比对。
于是我问 Article Assistant :
查询我的资料库,有哪些过去我认为未来有前景的可能发展,现在已经变成了现实?
这是 Article Assistant 的回答:

在您的资料库中,没有直接提到过去认为未来有前景的可能发展,现在已经变成现实的具体实例。您可能需要直接查看原始资料以确定这些信息。如果您需要帮助确定特定发展或趋势,请提供更多上下文或指导。
学生们看起来很失望。我说这里就得看你会不会在遭遇挫折的时候,改进问题了。既然作为一个整体问题,Article Assistant 回答并不完满。我们可以帮它拆解。这是 prompt engineering 的技巧之一。
于是我先问:
查询我的资料库,看有哪些展望的预判和论断,一一列出
Article Assistant 这次并没有让我们失望。

答案为:
在您的资料库中,以下是一些关于未来发展的预判和论断:
AI 领域的不断发展将会在数据分析、编程和 AI 伦理等方面创造新的就业机会。
AI 在医疗保健方面应用于疾病诊断、预测患者预后和推荐个性化治疗方案,以及在新药发现上的潜力。
GPT-4 在医疗保健、金融和教育等领域的应用潜力,如生成精确的医学诊断和预测金融趋势。
ChatGPT 和 GPT-4 在知识管理上的潜力,提出了 AI 应辅助而不是取代人类智慧的观点。
GPT-4 作为 GPT-3 的后继者,其在自然语言处理方面的潜在影响力和预计改进。
这些预判和论断从各个角度展望了人工智能在不同领域的应用前景,以及对未来工作和研究的可能影响。
然后,我就继续追问:
下面请你查询最新资料,看上述论断是否已经变成了现实?举出对应的例子

Article Assistant 的解答为:
关于您的资料库中提出的展望预判和论断,以下是一些已经成为现实的对应例子:
AI在数据分析的就业机会:研究科学家在人工智能领域有着很高的需求和可观的平均薪资,这表明AI在数据分析上的应用已经是一个成熟的就业市场。
大数据工程师:作为人工智能中最高薪的角色之一,大数据工程师在AI领域扮演着重要的角色,平均年薪可达151,300美元,显示出大数据分析的前景已经变为现实。
软件架构师:平均年薪150,000美元的软件架构师,其薪资随着在人工智能、机器学习和数据科学方面的专业知识而提高,这也反映了这些领域的专业技能已经变得越来越有价值。
目前,LinkedIn 上列出的 AI 工作岗位超过 15,000 个,这一数字展示了 AI 技术在多个行业的广泛应用和需求,从技术公司到咨询、医疗保健、零售和媒体公司,都在寻求 AI 专业人才。
要说完满,我觉得算不上。因为它给出的例子,只是答复和印证了上一个问题答案中「就业机会」创造部分。但是两个问题下来,它的回答确实回应了学生提出的最初问题。希望以后它能在问题的自动划分,和总结的全面性上改进得更好。
限制
除此之外,目前 GPTs 还是有不少限制和缺憾。
例如我提出下面这个问题:
在我的资料库中,都有哪些主题最常出现?请列表方式列出,并对出现频次进行可视化绘图

一页没有显示完,我让它继续:

这里你就可以清楚看到问题。
首先,统计主题词出现频率肯定有问题。因为我不可能对重要主题词只提及一遍。上述的内容有的根本就不算是重要主题词。这里应该有统计方式的缺陷。
另外,就是绘图里面中文显示依然有问题。主题的中文部分,在图中的坐标轴下全都变成了方框。这些问题,我在当初给你演示 Code Interpreter 时曾经详细介绍过,此处就不赘述了。
小结
本文我为你介绍了 OpenAI DevDay 最新发布的 GPT builder 使用方式和效果。通过上传自己的已发布文章作为知识库,我真的只用了几分钟的时间和数个轮次的自然语言对话,就构造了自己的「知识分身」,还能帮助自己和学生、读者来解答问题。我现在还沈浸在兴奋中。尽管它还有很多限制与问题,但我知道这仅仅是个开始。开发者的想象力闸门一旦打开,迎接我们的必然是目不暇接的应用浪潮冲击。
这几天,我陆续看到了朋友们发来的 GPTs 样例。其中,让我感受最深的,就是立青使用 ChatGPT 创建 BibiGPT 竞品后的这一条感慨。开发者需要进行怎样的方向调整?短短几天内网络空间已经有了很多讨论,我不想赘述。只希望用立青的这个感受分享,再让你体验一下冲击的烈度。

祝(自然语言方式) AI 应用创建愉快!
你能耐心读到这里,咱们也算是有缘。我邀请你一起来测试一下我的 Article Assistant 吧。链接在这里。
https://chat.openai.com/g/g-eIK7zBkt1-article-assistant
不过我有言在先:
第一、因为这只是个测试版本,所以我不保证该机器人助手答案的准确;
第二、后续随时可能「召回」。如果你不巧没有第一时间使用,后续打不开链接,也不要急着骂我「骗子」哦 😂
点赞 +「在看」,转发给你身边有需要的朋友。收不到推送?那是因为你只订阅,却没有加星标。
欢迎订阅我的小报童付费专栏,每季度更新不少于10篇文章。订阅一整年价格优惠。

如果有问题咨询,或者希望加入社群和热爱钻研的小伙伴们一起讨论,订阅知识星球吧。不仅包括小报童的推送内容,还可以自由发帖与提问。之前已经积累下的帖子和问答,就有数百篇。足够你好好翻一阵子。知识星球支持72小时内无条件退款,所以你可以放心尝试。

若文中部分链接可能无法正常显示与跳转,可能是因为微信公众平台的外链限制。如需访问,请点击文末「阅读原文」链接,查看链接齐备的版本。
延伸阅读
如何用 ChatGPT 的 Advanced Data Analysis 帮你采集数据?
如何用 ChatGPT 一句话生成 Web 应用?
AI 真要成精了?ChatGPT 上手体验
未来的写作长啥样?LEX 用 GPT-3 AI 给你点儿颜色看看
如何用 ChatGPT 帮你自动分析数据?
相关文章:
如何用自然语言 5 分钟构建个人知识库应用?我的 GPTs builder 尝试
开发者的想象力闸门一旦打开,迎接我们的必然是目不暇接的 AI 应用浪潮冲击。 兴奋 早晨,我突然发现 ChatGPT 最新的 Create GPTs 功能可以用了。 这太让我意外了,没想到这么快。根据页面上的提示,我一直以为还得等上一周左右。于是…...
rabbitmq启动异常解决
如果 RabbitMQ 节点一直停在 "Stopping and halting node" 阶段,可能是由于一些原因导致节点无法正常停止。以下是一些建议的步骤,以尝试解决此问题: 手动强制终止节点: 尝试使用 rabbitmqctl 命令手动终止节点。在终端…...
OpenGL_Learn08(坐标系统与3D空间)
目录 1. 概述 2. 局部空间 3. 世界空间 4. 观察空间 5. 剪裁空间 6. 初入3D 7. 3D旋转 8. 多个正方体 9. 观察视角 1. 概述 OpenGL希望在每次顶点着色器运行后,我们可见的所有顶点都为标准化设备坐标(Normalized Device Coordinate, NDC)。也就是说&#x…...
github私有仓库开发,公开仓库发布版本
文章目录 github私有仓库开发,公开仓库发布版本需求背景实现思路GitHub Releases具体步骤广告 github私有仓库开发,公开仓库发布版本 需求背景 github私有仓库开发,公开仓库发布版本,既可以保护源代码,又可以发布版本给用户使用。许多知名软件项目都采用了这样的开…...
绿色低碳 数字未来-辽宁省建筑电气2023年学术年会-安科瑞 蒋静
2023年8月18日,辽宁省建筑电气2023年学术年会在辽宁友谊国宾馆成功召开。本届大会以“绿色低碳 数字未来”为主题,着眼为辽宁省建设提供智慧化电气设计及高质量产品服务。 安科瑞围绕“绿色低碳 数字未来”的主题,携充电桩及运营管理平台、工…...
day55
今日内容概要 路由层 无名分组 有名分组 反向解析 无名分组反向解析 有名分组反向解析 路由分发 伪静态的概念(了解) 名称空间(了解) 虚拟环境(了解) django1.x和django2.x的区别 路由层 url(r^test/$, views.test), url(rtestadd, views.testadd), ## 首页的地址 u…...
如何安装Node.js? 创建Vue脚手架
1.进入Node.js官网,点击LTS版本进行下载 Node.js (nodejs.org)https://nodejs.org/en 2.然后一直【Next】即可 3.打开【cmd】,输入【node -v】注意node和-v中间的空格 查看已安装的Node.js的版本号,如果可以看到版本号,则安装成功 创建Vue脚手…...
ASP.NETWeb开发(C#版)-day1-C#基础+实操
目录 .NET实操:创建项目执行 C#基础语法数据类型变量实操001_变量如何在一个解决方案 中创建另一个项目实操002结构实操003-if else实操004-多分支多行注释按钮实操:循环 面向对象基础如何在同一个项目下创建新的.cs文件实操-类的定义与访问实操-练习实操…...
LGSVL Python API 使用
1. References [1] LGSVL-python API使用方法 - 简书 [2] GitHub - lgsvl/PythonAPI: Python API for Simulator...
详解数据仓库之拉链表(原理、设计以及在Hive中的实现)
最近发现一本好书,读完感觉讲的非常好,首先安利给大家,国内第一本系统讲解数据血缘的书!点赞!近几天也会安排朋友圈点赞赠书活动(ง•̀_•́)ง 0x00 前言 本文将会谈一谈在数据仓库中拉链表相关的内容,包…...
使用Nodejs搭建简单的web网页并实现公网访问
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎…...
C++学习第三十七天----第十章--对象和类
10.2.2 C中的类 类是一种将抽象转换未用户定义类型的C工具,它将数据表示和操作数据的方法合成一个整洁的包。 接口:一个共享框架,供两个系统交互时使用。 1.访问控制 使用类对象的程序可以直接访问类的公有部分,但只能通过公有…...
TikTok影响力经济:解锁社交媒体的商业机遇
社交媒体平台的崛起改变了我们与世界互动的方式,而TikTok作为其中的一员,已经成为全球范围内的现象。这个短视频应用不仅让用户在几秒钟内分享创意和娱乐,还为企业和创作者提供了巨大的商业机会。本文将深入探讨TikTok的影响力经济࿰…...
燃气管网监测系统|全面保障燃气安全
根据新华日报的报道,2023年上半年,我国共发生了294起燃气事故,造成了57人死亡和190人受伤,燃气事故的发生原因有很多,其中涉及到燃气泄漏、设备故障等因素。因此,加强燃气安全管理,提高城市的安…...
第三章:人工智能深度学习教程-基础神经网络(第六节-ML深度学习层列表)
要指定所有层按顺序连接的神经网络的架构,请直接创建层数组。要指定层可以有多个输入或输出的网络架构,请使用 LayerGraph 对象。使用以下函数创建不同的图层类型。 输入层: 功能描述图像输入层 将图像输入网络应用数据标准化序列输入层 将…...
福建科立讯通信 指挥调度管理平台RCE漏洞复现
0x01 产品简介 福建科立讯通信指挥调度管理平台是一个专门针对通信行业的管理平台。该产品旨在提供高效的指挥调度和管理解决方案,以帮助通信运营商或相关机构实现更好的运营效率和服务质量。该平台提供强大的指挥调度功能,可以实时监控和管理通信网络设…...
性能测试:Jenkins+Ant+Jmeter自动化框架的搭建方法
前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入,我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段,需要在每个版本中,对某些新增接口进行性能测试,有时还需要在一天中的不同时段分别进行…...
【开源项目】snakeflow流程引擎研究
项目地址 https://gitee.com/yuqs/snakerflow https://toscode.mulanos.cn/zc-libre/snakerflow-spring-boot-stater (推荐) https://github.com/snakerflow-starter/snakerflow-spring-boot-starter 常用API 部署流程 processId engine.process().de…...
11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)
一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…...
AI脑控机器人应用前景如何?
脑控机器人应用前景可谓广阔无边。其轻松的风格不仅使我们能够享受更便捷、更舒适的生活,还为我们带来了无限的可能性。 首先,脑控机器人应用可以在医疗领域发挥重要作用。通过与人类大脑的直接连接,脑控机器人可以为残疾人士提供更高效的康…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
