顧得泉:個人主頁
個人專欄:《Linux操作系統(tǒng)》?《C++從入門到精通》??《LeedCode刷題》
鍵盤敲爛,年薪百萬!
前言
???????學習準備了快一年時間,心心念念的實戰(zhàn)演練終于可以開始了,話不多說,直接進入主題?。?!
一、項目簡介
? ? ? ?該項目是基于負載均衡的在線OJ平臺,用戶可以在瀏覽器訪問各個題目,在編輯區(qū)編寫代碼提交,后端能夠自動分配服務(wù)器資源,保持平衡的情況下為用戶提供良好的編程運行環(huán)境,讓代碼快速運行和提交。
二、所需技術(shù)及開發(fā)環(huán)境
所需技術(shù):
????????C++ STL 標準庫
? ? ? ? Boost 準標準庫(字符串切割)
? ? ? ? cpp-httplib 第三方開源網(wǎng)絡(luò)庫
? ? ? ? ctemplate 第三方開源前端網(wǎng)頁渲染庫
? ? ? ? jsoncpp 第三方開源序列化、反序列化庫
? ? ? ? 負載均衡設(shè)計
? ? ? ? 多進程、多線程
? ? ? ? MySQL C connect
? ? ? ? Ace前端在線編輯器(簡單使用)
? ? ? ? html/css/js/jquery/ajax (簡單使用)
開發(fā)環(huán)境:
????????Centos 7 云服務(wù)器
????????vscode
????????Mysql Workbench
三、項目結(jié)構(gòu)
我們的項目核心是三個模塊
???????1. comm : 公共模塊
???????2. compile_server : 編譯與運行模塊
???????3. oj_server : 獲取題目列表,查看題目編寫題目界面,負載均衡,其他功能
一、leetcode結(jié)構(gòu)
???????我們只實現(xiàn)類似 leetcode 的題目列表+在線編程功能。
二、項目宏觀結(jié)構(gòu)
三、實現(xiàn)思路
???????1. 先編寫 compile_server
???????2. oj_server
???????3. version1 基于文件版的在線OJ
???????4. 前端的頁面設(shè)計
???????5. version2 基于 MySQL 版的在線OJ
???????目前所建立的結(jié)構(gòu)樹 :
四、預備工作
一、升級gcc
???????用老的編譯器,要么編譯不通過,要么直接運行報錯,大家可以自行百度搜索下載最新版的gcc,我當前的版本已經(jīng)升級。
二、安裝jsoncpp
???sudo yum install -y jsoncpp-devel
三、安裝boost庫
?????sudo yum install -y boost-devel
???????這個庫安裝稍慢,是我們所需要的開發(fā)庫。文章來源:http://www.zghlxwxcb.cn/news/detail-861337.html
結(jié)語:關(guān)于該項目的簡介這里就結(jié)束了,下篇文展將帶大家深入實現(xiàn)項目部分功能,如果大家有什么問題,歡迎大家在評論區(qū)留言~~~?文章來源地址http://www.zghlxwxcb.cn/news/detail-861337.html
到了這里,關(guān)于C++實戰(zhàn)演練---負載均衡在線oj項目預熱的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!