O codecanvas é uma plataforma on -line para praticar a programação em um ambiente colaborativo. Alguns tutores podem criar atribuições para você concluir e concluir. Como aluno registrado, você pode concluir essas tarefas e obter o seu resultado classificado. O aplicativo incorporou a execução de código, o que facilita para os tutores e os alunos validar o código entregue para as tarefas. Além disso, as tarefas baseadas em perguntas também são suportadas. Isso facilita para os tutores não apenas criar tarefas de codificação, mas também tarefas nas quais os alunos precisam responder a perguntas predefinidas.
Não recomendamos hospedar o aplicativo, além de fazê -lo. Se você deseja começar a usar este aplicativo para o seu pequeno grupo, caiu livre para criar uma conta em nosso serviço.
sample-compose.yml e preencha os valores ausentes.| Nome | Beschreibung |
|---|---|
| Usernator Postgres | Crie um usuário do PostGres para o Serviço de Usernator e atribua um banco de dados ao usuário. |
| Executor PostGres | Crie um usuário do PostGres para o executor e atribua um banco de dados ao usuário. |
| Executor MongoDB | Basta criar um usuário do MongoDB para o executor junto com um banco de dados. Concessão apenas leia permissões ao usuário do executor. |
| Postres tarefas tarefas | Crie um usuário do PostGres para o serviço Tasky e atribua um banco de dados ao usuário. |
| MONGODB TEMPADO | Crie um usuário do MongoDB para tarefas e conceda ao usuário ler/gravar acesso ao banco de dados compartilhado com o serviço Executor. |
API_URI e EXECUTOR_UI_URL .Este projeto é completamente orientado para a comunidade. Portanto, todos podem contribuir para este projeto e ajudar a melhorar o projeto. Se você quiser dar alguma compensação monetária pelo trabalho que estamos fazendo, fique à vontade para fazê -lo. Atualmente, não há opção para fazer isso. Talvez também verifique contribuindo.md
Este projeto está agora em sua fase final, com todos os recursos necessários totalmente implementados. Neste ponto, não há roteiro concreto para desenvolvimento adicional, e o processo de desenvolvimento ativo para este aplicativo foi concluído.
Continuaremos a abordar solicitações de recursos e relatórios de bugs, caso a caso, implementando novos recursos ou correções apenas se eles se alinharem à nossa visão e parecer válidos. No entanto, não apresentaremos recursos adicionais de forma independente.
Nosso objetivo principal é manter a simplicidade e a facilidade de uso do aplicativo. Adicionar muitos recursos pode comprometer essa simplicidade.
Incentivamos você a compartilhar qualquer solicitação de recurso ou relatórios de bugs, mas entenda que novos recursos só serão adicionados se impulsionados por necessidades externas claras.
Observe que o aplicativo evoluiu com o tempo e nenhum esquema de banco de dados foi planejado inicialmente. Além disso, no momento do desenvolvimento, eu era relativamente novo no uso de diesel.rs como biblioteca para interações de banco de dados. Isso resultou em busca de dados abaixo do ideal. Embora alguns problemas no esquema já tenham sido abordados e aprimorados, o processo atual de busca de dados permanece ineficiente.
Embora o armazenamento de grandes quantidades de dados não seja mais um problema, a recuperação de dados ainda pode levar mais tempo do que o desejado. No entanto, graças à paginação, os tempos de resposta são estaticamente limitados e permanecem consistentes, independentemente do tamanho do conjunto de dados. A desvantagem é que o aplicativo executa mais consultas SQL do que o necessário. Essa ineficiência é uma questão conhecida, mas não é uma prioridade no momento, pois ainda não representa um problema significativo.
Planejamos revisitar esse aspecto quando a plataforma ganha mais usuários e a redução da carga do servidor se torna crucial para minimizar os custos operacionais. No futuro, essa ineficiência poderia ser potencialmente mitigada através da implementação de estratégias eficazes de cache.
Esse código pode não atender às expectativas dos mais experientes com a ferrugem. Quando comecei a trabalhar neste projeto, meu entendimento da ferrugem ainda estava se desenvolvendo. Ao longo do projeto, aprendi bastante, mas, como resultado, o código pode não aderir totalmente às práticas recomendadas. Eu gentilmente peço sua compreensão ao revisá -lo. Mesmo agora, ao revisar este projeto, posso ver várias áreas em que abordaria as coisas de maneira diferente.
Pode haver algumas melhorias no futuro, mas mesmo depois delas, haverá alguns pedaços enormes de código ruim da perspectiva de um desenvolvedor de ferrugem experiente.