CodeCanvas es una plataforma en línea para practicar la programación en un entorno colaborativo. Algunos tutores pueden crear tareas para que usted lo haga y complete. Como estudiante registrado, puede completar estas tareas y calificar su resultado. La aplicación ha incorporado la ejecución del código que facilita que los tutores y los estudiantes validen el código entregado para las tareas. Además, las tareas basadas en preguntas también son compatibles. Esto facilita a los tutores no solo crear tareas de codificación, sino también tareas en las que los estudiantes tienen que responder preguntas predefinidas.
No recomendamos alojar la aplicación usted mismo, aunque pueda hacerlo. Si desea comenzar a usar esta aplicación para su grupo pequeño, se liberó de crear una cuenta en nuestro servicio.
sample-compose.yml y complete los valores faltantes.| Nombre | Beshreibung |
|---|---|
| Postgres de usuario | Cree un usuario de Postgres para el servicio de usuario y asigne una base de datos al usuario. |
| Albacea | Cree un usuario de Postgres para el ejecutor y asigne una base de datos al usuario. |
| Ejecutor MongoDB | Simplemente cree un usuario de MongoDB para el ejecutor junto con una base de datos. Otorgar solo permisos de lectura al usuario del ejecutor. |
| Postres de trabajo | Cree un usuario de Postgres para el servicio Tasky y asigne una base de datos al usuario. |
| MongoDB de tareas | Cree un usuario de MongoDB para Tasky y otorgue al usuario acceso de lectura/escritura a la base de datos compartida con el Servicio del Ejecutor. |
API_URI y EXECUTOR_UI_URL .Este proyecto está completamente impulsado por la comunidad. Por lo tanto, todos pueden contribuir a este proyecto y ayudar a mejorar el proyecto. Si desea dar una compensación monetaria por el trabajo que estamos haciendo, no dude en hacerlo. Actualmente no hay opción para hacerlo. Tal vez también verifique que contribuya.md
Este proyecto ahora está en su fase final, con todas las características requeridas completamente implementadas. En este punto, no hay una hoja de ruta concreta para un mayor desarrollo, y el proceso de desarrollo activo para esta aplicación se ha concluido.
Continuaremos abordando solicitudes de funciones e informes de errores caso por caso, implementando nuevas características o correcciones solo si se alinean con nuestra visión y parecen válidas. Sin embargo, no introduciremos características adicionales de forma independiente.
Nuestro objetivo principal es mantener la simplicidad y la facilidad de uso de la aplicación. Agregar demasiadas características podría comprometer esta simplicidad.
Le recomendamos que comparta cualquier solicitud de funciones o informes de errores, pero comprenda que las nuevas características solo se agregarán si se impulsan por necesidades externas claras.
Tenga en cuenta que la aplicación ha evolucionado con el tiempo, y no se planificó inicialmente ningún esquema de base de datos. Además, en el momento del desarrollo, era relativamente nuevo en usar diesel.rs como la biblioteca para las interacciones de la base de datos. Esto ha resultado en la obtención de datos subóptimos. Si bien algunos problemas en el esquema ya se han abordado y mejorado, el proceso actual de recuperación de datos sigue siendo ineficiente.
Aunque almacenar grandes cantidades de datos ya no es un problema, la recuperación de datos aún puede llevar más tiempo de lo deseado. Sin embargo, gracias a la paginación, los tiempos de respuesta son estáticamente limitados y siguen siendo consistentes, independientemente del tamaño del conjunto de datos. La desventaja es que la aplicación ejecuta más consultas SQL de lo necesario. Esta ineficiencia es un problema conocido, pero no es una prioridad en este momento, ya que aún no plantea un problema significativo.
Planeamos revisar este aspecto cuando la plataforma gana más usuarios y reducir la carga del servidor se vuelve crucial para minimizar los costos operativos. En el futuro, esta ineficiencia podría mitigarse mediante la implementación de estrategias de almacenamiento de almacenamiento efectivas.
Es posible que este código no cumpla con las expectativas de aquellos más experimentados con óxido. Cuando comencé a trabajar en este proyecto, mi comprensión de Rust todavía se estaba desarrollando. En el transcurso del proyecto, he aprendido mucho, pero como resultado, el código puede no cumplir completamente con las mejores prácticas. Por favor pido su comprensión al revisarlo. Incluso ahora, al volver a visitar este proyecto, puedo ver varias áreas donde abordaría las cosas de manera diferente.
Puede haber algunas mejoras en el futuro, pero incluso después de ellas, habrá algunas grandes fragmentos de código malo desde la perspectiva de un desarrollador de óxido experimentado.