Skip to content

Park-Jiyeonn/Another-Nikki

Repository files navigation

Another-Nikki

What's inside

个人网站。

  • $OnlineJudge$(我出过的题大多都在里面。目前支持 $Cpp$, $Python$, $Java$, $Golang$
  • 博客、一些题解
  • 留言
  • 日志(只对个人开放权限)

How to run

  • 首先,克隆项目到本地:

    git clone [email protected]:Park-Jiyeonn/Another-Nikki.git
    
  • 然后进入项目的目录:

    cd Another-Nikki
    

    因为有前端和后端,所以这时候要再起一个终端。

    分别进入 $Server$$Web$

    cd Another-Nikki-Server
    cd Another-Nikki-Web
    
  • 对于 $Server$

    • 先安装依赖:

      go mod tidy
      
    • 然后启动 $Docker$

      docker-compose up -d
      
    • 如果想使用在线评测机的功能,还要再 $build$ 出一个 $docker$ 镜像(大概 $1.2GB$

      docker build -t oj:1 .
      

      嗯,这时候的镜像已经可以编译和运行代码了,但是还不够完整。因为缺少了 $online$ $judge$ 的工具。

      在项目的 $online$ $judge$ 目录下,正是这个工具的源码。

      启动一个容器,在 $linux-alpine$ 的环境下编译出 $judger$

      docker run --rm --name cpp_compile -v $(pwd)/onlineJudge:/dox oj:1 sh -c "g++ -o judger judger.cpp parse.cpp run.cpp limit.cpp result.cpp -O2 -std=c++11"
      

      最后,让我们的镜像变得完整吧~

      docker build -t oj:1 .
      

      启动评测姬容器:

      docker run -d -i -m 256m --name oj -v $(pwd)/onlineJudge:/dox oj:1
      
    • 后端分为两个微服务:($main$ 的版本作为朴素的毕设,有三个,必须依赖众多第三方中间件 $Canal$、$Kafka$、$Elastic-Search$、$Kibana$),新的 $mq-less$ 分支剔除了运行内存庞大的第三方中间件。 启动 $Interact-Hub$

      cd interact_hub/service
      go run ./cmd
      

      启动 $Judge$ 服务:

      cd judge/service
      go run ./cmd
      
  • 对于 $Web$

    • 先安装依赖:

      yarn
      
    • 然后即可启动:

      yarn dev
      

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published