本文介绍了一个基于C++的在线判题系统(Online Judge)开发项目。系统分为编译服务(compile_server)和OJ服务(oj_server)两部分,采用MVC架构设计。编译服务负责代码编译运行,采用负载均衡策略;OJ服务提供题目展示和判题功能。技术栈包括C++ STL、Boost、cpp-httplib、ctemplate、jsoncpp等库。系统实现了题目管理、代码提交、编译运行、结果返回等核心功能,支持多主机负载均衡和异常处理。开发环境为Ubuntu 22.04,使用VSCode进行开发
2025-05-31 20:43:45
1414
本文主要介绍cookie和session
2025-05-05 17:06:39
367
深刻理解三次握手、四次挥手
2025-05-04 20:05:18
559
HTTP下层是TCP协议,站在TCP的角度看,要提供的服务是HTTP服务。这是在原来实现网络版计算器时,实现的TCPServer.hpp,在TCP上层是HttpServer时,为了方便代码阅读,修改上层服务的命名为http_server。对于HTTP服务,接收一次请求字符串,做出一次响应。在TCP处理服务时,每个线程要做的内容。为什么要这样处理,不同于网络版计算器。
2025-04-23 17:52:40
438
本文主要介绍同步机制 两种生产者消费者模型
2025-02-28 18:25:05
1051
本文着重介绍互斥的使用和原理。
2025-02-23 14:40:52
408
本文介绍了线程的理解和线程控制基本概念
2025-02-16 17:16:41
723
本文简单说明了信号板块的知识点,具体内容并未涉及,复习时请阅览其他博文。
2025-01-22 21:49:51
1136
将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。
2025-01-17 18:21:11
858
本文详细重点介绍文件的open系统调用和文件描述符与重定向
2025-01-17 18:19:09
1442
3
本文着重介绍了SystemV通信方式,由于这种通信方式脱离文件描述符,随着技术的发展,SystemV通信方式成为了历史。
2025-01-17 18:17:17
1364
6
本文介绍了进程通信的概念,以及认识了管道通信。
2024-12-14 12:29:10
1035
4
动静态库注意事项。
2024-12-08 15:33:41
4444
3
本文介绍了文件系统中的软硬链接,什么是硬链接,有什么特点,什么是软链接,有什么特定。
2024-12-08 13:37:20
916
1
本文介绍了对表的结构操作的SQL语句。
2024-12-05 20:31:21
606
本文介绍了数据库MySql对库的常见操作
2024-12-03 20:52:39
826
2
本文旨在帮助初学者理解数据库系统的概念
2024-12-03 14:59:16
1289
本文介绍了CentOS7如何安装MySql服务
2024-12-02 19:56:25
671
1
本文主要介绍了文件系统和inode
2024-12-01 15:53:11
927
1
本文介绍了缓冲区的概念
2024-11-24 22:15:49
898
3
简单的模拟命令行shell的功能
2024-11-20 22:29:04
1243
2
本文是进程控制第三篇,进程程序替换
2024-10-10 18:15:03
1286
3
本文是进程控制的第二篇,介绍了父进程的等待
2024-10-06 16:37:53
463
本文是进程控制的第一篇。
2024-10-02 18:15:06
1369
本文介绍了进程地址空间的概念。
2024-09-26 17:40:24
463
本文详细介绍了Linux中地址空间的划分。
2024-09-25 20:45:45
647
本文详细介绍环境变量的概念和使用。
2024-09-22 20:54:39
1241
本文详细介绍了进程优先级的概念和进程切换与调度的操作。
2024-09-21 16:25:34
1299
本文详细介绍了进程状态在Linux操作系统中具体的描述
2024-09-21 12:10:10
1087
本文详细介绍了进程的第二部分知识。
2024-09-18 20:57:53
1408
本文对进程的概念做了详细介绍,对指令操作做了第一步解释。
2024-09-15 11:59:34
943
本文介绍了硬件层面的体系结构和软件层面的操作系统管理。
2024-09-11 18:04:52
887
本文详细介绍了使用git做标签管理。
2024-09-09 09:51:33
778
本文详细介绍了git最主要的功能——分支的使用。
2024-09-08 16:04:15
4364
1
本文详细解释了git的其他基本操作,例如版本回退和撤销修改
2024-09-07 16:36:36
1854
1
本文详细介绍了git的概念和基本操作
2024-09-07 12:27:48
1504
1
本文系统介绍了类型转换的相关知识
2024-09-05 17:22:13
1294
本文介绍了如何设计个别特殊的类
2024-08-28 19:03:14
817
本文详细介绍了C++智能指针的语法
2024-08-24 11:32:51
880
本文详细介绍了C++处理错误的机制,异常。
2024-08-23 11:34:05
871