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開發人員的角度來看,也會有一些巨大的不良代碼。