Cómo diseñar una página como concursos de codificación en línea y conectarla al compilador en el backend

Necesitaría diseñar un diseño de front-end sólido para mantener la codificación diferente y la validación primaria. Esta parte no me será muy difícil para los casos más simples. Para hacer algo como HackerRank, TopCoder necesitas algunas herramientas y trucos avanzados.

He encontrado una imagen general de la arquitectura del sistema:

La arquitectura interna se representa en la imagen a continuación:

El back-end se puede conectar al front-end de muchas maneras, como:

El back-end puede ser solo un servidor API, el front-end los consume con un sistema de autenticación adecuado como: JWT, OAuth

El compilador se puede usar en paralelo de varias maneras en las que puedo pensar:

Los problemas enviados pueden ser empujados a diferentes colas de espera por sus lenguajes de programación. Luego, se pueden compilar, validar. Luego, el resultado / respuesta se puede enviar a través de http / socket.

Si es posible la ejecución paralela en el servidor, puede implementar eso para un mejor rendimiento.

Hay muchas maneras posibles de hacer la misma tarea.

Para una implementación real que puede darle algunas ideas está aquí: DMOJ / juez

Diviértete 🙂

¿Eres un aspirante ai (inteligencia sintética) que está estresado sobre qué lenguaje de programación seleccionar para tu próxima misión? En ese caso, has venido a la vecindad correcta, ya que aquí vamos a ver los cuatro lenguajes de programación satisfactorios para el desarrollo de ai.

Lee mas

otro

Los 5 mejores lenguajes de programación para el desarrollo de IA (Inteligencia Artificial)