on 4:11 a.m. 22 mar, 2022 13

Demo giao diện mới

Theo trào lưu đổi giao diện hằng năm, LQDOJ cũng sẽ có giao diện trang chủ mới. Tuy nhiên, vì bản demo còn rất sơ khai nên các bạn hãy thoải mái đề xuất ý tưởng bên dưới để giúp bọn mình cải thiện. Một số điểm mới trong lần demo này:

  1. Các bạn có thể "lướt" bài tập ở trang chủ. Tuy nhiên, hệ thống "recommendation" còn khá sơ khai và còn nhiều chỗ có thể cải thiện :)

  2. Đưa comment về lại trang bài tập, thay vì sang trang mới.

  3. Có thể các bạn không để ý, nhưng web đã có hệ thống inbox riêng tư. Trong trang chat, các bạn có thể click vào tên người dùng bên cột trái / tìm người dùng để tạo phòng mới.

Trong trường hợp bị lỗi giao diện, hãy thử Ctrl+F5 để tải lại. Cảm ơn các bạn đã luôn đồng hành! Hy vọng LQĐ năm nay full giải VOI 😂

on 8:46 p.m. 12 mar, 2022 5

"Dân chủ hóa" việc đánh giá độ khó bài tập

Để khuyến khích phong trào tự học, tự rèn luyện của các bạn, ngay từ ban đầu LQDOJ đã tiến hành xếp hạng người dùng theo tiêu chí mặc định là tổng điểm của các bài tập mà các bạn AC. Điểm của mỗi bài tập sẽ được tính bởi người ra đề (problem setter) hoặc các admin. Chiến lược này ban đầu tỏ ra hiệu quả, nhưng khi danh sách bài tập "phình quá to" so với thời sơ khai của web, các admin không còn đủ thời gian để kiểm định tính hợp lý của điểm từng bài nữa. Nhiều trường hợp, cảm tính chủ quan của problem setter về bài tập chưa thật sự chuẩn xác so với độ khó thực tế của nó, vì vậy họ đã set một mức điểm không hợp lý cho bài. Càng nhiều con điểm bất hợp lý như vậy tích tụ lại thì bảng xếp hạng càng có nguy cơ không phản ánh được thực lực của các coders!

Từ bất cập này, đồng thời cũng xuất phát từ kim chỉ nam của LQDOJ là "lấy người dùng làm trung tâm" và "số đông luôn đúng," chúng mình đang triển khai tính năng cho phép người dùng tham gia đánh giá độ khó cho các bài tập mà họ đã AC. Nếu các bạn quay lại trang đề bài của các bài tập mà mình giải xong thì có thể nhìn thấy mục đánh giá này:

Chúng mình rất trân trọng phản hồi của tất cả các bạn để cải thiện độ chính xác cho điểm số của các bài. Điểm của từng bài tập sẽ được cập nhật nhanh chóng một khi chúng mình hoàn thành việc làm sạch dữ liệu đánh giá. Lời cuối, xin chân thành cảm ơn toàn thể cộng đồng đã đóng góp cho LQDOJ ngày một vững mạnh!

on 9:53 p.m. 16 dec, 2021 36

JUMP CONTEST

Xin chào tất cả các bạn.

Lần này mình(algorit) và bin9638 quyết định tổ chức JUMP CONTEST để giúp các bạn rèn luyện, củng cố và nâng cao kiến thức lập trình thi đấu của bản thân. Giúp các bạn hoàn thiện hơn về mặt thuật toán, tư duy và khả năng đọc đề.

Cuộc thi lần này bắt đầu vào 19:00h - Thứ 7 ngày 18/12/2021. Các bạn sẽ có 150 phút để giải quyết 6 bài tập

  • Bảng A : Dành cho học sinh tiểu học và ngôn ngữ lập trinh duy nhất được cho phép là Scratch.
  • DIV 1 : Dành cho các bạn có Rating từ 1600 trở lên, sẽ dành cho các bạn có tư duy, kĩ năng xử lý để giải quyết các bài tập khó khăn hơn.
  • DIV 2 : Dành cho các bạn có Rating dưới 1600, gồm các bài tập cơ bản, tiếp cạnh các với các thuật toán, yêu cầu xử lí ở mức trung bình.

Hy vọng rằng mọi người sẽ có một trải nghiệm thú vị trong cuộc thi lần này. Mong rằng các bạn không vi phạm những nội quy khi tham gia cuộc thi (đặc biệt là hành vi chép code), chấp hành đúng theo luật để giúp bạn cải thiện kiến thức, nâng cao kỹ thuật tốt hơn.

Cảm ơn thầy Đỗ Văn Nhỏ và đội ngũ Admin cuom1999, ami, CaiWinDao đã cho phép chúng mình tổ chức cuộc thi lần này.

Cảm ơn các bạn đã đọc và quan tâm theo dõi, nếu đề hay bộ test có sai xót gì các bạn có thể gửi báo cáo và mong các bạn thông cảm. Chúng mình sẽ luôn cập nhật tình hình và luôn có mặt trong khi cuộc thi đang diễn ra để hỗ trợ, giải quyết thắc mắc của các bạn và tránh những sai xót đáng tiếc.

Chúc các bạn có một cuộc thi thật tốt, đạt kết quả cao và học hỏi được nhiều kiến thức bổ ích qua cuộc thi lần này.

on 4:49 p.m. 9 dec, 2021 27

[Góc engineering] Câu chuyện về đợt "cúp điện" lâu nhất lịch sử

Thông báo lỗi 502 Bad Gateway đã trở thành một mảnh ghép thân thương của trang web LQDOJ trong lòng người dùng nhờ lịch bảo trì dày đặc và đầy bất ngờ của nhà cung cấp máy chủ ảo. Các bạn có thể bắt gặp lỗi 502 khi đang tham gia contest, khi chat chit, viết blog và thậm chí là khi ... chỉ vừa mới đăng nhập xong. Dù mật độ lỗi xảy ra khá thường xuyên nhưng team dev web cũng luôn xử lý chúng rất nhanh gọn để không làm gián đoạn trải nghiệm của mọi người. Tuy nhiên, may mắn đã không mỉm cười với chúng mình vào sự cố ngày thứ bảy vừa rồi (04/12) nữa. Diễn biến của "tuần cuối năm u ám" này (được chính thức đặt tên để kỷ niệm một bài học nhớ đời) có thể được tóm tắt như sau:

  • Vào tầm 16h ngày thứ bảy, thầy Small thông báo cho toàn thể các admin về việc LQDOJ lại bị lỗi 502 sau khi bảo trì máy chủ và việc restart các service không có tác dụng.
  • 17h cùng ngày, server được reboot và tình hình vẫn không tươi sáng hơn. CaiWinDao thử khởi động development server bằng lệnh kinh điển python manage.py runserver và nhận được thông báo lỗi khô khốc: "Table 'dmoj.django_migrations' doesn't exist in engine". Đọc lướt thấy keyword migrations đã biết ngay lành ít dữ nhiều, CaiWinDao đã xác định rằng web không thể có cơ may sống lại trước khi cuom1999 thức giấc.
  • 20h (ở Mỹ đang là buổi sáng), cuom1999 sau bài thể dục buổi sáng đã gấp rút chạy lệnh sao lưu dữ liệu ... ./backup.sh, tuy nhiên, một thông báo lỗi nghiệt ngã đã chờ sẵn: mysqldump: Got error: 1932: "Table 'dmoj.auth_group' doesn't exist in engine" when using LOCK TABLES. Định mệnh đã rõ: Database đã bị crash, MariaDB chính thức đình công. cuom1999 tạm gác việc debug để lên trường dự thi Putnam.
  • Sau hơn một ngày tra cứu, một giải pháp khả thi xuất hiện là sử dụng mysqlfrm để restore database từ các mảnh .idb.frm. Nghe có vẻ đơn giản nhưng việc thực thi đã gặp rất nhiều rào cản nên người dùng vẫn phải chờ đợi mỏn mỏi :(
  • Vào thứ hai tuần sau, team hạ tầng server bắt đầu tiến hành tạo một bản sao của web từ mã nguồn trên Github và dữ liệu cào được vào ngày 4/12. cuom1999 đã tham gia hỗ trợ hiệu chỉnh các table trong database để bản sao này có thể chạy trơn tru.
  • Trưa ngày hôm nay, thứ năm (09/12), LQDOJ đã chính thức "hồi sinh" dù vẫn còn tồn tại một số lỗi nhỏ trong đồng bộ dữ liệu. Toàn thể ban quản trị đều thở phào nhẹ nhõm!

Chúng mình thấu hiểu sâu sắc rằng LQDOJ đóng một vai trò không nhỏ trong quá trình học tập và tự rèn luyện của các bạn. Chúng mình cũng xin chân thành cáo lỗi về sự cố vừa qua. Kể từ ngày hôm nay, server sẽ chính thức thực hiện việc sao lưu (backup) vào mỗi ngày để việc khắc phục các sự cố (nếu xảy ra trong tương lai) được nhanh nhất có thể. Xin cảm ơn sự đồng hành và ủng hộ của tất cả thầy cô và các bạn học sinh!

on 3:21 p.m. 9 dec, 2021 4

Web đã fix xong

Chào các bạn!

Sau mấy ngày LQDOJ bị lỗi dữ liệu khá nặng. Để đảm bảo dữ liệu không bị mất nhiều nên đội ngũ phát triển LQDOJ đã mất khá nhiều thời gian để khôi phục lại dữ liệu.

Đến hiện tại thì dữ liệu của hệ thống đã khôi phục khá hoàn thiện và LQDOJ đã hoạt động trở lại. Dù vậy phần bài nộp của hai ngày 3/12 và 4/12 không thể khôi phục được. Rất xin lỗi các bạn vì sự cố này. Chúc các bạn luyện tập vui vẻ.

P/S 1: Hệ thống rating đã được cập nhật theo phong trào :))

P/S 2 : Hiện tại nhiều dữ liệu vẫn bị lỗi. Chúng mình vừa mới sửa bảng người dùng, nhưng nhiều khả năng là vẫn còn rất nhiều lỗi. Các bạn có thể đóng góp bên dưới phần bình luận và chúng mình sẽ cố gắng khắc phục.

P/S 3: Một số bài nộp không hiển thị testcases vì dữ liệu không khôi phục được. Để khắc phục điều này, các bạn có thể chọn nộp lại bài.

on 12:02 p.m. 27 nov, 2021 4

Về việc tạo contest cho HS luyện tập

Chào quý thầy cô,
Hiện tại một số thầy cô sử dụng tài khoản được thiết lập có chức năng tạo bài tập, tạo contest để cho riêng HS mình luyện tập nhờ thầy cô lưu tâm đến một vài ý nhỏ sau:

  • Khi tạo bài tập thì xem bài tập đó có tồn tại trên web chưa?

    • Nếu có rồi thì chọn bài tập đó vào contest cho HS luyện tập luôn chứ không tạo thêm bài tập gây lãng phí tài nguyên server
    • Nếu chưa có thì tạo bài tập theo đúng khuôn mẫu chuẩn (nếu thầy cô cần giữ bí mật bài tập thì để chế độ private)
  • Khi tạo contest luyện tập cho học sinh thì

    • Nên tạo một tổ chức (organization - một lớp học) và chỉ tạo contest cho tổ chức này làm bài (chỉ có HS trong tổ chức đó mới thấy contest)
    • Không tạo contest để chế độ public rồi đặt password => nhiều em thấy contest mà không vào được.
    • Thời gian cho một contest không nên kéo quá dài (một số contest kéo dài đến 1 năm)

Thầy cô chưa rõ chức năng nào thì có thể inbox mình hoặc Ban quản trị trang web để được hướng dẫn thêm.

Xin cảm ơn quý thầy cô.

on 5:50 a.m. 20 oct, 2021 7

Cập nhật

Nhận thấy, các kỳ thi gần đây hay bị lag và 502, mình đã tối ưu một vài tính năng, đồng thời viết lại giao diện thêm thông báo trong contest để dễ dùng hơn. Các bạn bấm tổ hợp phím Ctrl+F5 để cập nhật tính năng. Nếu các bạn có ý kiến đóng góp gì, để lại bình luận nên dưới nhé.

on 10:52 a.m. 14 oct, 2021 20

Contest của GS.PVH

Xin chào các bạn, lại là GSPVH đây! Ơ mà mình đã post ở đây đâu nhỉ.

Mùa đông đã tới rồi, hạn chế đi lại để phòng dịch thì hãy còn đâu đó. Vậy thì làm sao để hâm nóng bản thân trong gái lạnh khi mà không có gấu 37 độ ở bên đây? Mình có gợi ý cho bạn đây:

Cuối tuần này, hãy thư giãn cơ thể bằng việc thử sức với PVHOI mùa 2! Đây là series kì thi thử theo format của kì thi học sinh giỏi quốc gia do chính GSPVH tổ chức. Tất nhiên, để đảm bảo đủ lượng hành cho các bạn, mình sẽ tự tay ra đề tất cả các bài tập trong kì thi này. Kì thi diễn ra trong hai ngày, ngày thi thứ nhất diễn ra vào 8:35 sáng thứ 7 (16 tháng 10) và ngày thi thứ hai diễn ra một ngày sau đó. Mỗi ngày thi, bạn sẽ được thử sức với 3 bài tập trong 3 giờ liền. Các bài tập được phân chia theo các cấp độ: Cơ bản khó, tưởng không khó mà khó không tưởng, trông thì như thế nhưng ứ phải thế đâu. Tất nhiên, theo luật thi HSGQG, mỗi bài bạn chỉ được quay số trúng thưởng một lần duy nhất.

Qua kì thi, mình hy vọng sẽ đem đến cho các bạn những bài học quý giá cùng những cảm xúc đan xen: từ đau khố vì ăn phải những cú lừa khó nuốt cho tới sung sướng hả hê khi thấy bạn bè đồng đội cũng chết như ngả rạ giống mình. Quan trọng nhất là có những tiếng cười giải trí zui zẻ trong ngày cuối tuần.

Các bạn hãy tham gia kì thi để ủng hộ mình nhé. Hẹn gặp lại các bạn.

P/s: Dưới đây là một số thắc mắc thường gặp của các bạn về kì thi và giải đáp của mình:

Hỏi: Em từ lâu đã có ước mơ được 40 điểm trong kì thi học sinh giỏi quốc gia. Em biết mình không đủ giỏi để làm điều đó, vậy anh có thể giúp em được 40 điểm trong kì thi này được không ạ?

Đáp: Có chứ, yên tâm nha em. Anh sẽ giúp em được 40 điểm ngay. Anh tin chắc đề

Hỏi: Đề bài lần này có dài không thế ạ :((

Đáp: Yên tâm đi, bạn có đủ thời gian để đọc đi đọc lại đề cả chục lần ấy chứ :) Mà bạn yên tâm đi, năm ngoái mình cho đề 10 trang, chứ năm nay đề mỗi bài đảm bảo chỉ gói gọn trong một trang thôi nha. Mình hứa danh dự đấy, đề mỗi bài một trang thôi.

Hỏi: Năm nay anh có cho một bài lừa như năm ngoái không ạ?

Đáp: Không nhé, anh sẽ không cho một bài lừa đâu.

Hỏi: Mỗi bài em chỉ được nộp một lần duy nhất, vậy em có nên nộp ngay bài 1 sau khi đã làm xong và test thật kĩ, hay để đến cuối giờ mới nộp cả 3 bài vậy ạ?

Đáp: Chắc là bạn có thể nộp ngay sau khi làm xong bài. Nhưng mình khuyên các bạn để đến cuối hãy nộp cả 3 bài nhé. Chứ một khi biết điểm một bài là tương lai bạn đã sụp đổ cuộc đời bạn bế tắc rồi, thì chắc không còn tâm trạng mà làm 2 bài kia đâu.

Hỏi: Contest này có ra*ed không anh?

Đáp: Mình không biết dấu * của các bạn là gì, nhưng nếu là "rated" thì có nhé. Các bạn yên tâm rằng sẽ có hai kế hoạch để thu hẹp rating trong những ngày thi tới. Không được ngày một thì còn ngày hai mà, hihi!

Hỏi: Mùa dịch ở nhà căng thẳng quá anh ạ, anh có cách nào giúp em cảm thấy tự tin thoải mái hơn trong mùa dịch này không ạ?

Đáp: Có chứ, như mình đã nói ở trên, kì thi này có tính rating. Mà trong mùa dịch này, còn gì vui hơn khi biết mình đang từ "vùng đỏ" được chuyển sang "vùng cam", từ "vùng cam" thành "vùng vàng" và từ "vùng vàng" xuống "vùng xanh" phải không nhỉ? Mình sẽ giúp rating của các bạn được như thế.

Hỏi: Anh có đang nói thật không thế ạ?

Đáp: Ừ, câu này anh đang nói thật em ạ.

Hỏi: Cho em một sữa tươi trân châu đường đen của hãng KOI Thé, size L, 30% đá và thêm pudding trứng.

Đáp: Liên hệ admin zipdang04 để biết thêm chi tiết nha em. Anh đó sẽ bao trà sữa miễn phí cho tất cả những bạn tham gia contest hé.

Hỏi: Làm contest xong em mún có ngiu, anh kím cho em zới :<

Đáp: Anh sẽ hướng dẫn em cách để không có ngiu nhé em :>

on 4:46 p.m. 11 oct, 2021 92

Đăng ký tên thật cho tài khoản

Các bạn có thể thấy trong bảng người dùng, cũng như trang cá nhân, một vài bạn được hiển thị tên thật và trường. Vì thế. Vì nhiều lý do, tính năng này hiện tại khá hạn chế và chỉ có quản trị viên (aka boss Small) có quyền xác nhận và thêm tên cho các bạn. Tất nhiên, điều này cũng là thiệt thòi cho các bạn khác. Vì vậy bài đăng này chính là nơi để các bạn có thể đăng ký tên thật và trường của mình.

Các bạn có thể đăng ký như sau: Nhập thông tin vào link sau

DANH SÁCH CÁC BẠN ĐÃ CẬP NHẬT (Chữ đã thay đổi màu là đã cập nhật)

P/S: Các bạn nào đã có tên thật rồi thì đừng bình luận nhé, trừ khi các bạn muốn đổi tên trường. Các bạn có thể tìm thấy đường dẫn tới bài này trên thanh điều hướng, mục Name bên dưới About.

Group FB của trang LQDOJ Các bạn tham gia thảo luận hoặc đọc tin tức ở trên này.

on 8:29 p.m. 25 aug, 2021 19

Anniversary Contest Summary

Chào các bạn, đã 4 ngày trôi qua từ khi kì thi lớn nhất lqdoj kết thúc. ami hi vọng rằng các bạn đã ít nhiều thu nhặt được những kiến thức quý giá. ami xin phép được công bố thể lệ nhận quà.

  • Đầu tiên, là những thành viên dóng góp tích cực cho LQDOJ

  • Tiếp theo, các bạn top 3 ở mỗi div sẽ được nhận áo.

  • Các bạn ngoài top 3 và có ít nhất 5 điểm sẽ được đưa vào vòng loot để có cơ hội nhận áo. Sẽ có 2 áo được chia ngẫu nhiên cho 2 bạn ngoài top 3 ở mỗi div. Và kết quả đã được công bố ở cuối post.

  • Một quà tặng riêng của thầy Small cho các em thân thiết

  • Các bạn được nhận áo vui lòng liên hệ https://www.facebook.com/dovannho (facebook thầy Small).
    Các bạn nhận quà tặng thì nhập giúp thông tin theo link để BTC gửi quà (Hiện tại Đà Nẵng đang lockdown đến 5/9 nên việc làm áo và gửi quà cho các bạn sẽ bị trễ mong các bạn thông cảm nhé)

ami xin chúc mừng Top 5 bạn đạt điểm cao nhất:
## Div 1 ##
| THÍ SINH | ĐIỂM |
|:----------------------:|:----:|
| darkkcyan | 640|
| dangquan6b | 561.86|
| HilG | 533|
| DeMen100ms | 509 |
| YugiHacker | 493|

Div 2 ##

THÍ SINH ĐIỂM
Trigger_xD 700
VQT 700
baohiep 700
lewinlight 700
vodacbaoan 700

Div 3

THÍ SINH ĐIỂM
1605giabao 600
tkdanhk 520
Tienganh123 400
HoangKhanh 400
NguyenTungLam24062010 320

Sau đây là kết quả loot:

Xin chúc mừng các bạn MinhKiet2011, HoangKhanh, tkduclecongminh, GM,Unknown1508, và ti20_ntson là các bạn đã may mắn vượt qua vòng loot.

ami xin được gởi code random để tăng thêm uy tín. Seed được lấy bằng tổng điểm của 3 bạn đứng đầu của 3 div.

Cuối cùng, ?sẽ có những phần áo được tặng cho các cá nhân đã và đang đóng góp cho lqdoj. Xin cảm ơn những đóng góp vô giá của tất cả các bạn,