部分使用 Claude、Claude-Dev 和 Aider 构建票务系统

王林
发布: 2024-08-28 18:30:15
原创
521 人浏览过

第 1 部分链接

如果你想在家玩的话,该项目已经开源:https://github.com/joegiglio/helpdesk-claude-dev-ai

第 3 部分 -

我现在想向知识库添加一些基本功能。 现在,我们只有一个框架 UI。让我们看看能否让克劳德用它做一些有用的事情。

[提示]
我现在想向知识库添加一些基本功能。 现在,知识库 URL 显示了一个占位符 UI,但让我们开始让它做一些有用的事情。 让我们从以下开始:
在左侧导航栏中添加“知识库设置”的链接。 这应该链接到包含这些设置的新模板。
在知识库设置页面内,添加占位符图像和占位符文本。
在知识库设置页面内,添加“主题”链接,该链接将由最终用户创建。 这些主题将包含未来步骤中的文章。 进行必要的数据库更新以支持这些更改。
[/提示]

Claude 进行了必要的更改,但遇到了缺少库的问题。 它再次失去了对虚拟环境 .venv 的跟踪,我需要提醒它。

[提示]
请确保您使用的是虚拟环境,目录名为 .venv
[/提示]

我们最终得到的 UI 缺少​​图像,有几种不同的字体,并且“管理主题”按钮不起作用。 我请克劳德把它清理干净。

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
我们需要对知识库设置页面的 UI 进行一些更改。

  1. 占位符图像丢失。
  2. 有几种不同的字体。 请选择一个并坚持下去。
  3. “管理主题”按钮不执行任何操作。 看起来它没有框架,所以让我们让它发挥作用。
  4. 通过创建一个表来保存主题来更新数据库。目前只需要一个字段,名为 Topic。
  5. 创建一个页面,以便用户可以创建和删除新主题。 确认删除。 [/提示]

Claude 再次尝试使用本地占位符图像,但我提醒它使用第 2 部分中讨论的 via.placeholder.com 服务。

观察输出,我注意到一个数据库迁移错误,Claude 能够修复该错误:

数据库迁移期间出现异常:
raise ValueError("约束必须有名称")
ValueError:约束必须有名称

经过一些清理后,这是我不关心的用户界面:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
请使用集成/slack 页面作为指导来更新知识库/设置页面的 UI。改进字体并用代表知识库的本地图像替换占位符图像 - 也许是一本书?
[/提示]

API 限制正在收紧!

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每分钟速率限制 (https://docs. anthropic.com/en/api/rate-limits);请参阅当前使用情况的响应标头。请减少提示长度或请求的最大令牌,或者稍后再试。 .com/contact-sales 讨论提高费率限制的选项。"}}

看着请求的经过,我看到 Claude 使用 cURL 命令下载一个代表知识库的图标。但是,它没有加载。 当被问及时,克劳德说下载了一个 SVG 文件,但另存为 PNG。 这是一个新的。 再一次迭代,它就被修复了,留给我的是:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

我不确定我是否喜欢带有“管理主题”大按钮的布局,但现在就可以了。 继续管理主题:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

不错,但如果我尝试添加已存在的主题名称,则会遇到异常:

sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)唯一约束失败:knowledge_base_topic.name
[SQL:插入知识库主题(名称)值(?)]
[参数:('主题1',)]

这与之前创建的问题相同。 让我们看看克劳德能否修复它。

[提示]
如果我尝试创建一个已存在的主题名称,则会出现异常。 请修复? sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)唯一约束失败:knowledge_base_topic.name
[SQL:插入知识库主题(名称)值(?)]
[参数:('主题1',)]
[/提示]

…还有另一个 429 错误:

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每分钟速率限制 (https://docs. anthropic.com/en/api/rate-limits);请参阅当前使用情况的响应标头。请减少提示长度或请求的最大令牌,或者稍后再试。 .com/contact-sales 讨论提高费率限制的选项。"}}

克劳德一定受到了很大的打击! 今晚几乎无法使用...

[提示]
我现在被阻止创建多个同名主题,但存在几个问题: 1. 缺少“错误”闪存消息的样式。 背景颜色可能应该是红色。 2. 主题名称不区分大小写。 如果“主题”已经存在,“我也不应该被允许创建“主题”。
[/提示]

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

又一个 429 错误。 这太累人了……

我能够再偷偷提出一个请求,直到我达到每日限制:

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每日速率限制 (https://docs.anthropic. com/en/api/rate-limits);请查看当前使用情况的响应标头,请减少提示长度或请求的最大令牌,或者稍后再试。 /contact-sales 讨论提高费率限制的选项。"}}

今晚我没有和克劳德做太多事情,但很快就达到了我的代币上限。 我不太确定这是如何计算的,但今晚 API 似乎非常严格。 我能做的就是微笑着等待明天。

第二天:

[提示]
让我们通过进行以下更改来继续改进知识库主题 UI: 1. 主题名称应不区分大小写。 如果“主题”已经存在,“我也不应该被允许创建“主题”。 2. 将可以创建的主题数量限制为 10,并在 UI 中显示此计数。 如果有 10 个主题,请禁用“创建主题”按钮并显示相应的消息。
[/提示]

Claude 提出了一些奇特的类函数代码来检查主题数量和大小写不敏感。 相当优雅:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

我注意到主题名称没有强制执行最大长度,即使我告诉克劳德在我的系统提示中这样做,这应该适用于我发送的每个提示。 令人失望……

即使数据库中的字段配置为接受 100 个字符,我也能够提交包含数千个字符的主题名称,并且没有任何问题。我不确定这一切是如何运作的,但从我的家乡来看,缺乏强制限制会导致麻烦。

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
您似乎没有对主题名称强制执行任何长度限制。这是正确的吗?
[/提示]

你是对的,我为忽略这个重要细节而道歉。让我们为主题名称添加长度限制。我们将主题名称的最大长度设置为 50 个字符。我将进行必要的更改以在后端和前端强制执行此限制。

Claude 添加了一些代码,但它是纯 JavaScript,我想要 jQuery,它已经是该项目的一部分。 我的系统提示符中也有 jQuery,但它似乎也忽略了这一点。 Claude 将其更改为 jQuery,甚至添加了字符计数器(很棒!)。 但是……这不起作用!

[提示]
我看到您添加了字符计数器,但它不起作用。 我在 Web 控制台中没有看到任何错误。 请修复。
[/提示]

Claude 对脚本标签的顺序做了一些更改,现在可以使用了。 再次出现与我们之前遇到的类似问题。

[提示]
让我们在管理主题页面上进行更多 UI 调整。 1. 按字母顺序对主题进行排序,不区分大小写。 2. 将主题计数移至“现有主题”标题​​旁边,将其从“创建主题”按钮下方删除。
[/提示]

在这次迭代的中间,我再次达到了每日 API 限制。 无论 Anthropic 最近对“即时缓存”进行了哪些更改,都对我没有任何帮助。 情况似乎变得更糟了。

当然:

400 {"type":"error","error":{"type":"invalid_request_error","message":"您的信用余额太低,无法访问 Claude API。请转到计划和账单升级或购买积分。”}}

这是当前的用户界面。 还不错!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

到第二天...接下来,我要创建代码以将文章添加到知识库。

[提示]
现在我想创建另一个功能,我们可以将文章添加到知识库中。一些要求:
每篇文章必须有一个主题。
如果某个主题有文章,则在删除其父主题时,该文章也应该被删除。 删除确认应警告用户有多少文章也将被删除。如果主题中有文章,用户需要输入“删除”一词(不区分大小写)来确认主题删除。
单击主题名称即可查看其中的文章。

在下一个提示中,我们将为文章创建页面构建 UI。 现在,将占位符页面与占位符图像和文本放在一起。

请对文件和数据库结构进行必要的更改以支持此功能。
[/提示]

这是一个非常丰富的提示。 让我们看看克劳德是怎么做的……

数据库迁移出现了一些问题,这似乎是由于 Claude 再次未检测到 .venv
环境。 我将把它添加到 Claude-Dev 的系统提示设置中。 希望它有帮助。

这些问题解决之后,我发现效果还不错。 当然,经过一些快速测试后,它需要进行一些调整。 我将在下一个提示中选择这些:

[提示]
我们需要对文章创建实现进行一些调整。 请进行以下更改:
删除主题时,我们应该始终显示确认信息。 但是,只有当主题包含文章时,我们才应该要求用户输入“删除”一词(不区分大小写)进行确认。
添加删除文章并确认删除的机制。
在知识库主页面上,如果没有主题,则隐藏搜索栏和占位符消息。 添加占位符文本,表示还没有主题。

添加更高级的文章编辑器,以便用户可以在创建和编辑期间格式化其文章。 通过在保存和检索时对文章文本进行编码和解码,防止潜在的危险字符。
[/提示]

我很好奇克劳德会选择哪位文章编辑。 它与 TinyMCE 搭配使用。 然而它并没有出现。

[提示]
还需要一些调整:
管理主题页面应显示每个主题中有多少篇文章。
如果主题中没有文章,则不应出现“查看所有文章”按钮。相反,显示诸如“该主题中没有文章”之类的文本。
您尝试添加 TinyMCE 编辑器来添加和编辑文章,但它没有出现。 我在控制台中没有看到任何错误。
[/提示]

TinyMCE 仍然无法工作。 这感觉就像另一个 websocket 和 JIRA 票证问题,Claude 无法解决该问题,而我的请求也用完了。 我希望不会。 需要更多调整!

[提示]
还需要一些调整:
如果主题中没有文章,则管理主题会显示文章计数器和文本“该主题中没有文章”。 无需同时显示两者,因此删除文本“此主题中没有文章”。

在“知识库”页面上,如果该主题中没有文章,我们仍然显示“查看所有文章”按钮。 相反,显示诸如“该主题中没有文章”之类的文本。
TinyMCE 编辑器仍然不会出现以添加或编辑文章。 我在控制台中没有看到任何错误。
[/提示]

TinyMCE UI 正在加载,但需要 API 密钥。 我会问 Claude 是否有一个更简单、免费的编辑器可用。

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
TinyMCE 编辑器现已出现,但需要 API 密钥。 我们是否可以使用其他不需要密钥的编辑器? 目前基本的格式选项应该没问题。 如果你能找到,请用它替换TinyMCE。
[/提示]

Claude 用 CKEditor 替换了 TinyMCE,现在它可以加载了! 然而,它并非没有问题。 我无法上传图像或保存文章。 开发控制台中的错误:

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
我可以查看 CKEditor,但遇到一些问题:
我无法保存文章。 开发控制台显示此错误: new:1 name='content' 的无效表单控件不可聚焦。
我无法上传图像。 开发控制台显示此错误:ckeditorerror.ts:140 filerepository-no-upload-adapter
请修复?
[/提示]

克劳德说:

对于您遇到的问题,我深表歉意。让我们解决这两个问题:
错误“名称='内容'的无效表单控件不可聚焦”可能是由于 CKEditor 用自己的元素替换文本区域,从而导致表单验证出现问题。我们需要更新表单提交流程来处理此问题。
出现“filerepository-no-upload-adapter”错误是因为我们没有为 CKEditor 配置上传适配器。我们需要实现一个简单的上传适配器来处理图像上传。

第一个修复看起来很简单,但 Claude 添加了一些非常复杂的 Javascript 代码来适应文件上传。 我反驳道:

[提示]
这看起来像是上传适配器的一些非常复杂的代码。您确定没有更简单的解决方案,也许是 CKEditor 内置的东西?
[/提示]

克劳德:

对于复杂性,我深表歉意。你是对的,使用 CKEditor 的内置功能有一个更简单的解决方案。让我们使用 CKEditor 的 Basic 包来简化我们的方法,它不包括图像上传,但提供基本的格式化选项。这应该可以解决这两个问题,而不需要复杂的上传适配器。

我想要文件上传功能,但在本练习中没有它也可以。 不幸的是,我达到了每日 API 限制,所以今天的活动就到此为止。 如此势头杀手……

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每日速率限制 (https://docs.anthropic. com/en/api/rate-limits);请查看当前使用情况的响应标头,请减少提示长度或请求的最大令牌,或者稍后再试。 /contact-sales 讨论提高费率限制的选项。"}}

但是,我确实预览了克劳德的一些修复。 我现在可以保存文章,但预览显示 HTML 代码。 也没有办法真正查看整篇文章。 我的疏忽。 需要修复!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

由于我之前在构建 UI 时的提示中存在一些缺陷,面向管理员的页面和功能与最终用户的页面和功能混合在一起。 这几天我得把它清理干净。 现在,让我们继续进行一些修复和调整……这是另一个重要的内容。 我的积分即将用完,但我们开始了!

[提示]
仍有一些错误和缺点需要修复:
在创建和编辑文章时,我仍然可以选择上传图像。 尝试上传图像显示错误:ckeditorerror.ts:140。 我希望能够使用编辑器上传图像,所以请修复。 如果需要的话,我们可以使用 /static/uploads/ 目录来存储上传的图片。

当我转到主题/[主题编号] 页面时,我会看到文章预览,但它们会显示可见的 HTML 代码。 此页面应作为文章预览,我们也许应该看到本文开头的纯文本版本。 我们稍后可能需要对此进行调整。
我们需要一个新的路线来查看文章,并且文章应该显示正确的格式。 现在,当您单击一篇文章时,它会将您带入编辑模式。 我们需要将查看和编辑分开。

应该有一种方法可以从管理主题页面在每个主题中创建新文章。
创建新文章时,页面底部有一个主题下拉菜单。 此下拉列表无法根据上下文了解用户所在的主题。下拉列表应反映正确的主题。
[/提示]

在观看 Claude 构建文件上传功能的代码时,我注意到它在几个不同的文件中创建相同的 Javascript 块。

[提示]
看起来 new_article.html 和 edit_article.html 文件中有一些类似的 Javascript 代码。 我们可以在一个公共文件中创建它并共享代码吗?
[/提示]

克劳德:

你是对的,这是一个很好的建议。让我们为 CKEditor 配置创建一个通用 JavaScript 文件,并在 new_article.html 和 edit_article.html 中使用它。
首先,我们在 static/js 目录中创建一个名为 ckeditor_config.js 的新文件。

这是很多变化。 在查看代码更改时,我注意到差异显示一堆代码被从 app.py 文件中删除并替换为文本“# ...(现有代码的其余部分)”。 我以前从未见过这种情况,尽管这可能是克劳德处理大文件的方式,而且它并不会真正删除现有代码。 嗯,我错了!

当 Claude 完成这些调整时,我尝试访问主页,结果是 404。许多代码和路由被删除,第 80 行字面上是“# ...(现有代码的其余部分)”。哇,这太糟糕了!希望我们能解决这个问题,但我闻到了潜在的 API 限制!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
哦不! 在您上次更改后,我似乎从 app.py 文件中丢失了很多代码。 许多路由已消失,并已在 app.py 的第 29 行和第 80 行替换为“# ...(现有代码的其余部分)”。 请修复!
[/提示]

克劳德:

对于疏忽,我深表歉意。你说得完全正确,我会立即解决这个问题。让我们恢复 app.py 文件中丢失的代码。

克劳德能够修复代码,但是哇 - 这是一个糟糕的代码。 这到底是怎么回事?

[提示]
如果我尝试创建“新文章”按钮,则会收到此错误:jinja2.exceptions.UndefinedError:'csrf_token'未定义
[/提示]

Claude 说我们现在需要 Flask-WTF 包,它将使用 pip 安装它。 让我们看看系统提示使用 .venv 目录是否有效…

不可能! 克劳德又干了一次,把代码合并时的代码全部删除了! 您确实需要注意,而不仅仅是接受生成的代码。

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
我不能接受这个代码! 第 31 行“有 # ...(现有代码的其余部分)”,您再次删除了其余代码!
[/提示]

当 Claude 完成后,服务器尝试重新启动,但失败并显示“ModuleNotFoundError:没有名为 'flask_wtf' 的模块”,这表明它没有使用 .venv 目录,所以我不相信系统提示符正在工作。 这可能是 Claude-Dev 扩展的问题。

[提示]
我收到错误“ModuleNotFoundError:没有名为“flask_wtf”的模块”,因此请确保在添加新库时使用 .venv 虚拟目录!
[/提示]

克劳德:

对于疏忽,我深表歉意。没错,我们需要在虚拟环境中安装Flask-WTF。我们现在就开始吧。

而且……就像发条一样:

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每日速率限制 (https://docs.anthropic. com/en/api/rate-limits);请查看当前使用情况的响应标头,请减少提示长度或请求的最大令牌,或者稍后再试。 /contact-sales 讨论提高费率限制的选项。"}}

好消息是 Claude 能够使用正确的虚拟环境并且服务器启动了。

坏消息是,如果我尝试提交一篇新文章,我会遇到另一个 CSRF 错误。 醒来吧,克劳德。 你还有一些工作要做!

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
请修复以下错误:
如果我尝试提交新文章,则会收到错误消息:“请求错误。 CSRF 令牌丢失。”
如果我尝试查看一篇文章,HTML 标签是可见的。 文章应以不带标签的格式显示。

[/提示]

有人醒来心情不好......我几乎没有使用它,而且我已经受到速率限制了。

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每分钟速率限制 (https://docs. anthropic.com/en/api/rate-limits);请参阅当前使用情况的响应标头。请减少提示长度或请求的最大令牌,或者稍后再试。 .com/contact-sales 讨论提高费率限制的选项。"}}

[提示]
我仍然发现一些错误。 这些都是非常基本的,不应该写入代码中。 请更仔细地检查您的代码,因为每次您需要修复它们时都会花费我的钱! 也许应用程序变得足够复杂,以至于是时候添加一些将在每次代码更改时运行的自动化测试了? 我发现的问题:
当我尝试查看一篇文章(例如在article/2 中找到的文章)时,它仍然显示 HTML 标记,并且不呈现格式化的文章。 也许在保存文章时这会被破坏? 我看到 lt;和>;在数据库中,请注意 app.py 第 416 行有“content = html.escape(content)”。
如果我尝试创建一个新主题,我现在会收到“错误请求”。 CSRF 令牌丢失。”
如果我尝试创建一篇新文章,我会收到“UndefinedError jinja2.exceptions.UndefinedError:'form'未定义”
[/提示]

看着Claude修改代码,我觉得它正在崩溃。 为什么又删除所有这些代码?

Part  Using Claude, Claude-Dev and Aider to Build a Ticketing System

[提示]
你为什么又删除所有代码? 第35行有# ...(保留所有现有的模型定义和辅助函数)并且所有其他代码都被删除? 小心!
[/提示]

克劳德:

对于造成的混乱,我深表歉意。你说得完全正确,我很欣赏你对细节的关注。让我们进行必要的更改,同时保持所有现有代码完好无损。我们只会更新具体需要修改的部分。
让我们更新app.py文件,只关注需要更改的部分

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每分钟速率限制 (https://docs. anthropic.com/en/api/rate-limits);请参阅当前使用情况的响应标头。请减少提示长度或请求的最大令牌,或者稍后再试。 .com/contact-sales 讨论提高费率限制的选项。"}}

叹息……

[提示]
第 35、37 和 46 行仍然有这些注释,并且您正在删除大量代码。为什么?
[/提示]

当然 -

429 {"type":"error","error":{"type":"rate_limit_error","message":"请求令牌数量已超出您的每日速率限制 (https://docs.anthropic. com/en/api/rate-limits);请查看当前使用情况的响应标头,请减少提示长度或请求的最大令牌,或者稍后再试。 /contact-sales 讨论提高费率限制的选项。"}}

我不可能是唯一遇到这些问题的人。 其他人都说他们通过克劳德赚了数百万美元,而我似乎发现了所有的错误! 我在 Claude-Dev Github 项目中打开了一个问题,因为我不能这样生活:Github 链接

做了更多研究后,听起来我的项目确实达到了某种类型的令牌限制,记录如下:Github 问题。 这确实限制了您可以使用的项目的复杂性,并且随着项目变得更加复杂,这可能是导致如此多 API 限制错误的原因。

如果我对问题的理解正确的话,为了提高代码质量,Claude-dev 在请求中来回发送活动文件的全部内容。 这会耗尽令牌,在某个时候,我的 app.py 文件变得太大而无法管理。 一种建议是将代码分解成更小的文件。 早在第 1 部分中,这就是我们前进的方向,但在循环导入和 Uvicorn 方面遇到了一些问题,所以我们在这里......

我想我会暂时搁置这个项目并关注 Github 线程以获取更新。 这给了我们一些希望,即将到来的克劳德更新将减轻痛苦:Github 评论

下一步:光标? 上次我尝试时,我不太喜欢用户体验,但很多人似乎已经做出了转变。 对于使用 UI 来提高生产力的开发人员来说,Cursor 似乎是新生事物。 因为我们现在需要的是另一个IDE。

我们绕了一圈又一圈......

那么,一些结论?

Claude 准备好替换软件工程师了吗? 嗯,还没有,但它可以提高现有工程师的工作效率。 API 限制仅限于小项目、重构、错误修复和用作虚拟结对程序员。

我了解到 Claude 可以读取复杂的代码库并修复其中的错误。 根据我的经验,它遇到了一些错误,它无法在一个相当简单的项目中修复它自己创建的代码,因此并没有给我带来温暖和模糊。 对于由数十人编写的具有复杂文件结构的旧代码库来说,它会表现如何? Claude 没有任何业务背景,如果被要求修复 UI 错误,它在匹配这个简单项目中现有的 UI 和 UX 流程方面做得不好。 它需要多次迭代才能自行清理。

我发现后端代码比前端代码“更容易”,因此我个人会使用它来帮助我构建项目结构和框架 UI。 克劳德的优势之一是“计算机视觉”,它使您能够上传文件并要求克劳德用代码重新创建它。 如果您喜欢网站的用户界面,这应该为您提供一个很好的起点。 也许这就是新的“查看源代码”。 正如他们所说,拥抱并增强。

虽然我最早的提示之一要求 Claude 使用 Bootstrap 制作响应式 UI,但我刚刚第一次检查了移动视图,发现它在任何小于 iPad Mini 分辨率的设备中都无法真正发挥作用,这并不看起来也很棒。 所以不要做任何假设。 克劳德的代码需要与任何其他代码相同数量的测试。

事实上,让它构建一个可以在代码签入之前运行的自动化测试工具是有意义的。没有人喜欢做这项工作。 让 Claude 负责编写、维护和运行测试。 绝对是一条值得探索的途径。

我要求 Claude 在我的最后一个提示中创建一些自动化的东西,但令牌和 API 限制在我们到达之前就结束了这个实验。

关于作者

作者简介

Joe Giglio 是一位在软件行业拥有 25 年以上经验的资深人士。在他的职业生涯中,他曾在一家本地拨号 ISP、各种规模的初创公司以及一家成熟、发展缓慢的企业工作过。每一站都学到了重要的经验教训。

他最近的项目包括:

远程工作培训和咨询:chiefremoteofficer.com

Kindle 书籍《让远程工作,为你工作》

远程公司排名。想想“远程公司的玻璃门”:remotescorecard.com

Joe 的指导原则是:远程优先、质量驱动、客户支持和终身学习。他是一个内向的人,早在它流行之前就练习了社交距离!

他目前居住在北卡罗来纳州,始终对新的机会、结识优秀人才和了解令人兴奋的项目感兴趣。

联系 Joe Giglio:joe -AT- joegiglio.org |推特 |领英

以上是部分使用 Claude、Claude-Dev 和 Aider 构建票务系统的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!