Nguyên nhân DorewSite ra đời

By Dai, 834 View
#TOP
Bài viết này để trả lời cho câu hỏi tạo DorewSite ra làm qq gì 1




Wap4.co
- Chắc đã số ae là từ Wap4.co biết sang Dorew nên @Dai sẽ không giới thiệu chi tiết Wap4 là gì 1
- Wap4 cho phép xây dựng website với TWIG
- Wap4 tương tác với database là Custom Data với các tham số {id, name, data, time}
- data trong Custom DataNoSQL

TWIG PHP
- Tác giả: Tuankill sử dụng twig symfony
- Tạo ra để selfhost, chạy code Wap4 trên hosting
- Sử dụng PHP và MySQL
- Dữ liệu ở trong 1 table duy nhất là custom_data gồm các cột {id, name, data, time}
- Cấu trúc database là SQL

TWIG PHP Mod (tạm gọi)
- Thêm tính năng cho phiên bản ở TWIG PHP
- Tham gia mod có @Asuna @ʟɪɴʜ ᴆᴀ̃ ᴄᴀ̆ɴɢ
- Thêm quản lý tương tác với database (cái này Dai không tham gia nên không rõ lắm :v)

Nguyên nhân DorewSite ra đời
@Dai@Asuna backup data và code của Dorew.gq để sử dụng code TWIG PHP ở trên. Nhưng một số vấn về với code wap4 và TWIG
PHP nên @Asuna đã tạo ra TWIG PHP Mod để có thể chạy code Dorew/Jekyll VF.
Cứ tưởng là ngon rồi nhưng vấn đề mới xuất hiện.
Tốc độ load web sử dụng TWIG PHP quá chậm
Sau khi suy nghĩ thì @Dai đã tìm ra lý do: database (.sql) của Dorew nặng 2MB (hơn 8000 entry wap4). Mà cấu trúc của code TWIG PHP khi tương tác với database sẽ duyệt qua toàn bộ database.

Vd1: muốn lấy tất cả chat của thành viên là dai đã đăng thì dữ liệu của TWIG PHP ở trong cột "data" của table "custom_data" là string json đã encode. Muốn lấy ra:
Select toàn bộ cột có name là "chat" => duyệt toàn bộ "data" => decode json => json ra array => lấy "user" từ array.
Nếu chat có 1 100 cái thì TWIG PHP sẽ duyệt 100 lần.

Vd2: Show toàn bộ nội dung chatbox gồm 100 entry
TWIG PHP: database Select 100 cái để php giải mã, mỗi lần giải mã sẽ lại tương tương với database 100 lần => tương tác 10000 lần => Nếu là 1000 entry thì là 1000000 => a*n lần (a là số dữ liệu cần lấy, n là tổng dữ liệu trong table "custom data")=> Hosting gào thét, Database gào thét, người dùng gào thét. Web càng nhiều dữ liệu thì load web càng rùa bò.

Giờ giải quyết như thế nào? @Dai@Asuna bàn nhau cho một cách giải quyết: Tạo một code mới, thay cách truy vấn tới database MySQL - DorewSite.

TWIG PHP chỉ có 1 table là "custom_data"
DorewSite gồm các table khác do người dùng tùy chỉnh: "user", "forum", "chat"... Giống với cách mà người lập trình khác sử dụng.
Lấy nội dung cũng tương tác database 1 lần không chơi a*n như kia.

DorewSite có gì hấy dẫn?
- Chạy được code twig
- Database dễ đọc, dễ quản lý hơn, có thể sử dụng hàm truy vấn MySQL để thao tác với dữ liệu (TWIG PHP không được)
- Không chạy được code Wap4 - Mở ra lối mới
- Nhiều tính năng, hàm hỗ trợ hơn.

Khuyết điểm của DorewSite?
- Không chạy được code Wap4, các bạn phải viết lại bằng hàm của DorewSite
- Phải học hàm DorewSite:https://dorew.gq/forum/319/cac-ham-xu-ly-trong-dorewsite.html

Bạn có thể giúp gì để phát triển DorewSite?
- Hỡ trợ hoàn thiện DorewSite
- Gợi ý tính năng, hàm cho DorewSite
- Chia sẻ template trên nền DorewSite
- Chia sẻ hosting để mọi người lập trình DorewSite
- Ủng hộ, giới thiệu DorewSite
-...
Gill, Thanh Tam đã thích bài viết này

10 comments:

  1. avatar Dai says:

    Ở thời điểm hiện tại thì DorewSite do @Asuna code toàn bộ, @Dai chỉ đề xuất và góp ý.

  2. avatar Dai says:

    Về Wap4
    Vd như cái bài viết ghim này
    Muốn lấy danh sách bài viết được ghim:
    - Wap4: Cách 1: duyệt toàn bộ bài viết ở forum, có ghim=true thì show ra (duyệt toàn bộ bài viết). Tạo entry dsghim gồm các id bài viết có ghim. ------- (Thật ra forum, chat... Đều tương tự)
    - DorewSite: Select (array) forum where ghim=true => show ra ngoài, ezgame
    46


    Wap4 phải dùng vòng lặp để lấy data, DorewSite dùng sức mạnh của SQL. SQL nhiều trò lắm, nhanh nhanh chuyển sang DorewSite nào 42

  3. avatar Dai says:

    Ưu điểm DorewSite với Wap4:
    Wap4 lấy 1 dữ liệu lần, buộc phần code ở server phải sử lý (như dùng vòng lập) => chậm, mất công code
    DorewSite có sức mạnh của Hệ quản trị cơ sở dữ liệu (DBMS) là MySQL và PHP
    Lấy dữ liệu nhẹ nhàng hơn, giảm tải cho hosting
    21

  4. avatar Chan says:

    DorewSite có gì hấy dẫn? => lỗi chính tả.(đổi lại = Hấp)

  5. @Chan đọc nội dung bài viết và comment kĩ vào 3

  6. avatar nhox35 says:

    @Trùm test hostify xem sao, nếu được tôi tài trợ con host bên đó!

  7. avatar nhox35 says:

    @Trùm test hostify xem sao, nếu được tôi tài trợ con host bên đó!

  8. avatar Longkarik says:

    @Chan đâu có, phải gọi là tay nhanh hơn não 10

  9. avatar lctiendat says:

    Thật ra mình ấn tượng quả captcha bá cháy vãi đạn