基于Vibe Coding的OJ平台(一)
基于Vibe Coding的OJ平台一目录基于Vibe Coding的OJ平台一一、项目创建1.1.创建码云仓库1.2.vscode连接远程服务器1.3.需求梳理1.4.调整Spec文档1.5.安装依赖二、阶段零2.1.搭建目录结构2.2.创建数据库初始化脚本2.3.安装cpp-httplib2.4.yaml格式2.5.开发配置管理2.6.初始化CMake工程2.7.安装单元测试框架2.8.配置管理单元测试2.9.配置gitgnore2.10.compile_command.json2.11.封装日志2.12.日志单元测试2.13.封装数据库连接池2.14.数据库连接池单元测试2.15.参数化查询封装2.16.各表DAO一、项目创建1.1.创建码云仓库GIT版本管理每次AI进行迭代更改都提交一个GIT版本1.2.vscode连接远程服务器按下F1选择添加新的SSH主机输入ssh 用户名主机IP在当前窗口中连接输入密码打开工程所在文件夹再次输入密码1.3.需求梳理你现在是资深产品架构师技术负责⼈ 我的初始需求是: 我想搭建⼀个仿leetcode的OJ项⽬ 后端采⽤C(cpp-httplib), 前端采⽤原⽣HTMLCSSJS 规则必须严格遵守 1. 不要直接写代码或⽣成⽅案; 2. 先使⽤ AskUserQuestion ⼯具或直接输出问题列表对我进⾏深度访谈, 像Socratic提问法⼀样挖掘细节; 3. 必须覆盖以下维度每个维度⾄少问 1-2 个具体问题 业务目标和成功标准、技术栈/架构选型及理由、非功能需求性能、可扩展性、安全、成本等 边缘案例、异常处理、用户流程、UI/UX或API边界、潜在⻛险、权衡取舍 4. 每轮只问 3-5 个最关键的问题等待我回答后继续追问直到需求完整 5. 当我确认“规格已完整”时再输出完整的 SPEC.md包含需求、架构图、TODO 清单、验收标准1.4.调整Spec文档每一轮与AI沟通之前都要提交一个GIT版本1.5.安装依赖升级root用户安装依赖文档提交GIT二、阶段零2.1.搭建目录结构2.2.创建数据库初始化脚本登录MySQL执行SQL文件将表创建完成将访问方式写入SPEC文档2.3.安装cpp-httplib2.4.yaml格式常见的配置文件格式特点通过缩进的方式组织成树形结构其他常见的配置文件XMLJSONconfig: server: port: 8080 host: 127.0.0.1 database: port: 3306 host: 127.0.0.1 username: csy password: ******2.5.开发配置管理2.6.初始化CMake工程CMake工作原理执行CMake命令生成makefile通过make命令进行编译2.7.安装单元测试框架单元测试框架Google Testgtest每次开发出一个功能先验证这个功能是否正确2.8.配置管理单元测试回到开发配置管理会话进行配置管理功能的单元测试在gtest中非常典型的写法定义一个测试用例EXPECT_EQ在gtest中称为断言判断断言内两个值是否相等如果有一个断言失败则整个用例都失败2.9.配置gitgnore剔除CMake生成的临时文件.gitgnore哪些内容是要被GIT仓库忽略掉的2.10.compile_command.json给CMake内置compile_command.json避免Clangd无法找到头文件2.11.封装日志打印日志是开发中最主要的调试手段而打断点观察变量的频率非常低因为断点会把程序断住修改程序的执行逻辑在多线程程序中非常明显2.12.日志单元测试在build中找到测试程序2.13.封装数据库连接池2.14.数据库连接池单元测试2.15.参数化查询封装2.16.各表DAO

相关新闻

RK3588交叉编译实战:从x86到ARM的完整部署指南

RK3588交叉编译实战:从x86到ARM的完整部署指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 2:45:44 阅读更多 →
白狐披风放进 ABAP 系统,会是一套怎样的持续恢复机制

白狐披风放进 ABAP 系统,会是一套怎样的持续恢复机制

一张海外子公司的销售订单卡在接口重试队列里。订单本身已经进入系统,后续状态回写却因为对端短暂不可用而失败。值班人员可以等接口恢复后手工重发,也可以让系统定期检查失败记录,在条件满足时自行补偿。后一种做法,很容易让人想到《天之痕》里的白狐披风。 游戏资料记载…

2026/10/9 2:45:44 阅读更多 →
麒麟系统WPS更新后PDF合并/拆分消失?排查与解决全攻略

麒麟系统WPS更新后PDF合并/拆分消失?排查与解决全攻略

最近在麒麟系统上办公的朋友应该都碰上过这么一档子事:电脑装的是银河麒麟桌面版,WPS一直用得好好的,某天应用商店弹了个更新提醒,手一快点了升级,等再打开PDF文件的时候,发现原来放在右侧工具栏里的“合并…

2026/10/9 2:45:44 阅读更多 →

最新新闻

PCA9422+STM32F070RB构建高可靠嵌入式电源管理系统

PCA9422+STM32F070RB构建高可靠嵌入式电源管理系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:01:24 阅读更多 →
杭州工业段码屏定制工厂怎么挑?格钠电子生产厂家行业现状与选择指南

杭州工业段码屏定制工厂怎么挑?格钠电子生产厂家行业现状与选择指南

杭州工业段码屏定制工厂怎么挑?这是不少工控仪表、充电桩、电梯、小家电设备企业采购负责人反复琢磨的问题。今天围绕这个话题,介绍一家深耕细分领域十余年的本土厂商——杭州格钠电子有限公司(简称格钠电子),并给出一套实用的选择参考。一句话定位&…

2026/10/10 5:01:24 阅读更多 →
多 Reactor 线程池负载均衡倾斜治理:连接调度器防热点设计

多 Reactor 线程池负载均衡倾斜治理:连接调度器防热点设计

在构建支撑单机数百万长连接的高性能 API 网关、自研 RPC 框架或实时推送系统时,主从多 Reactor 模型(Main-Sub Multi-Reactor) 已经成为事实上的工业标准设计模式。主 Reactor 线程专职负责通过 accept() 快速握手接入新连接,随后…

2026/10/10 5:01:24 阅读更多 →
OpenCV+SVM车牌识别:轻量可控的毕设实现方案

OpenCV+SVM车牌识别:轻量可控的毕设实现方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:01:24 阅读更多 →
SQLite+全文检索:搭建中华古诗词数据库的完整实践

SQLite+全文检索:搭建中华古诗词数据库的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:01:24 阅读更多 →
RISC-V MCU与PMIC协同:嵌入式电源管理方案设计与实现

RISC-V MCU与PMIC协同:嵌入式电源管理方案设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:00:24 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →