Codecanvas adalah platform online untuk mempraktikkan pemrograman dalam lingkungan kolaboratif. Beberapa tutor dapat membuat tugas untuk Anda dan selesaikan. Sebagai siswa yang terdaftar, Anda dapat menyelesaikan tugas -tugas ini dan mendapatkan hasilnya. Aplikasi telah membangun eksekusi kode yang memudahkan tutor dan siswa untuk memvalidasi kode yang diserahkan untuk penugasan. Selain itu, penugasan berbasis pertanyaan juga didukung. Ini memudahkan tutor untuk tidak hanya membuat tugas pengkodean, tetapi juga tugas di mana siswa harus menjawab pertanyaan yang telah ditentukan.
Kami tidak merekomendasikan untuk meng -host aplikasi sendiri, meskipun Anda bisa melakukannya. Jika Anda ingin mulai menggunakan aplikasi ini untuk grup kecil Anda, jatuh bebas untuk membuat akun di layanan kami.
sample-compose.yml dan isi nilai yang hilang.| Nama | Beschreibung |
|---|---|
| Postgres Pengguna Pengguna | Buat Pengguna Postgres untuk Layanan Pengguna dan tetapkan database ke pengguna. |
| Executor Postgres | Buat pengguna Postgres untuk pelaksana dan tetapkan database ke pengguna. |
| Pelaksana Mongodb | Cukup buat pengguna MongoDB untuk pelaksana bersama dengan database. Hibah hanya membaca izin kepada pengguna pelaksana. |
| Postres Tugas | Buat Pengguna Postgres untuk Layanan Tasky dan tetapkan database ke pengguna. |
| Tasky Mongodb | Buat Pengguna MongoDB untuk Tasky dan berikan akses Baca/Tulis Pengguna ke Database Bersama dengan Layanan Executor. |
API_URI dan EXECUTOR_UI_URL .Proyek ini sepenuhnya didorong oleh komunitas. Oleh karena itu, setiap orang dapat berkontribusi pada proyek ini dan membantu meningkatkan proyek. Jika Anda ingin memberikan beberapa kompensasi moneter untuk pekerjaan yang kami lakukan, jangan ragu untuk melakukannya. Saat ini tidak ada opsi untuk melakukan itu. Mungkin juga memeriksa kontribusi.md
Proyek ini sekarang dalam fase akhir, dengan semua fitur yang diperlukan diterapkan sepenuhnya. Pada titik ini, tidak ada peta jalan konkret untuk pengembangan lebih lanjut, dan proses pengembangan aktif untuk aplikasi ini telah disimpulkan.
Kami akan terus membahas permintaan fitur dan laporan bug berdasarkan kasus per kasus, menerapkan fitur atau perbaikan baru hanya jika mereka selaras dengan visi kami dan tampak valid. Namun, kami tidak akan memperkenalkan fitur tambahan secara mandiri.
Tujuan utama kami adalah mempertahankan kesederhanaan aplikasi dan kemudahan penggunaan. Menambahkan terlalu banyak fitur dapat mengkompromikan kesederhanaan ini.
Kami mendorong Anda untuk membagikan permintaan fitur atau laporan bug apa pun, tetapi harap dipahami bahwa fitur baru hanya akan ditambahkan jika didorong oleh kebutuhan eksternal yang jelas.
Harap dicatat bahwa aplikasi telah berkembang dari waktu ke waktu, dan tidak ada skema database yang awalnya direncanakan. Selain itu, pada saat pengembangan, saya relatif baru menggunakan diesel.rs sebagai perpustakaan untuk interaksi basis data. Ini telah menghasilkan pengambilan data suboptimal. Sementara beberapa masalah dalam skema telah ditangani dan ditingkatkan, proses pengambilan data saat ini tetap tidak efisien.
Meskipun menyimpan sejumlah besar data tidak lagi menjadi masalah, pengambilan data masih dapat memakan waktu lebih lama dari yang diinginkan. Namun, berkat pagination, waktu respons secara statis terbatas dan tetap konsisten, terlepas dari ukuran dataset. Kelemahannya adalah aplikasi mengeksekusi lebih banyak kueri SQL daripada yang diperlukan. Ketidakefisienan ini adalah masalah yang diketahui, tetapi ini bukan prioritas saat ini, karena belum menimbulkan masalah yang signifikan.
Kami berencana untuk meninjau kembali aspek ini ketika platform mendapatkan lebih banyak pengguna dan mengurangi beban server menjadi penting untuk meminimalkan biaya operasional. Di masa depan, inefisiensi ini berpotensi dikurangi melalui implementasi strategi caching yang efektif.
Kode ini mungkin tidak memenuhi harapan mereka yang lebih berpengalaman dengan karat. Ketika saya pertama kali mulai mengerjakan proyek ini, pemahaman saya tentang Rust masih berkembang. Selama proyek, saya telah belajar banyak, tetapi sebagai hasilnya, kode mungkin tidak sepenuhnya mematuhi praktik terbaik. Saya dengan ramah meminta pemahaman Anda saat meninjaunya. Bahkan sekarang, ketika saya meninjau kembali proyek ini, saya dapat melihat beberapa bidang di mana saya akan mendekati berbagai hal secara berbeda.
Mungkin ada beberapa perbaikan di masa depan, tetapi bahkan setelah mereka, akan ada beberapa potongan besar kode buruk dari perspektif pengembang karat yang berpengalaman.