Phòng thực hành CodeLab
CodeLab là gì?
CodeLab là môi trường thực hành lập trình trực tiếp trên trình duyệt, cho phép bạn viết và chạy code Python hoặc JavaScript mà không cần cài đặt bất kỳ phần mềm nào. CodeLab sử dụng Piston API để thực thi code trong môi trường sandbox an toàn.
Truy cập CodeLab
Truy cập CodeLab tại https://app.hamicodeviet.com/codelab. Bạn cần đăng nhập để sử dụng.
Ngôn ngữ hỗ trợ
| Ngôn ngữ | Phiên bản | Mô tả |
|---|---|---|
| Python | 3.x | Ngôn ngữ chính cho người mới bắt đầu |
| JavaScript | Node.js | Ngôn ngữ web phổ biến |
Viết và chạy code
- Chọn ngôn ngữ (Python hoặc JavaScript)
- Viết code vào trình soạn thảo
- Nhấn nút Chạy để thực thi
- Kết quả sẽ hiển thị ở bảng bên dưới
- Nhập dữ liệu đầu vào (stdin) nếu cần
Ví dụ Python
# In lời chào
print("Xin chào, HaMi Code Việt!")
# Tính tổng từ 1 đến 10
tong = sum(range(1, 11))
print("Tổng từ 1 đến 10 là: " + str(tong))
# Vòng lặp for
for i in range(5):
print("Lần lặp thứ " + str(i + 1))Ví dụ JavaScript
// In lời chào
console.log("Xin chào, HaMi Code Việt!");
// Tính tổng từ 1 đến 10
let tong = 0;
for (let n = 1; n <= 10; n++) tong += n;
console.log("Tổng từ 1 đến 10 là: " + tong);
// Vòng lặp for
for (let i = 0; i < 5; i++) {
console.log("Lần lặp thứ " + (i + 1));
}Bài tập thực hành
Mỗi bài tập trong CodeLab bao gồm:
- Mô tả bài toán — Yêu cầu cần giải quyết
- Dữ liệu đầu vào — Input mẫu
- Kết quả mong đợi — Output mẫu
- Test cases — Các trường hợp kiểm tra
- Giới hạn thời gian — Thời gian chạy tối đa (10 giây)
Cách Piston hoạt động
CodeLab sử dụng Piston — một dịch vụ thực thi code mã nguồn mở. Khi bạn nhấn Chạy:
- Code được gửi đến Piston API
- Piston chạy code trong container sandbox an toàn
- Kết quả (stdout, stderr) được trả về
- Hệ thống so sánh với kết quả mong đợi
- Hiển thị kết quả pass/fail cho từng test case
Mỗi lần chạy có giới hạn 10 giây. Code chạy quá lâu sẽ bị dừng. Không thể truy cập hệ thống tệp hoặc mạng từ code.
Bảo mật
Code của bạn được chạy trong môi trường sandbox cách ly hoàn toàn. Piston đảm bảo:
- Không truy cập được hệ thống tệp của máy chủ
- Không kết nối mạng ra ngoài
- Giới hạn CPU và bộ nhớ
- Giới hạn thời gian thực thi
Trong tương lai, HaMi Code Việt sẽ triển khai máy chủ Piston riêng để tăng cường quyền riêng tư và độ tin cậy cho việc chấm điểm.
Lịch sử bài nộp
Tất cả bài nộp của bạn được lưu trữ và có thể xem lại. Truy cập trang CodeLab và chọn tab Lịch sử để xem các bài nộp trước đó.