CodeCanvas是在协作环境中练习编程的在线平台。一些导师可以为您创建作业并完成。作为注册学生,您可以完成这些任务并将结果分级。该应用程序内置了代码执行,这使教师和学生可以轻松验证交配的代码。此外,也支持基于问题的任务。这使老师不仅可以简单地创建编码作业,还可以在学生必须回答预定义问题的情况下进行任务。
我们不建议自己托管该应用程序,您可以做到。如果您想开始为您的小组使用此应用程序,请自由地在我们的服务上创建一个帐户。
sample-compose.yml文件并填写缺失值。| 姓名 | Beschreibung |
|---|---|
| 用户器邮政 | 为用户服务创建Postgres用户,并将数据库分配给用户。 |
| 执行人Postgres | 为执行人创建Postgres用户,并将数据库分配给用户。 |
| 执行人MongoDB | 只需与数据库一起为执行人创建一个mongoDB用户即可。授予授予执行人用户的读取权限。 |
| 任务postres | 为Tasky服务创建Postgres用户,并将数据库分配给用户。 |
| 任务MongoDB | 为Tasky创建MongoDB用户,并使用Executor Service授予对共享数据库的读/写入访问。 |
API_URI和EXECUTOR_UI_URL初始化Web容器。该项目完全受社区驱动。因此,每个人都可以为该项目做出贡献,并有助于改善项目。如果您想为我们正在做的工作提供一些货币补偿,请随时这样做。目前没有任何选择。也许还要检查贡献.md
该项目现在处于最后阶段,所有必需的功能都已完全实现。在这一点上,没有用于进一步开发的具体路线图,并且该应用程序的主动开发过程已经得出结论。
我们将继续逐案处理功能请求和错误报告,仅当它们与我们的愿景保持一致并看起来有效时,才实现新功能或修复。但是,我们不会独立介绍其他功能。
我们的主要目标是保持应用程序的简单性和易用性。添加太多功能可能会损害这种简单性。
我们鼓励您共享任何功能请求或错误报告,但请了解,只有在明确的外部需求驱动时,才会添加新功能。
请注意,该应用程序随着时间的推移而发展,并且最初没有计划数据库模式。此外,在开发时,我对使用Diesel.rs作为数据库交互的库相对较新。这导致了次优的数据获取。虽然架构中的某些问题已经解决和改进,但当前的数据获取过程仍然降低。
尽管存储大量数据不再是一个问题,但数据检索仍然可能需要比所需的更长的时间。但是,由于分页,响应时间在静态上有限,并且保持一致,无论数据集大小如何。缺点是该应用程序执行的SQL查询比必要的更多。这种效率低下是一个已知的问题,但目前还不是优先事项,因为它尚未构成重大问题。
当平台获得更多用户并减少服务器负载对于最小化运营成本至关重要时,我们计划重新审视这一方面。将来,通过实施有效的缓存策略,可能会减轻这种低效率。
该代码可能无法满足那些经验丰富的生锈者的期望。当我刚开始从事这个项目时,我对Rust的理解仍在发展。在整个项目过程中,我学到了很多东西,但是结果,该代码可能无法完全遵守最佳实践。在审查它时,我请您的理解。即使是现在,当我重新访问这个项目时,我也可以看到几个领域,我会以不同的方式处理事情。
将来可能会有所改善,但是即使在他们之后,从经验丰富的Rust开发人员的角度来看,也会有一些巨大的不良代码。