README.MD

    快速开始

    在项目域名前加 ide 进入:https://idegitcode.net/t1019256391/1024

    项目会自动加载,python镜像会被首先创建,可直接使用。其他语言会在后台异步创建,创建完成后即可使用。

    首次启动视网络情况,加载时间可能比较长,请耐心等待

    项目介绍

    基于docker环境的在线代码编辑运行工具,项目不算特别复杂,前端不太熟悉所以做的也比较简陋。整体代码是10.29~10.30周末两天完成的。

    功能

    1. 支持多种语言在线编辑运行,目前已支持:python golang java nodejs lua

    2. 各语言代码初始化模版来自斐波那契数列递归算法(一般情况可用作语言benchmark),代码未改动时切换语言才会切换模版

    3. 代码执行超时功能(默认10s)

    4. 接口限流(默认5 QPS)

    5. java不用固定类名(正则匹配类名后生成对应的文件名)

    6. 支持标准输入

      leetcode 1题 两数之和为例:

    如何添加想要支持的语言

    非常简单,仅需2步

    1. config目录下创建该语言的Dockerfile文件以及example文件(尽量注意镜像size)
    2. 在common.py中增加该语言的名字、代码文件生成命令、代码运行命令、前端编辑器模式
    language_list = [
        Language("python",
                 "python -u run.py",
                 "cat > run.py << EOF\n",
                 "python"),
        Language("golang",
                 "go run run.go",
                 "cat > run.go << EOF\n",
                 "golang"),
        Language("java",
                 Language.java_run_way, # 支持特殊的代码文件生成方式
                 Language.java_file_way,
                 "java"),
        Language("nodejs",
                 "FORCE_COLOR=0 node run.js",
                 "cat > run.js << EOF\n",
                 "javascript"),
        Language("lua",
                 "lua run.lua",
                 "cat > run.lua << EOF\n",
                 "lua")
    ]

    项目结构

    .
    ├── build.sh             // 启动脚本,安装docker,pip依赖等
    ├── common.py            // 语言相关,各语言的启动方式等
    ├── config
    │   └── python
    │       ├── Dockerfile
    │       └── example.py    // 初始化代码示例
    ├── preview.yml
    ├── requirements
    ├── router.py             // 路由
    ├── server.py             // 代码运行相关
    ├── static
    │   └── styles.css
    └── templates
        └── index.html

    项目简介

    云 IDE 应用挑战赛是由 CSDN 自主策划的轻量级挑战赛事。参赛者可在云 IDE 上自动拉取代码并在线运行、预览、提交代码,赛事所有的事项都可以在云 IDE 内一站式完成。比赛不对作品提交形式作限制,参赛者可以尽情发挥自己的想象力。

    具体参赛要求及赛事安排,详见左侧大赛介绍。

    发行版本

    当前项目没有发行版本

    贡献者 6

    TommyTT @t1019256391
    慢慢走~ @weixin_48029895
    View Design @viewdesign1
    6 635677437d755007c09848d3 @635677437d755007c09848d3
    C cpongo2 @cpongo2

    开发语言

    • Python 51.4 %
    • HTML 31.7 %
    • Shell 5.2 %
    • CSS 3.6 %
    • Java 2.3 %