• Stars
    star
    264
  • Rank 155,103 (Top 4 %)
  • Language
    TypeScript
  • License
    GNU General Publi...
  • Created about 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🚀在线编辑器, 支持在线编写,运行代码,支持C、C++、Go、Nodejs、Rust、Java、Python、C#、PHP多种语言,在线 js-challenge

runcode

微信交流群

在线运行代码编辑器

语言支持度

  • C++ 11

  • C

  • Java

  • Rust lts

  • Nodejs lts

  • Go lts

  • C# lts

  • Python3

  • php

代码格式化支持

  • C++

  • C

  • Java

  • Nodejs

Js-challenges

前端编程题挑战

创建题目

在项目根目录下运行

pnpm qs:create <你的题目名>

# 例如我创建 demo 题目
pnpm qs:create demo

运行完之后会在 question/FrontEnd 目录下生成以下文件

  • demo
    • answer.md
    • answer.mjs
    • index.md
    • index.mjs
    • test.mjs

生成静态文件

在项目根目录下运行

pnpm qs:generate

运行后会在 server 目录下生成 qs.json 文件

然后启动服务端, 服务端 数据来源于 qs.json

开发

前置条件

nodejs >= 14.20.0

包管理工具 pnpm 安装

npm install pnpm -g

server

  • koa + typescript + dockerode
  1. 构建镜像

前置条件, 安装了 docker, docker 需要设置端口 为 2375

未构建的镜像, 在编辑器里 run 代码时会报镜像 404, 所以开发过程中无需全部构建, 构建需要的语言环境即可

  • 构建 C++ 镜像

      cd server/src/docker/cpp
      docker build -t cpp:11 .
  • 构建 rust 镜像

      cd server/src/docker/rust
      docker build -t rust:lts .
  • 构建 python3 镜像

      cd server/src/docker/python3
      docker build -t python:3 .
  • 构建 go 镜像

      cd server/src/docker/go
      docker build -t go:lts .
  • 构建 nodejs 镜像

      cd server/src/docker/nodejs
      docker build -t nodejs:lts .
  • 构建 java 镜像

      cd server/src/docker/java
      docker build -t java:lts .
  • 构建 C# 镜像

      cd server/src/docker/dotnet
      docker build -t mono:lts .
  • 构建 php 镜像

      cd server/src/docker/php
      docker build -t php:8 .
  1. 安装依赖

    cd server
    pnpm i
  2. 启动

    pnpm dev

client

  • vite + react + typescript

  • UI

    daisyui 风格简约, 项目侵入性小, 样式复写方便

    tailwindcss, 原子化 css, 在个人项目里使用优势很大, 节省时间、代码

    且都支持按需引入, 体积更小

  • 状态管理

    mobx、mobx-react-lite、mobx-persist-store

  • 编辑器使用 monaco-editor

    高亮、输入提示、部分语言代码格式化、多主题

    引入 clang-format wasm 模块实现 C/C++/Java 语言的代码格式化

  1. 安装依赖

    cd client
    pnpm i
  2. 编译 tailwindcss

    # 启动后另开终端启动服务
    pnpm build:tailwind:watch
  3. 启动服务

    # 起开发环境,需要起 server
    pnpm dev
    # 起生产环境
    pnpm prod

部署

server

  1. 服务端环境
  • nodejs
  • pm2
  • docker
  • pnpm
  1. 编译

进入 server 目录

cd server
pnpm i
pnpm build
  1. 启动服务
pnpm deploy

client

进入 client 目录

  1. 安装依赖
pnpm i
  1. 构建
pnpm build
  1. 使用 nginx 代理静态资源, 构建好的静态资源在 dist 目录下

主要是 html 文件, 其他静态资源部署到我的 cdn 上了

commit 规范

  • feat:新功能(feature)
  • fix:修补 bug
  • docs:文档(documentation),只改动了文档部分
  • style: 格式(不影响代码运行的变动),例如去掉空格、改变缩进
  • refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)
  • test:添加测试或者修改现有测试
  • chore:构建过程或辅助工具的变动
  • perf:提高性能的改动
  • ci:自动化流程配置修改、与 CI(持续集成服务)有关的改动
  • revert:回滚到上一个版本,执行 git revert 打印的 message

More Repositories

1

books

IT 电子书, 计算机基础(编译原理, 数据结构与算法, 操作系统), 计算机网络, 编程语言, 前端, 网络安全, 软件测试, 算法, 数据库, 经济学, 数学, 多种文件格式(pdf、mobi、epubi、azw3), 多种下载方式(百度网盘, 阿里网盘, 直链)
TypeScript
1,331
star
2

web-scouter

网站信息检查工具🔧
JavaScript
17
star
3

lc-helper

leetcode 辅助,自动化完成每日任务领取积分
TypeScript
14
star
4

book_borrow

云开发图书借阅小程序,毕设项目
JavaScript
14
star
5

awesome-study

Awesome 、资源、工具、技术自媒体、博客、学习指南、面试指北等收集库
CSS
14
star
6

emoj-mini

小夏的表情包:基于Taro3、Typescript开发的 一款 表情包 微信小程序
TypeScript
10
star
7

statistic

小型站点访问统计、渠道统计
TypeScript
7
star
8

skeleton-generator

骨架屏一键生成
TypeScript
5
star
9

blog

xjq 博客(前端、后端等)
JavaScript
5
star
10

changelog

灵活的版本变更日志生成工具(Changelog generator)
TypeScript
4
star
11

tool

图床🔧,前端代码
TypeScript
3
star
12

emojApp

TypeScript
3
star
13

interview-record

面经合集
3
star
14

aliyun-oss-static-deploy

阿里云oss本地文件上传组件,适用于静态资源部署阿里云的项目
JavaScript
3
star
15

algorithm

算法实现
TypeScript
2
star
16

changelog-commit-example

基于 普通 commit 解析的 Changelog 生成示例
JavaScript
2
star
17

implement

JavaScript
2
star
18

emoj-admin

TypeScript
2
star
19

dependency-graph

依赖关系图
1
star
20

redux-saga-share

JavaScript
1
star
21

webgl

webgl example
1
star
22

compilation-principle

编译原理分享示例代码
C
1
star
23

changelog-pr-example

基于 PR 解析的 Changelog 生成示例
JavaScript
1
star
24

template

template repo
1
star
25

utils

TypeScript
1
star
26

openapi

TypeScript
1
star
27

regexs

JavaScript
1
star
28

whoami

1
star
29

admin

1
star
30

code-style

HTML
1
star
31

xjq7

Config files for my GitHub profile.
1
star
32

cli

脚手架工具
TypeScript
1
star