THẢO LUẬN

@watanabeuk Nhân tiện mình cũng thử qua tiki xem có khác shopee không thì mình cũng phát hiện ra họ render đẩy đủ nội dung HTML rất nhanh. Mà bên tiki xây dựng trên Reactjs. Nên khả năng cao họ sử dụng Server-side-rendering nha bạn.

0

Chào @watanabeuk Mình đã thử kiểm tra trang sản phẩm của Shopee và muốn giải thích với bạn như sau:

Bởi vì việc browser nhận về 1 trang web sẽ load đầy đủ các tài nguyên html, css, js đã được render sẵn. Theo như mình quan sát source view của trang shoppe render ra thì ko thấy có sự xuất hiện của html render ra nội dung.

Mà shoppe đang chạy SEO rất tốt. Thì có nghĩa là người dùng đang nhận dc 1 phiên bản SPA.

Còn bọ google đang nhận được bản rendering đầy đủ html được điều hướng riêng.

Shopee là 1 trang web có nội dung động, cập nhật liên tục lên rất có khả năng họ sẽ sử dụng dynamic rendering bởi vì đang tạo ra 2 điều hướng khác nhau giữa người dùng và bot. Việc sử dụng pre-rendering cũng có 2 điều hướng như vậy nhưng do thời gian cached sẽ ko phù hợp với shopee.

Vì mình nghĩ pre-rendering chỉ phù hợp vs trang blog, tin tức, có ít cập nhật thời gian thực.

Còn với server-side-rendering thì người dùng sẽ nhận dc mã html nội dung đầy đủ.

Nên mình kết luận là Shoppe sử dụng giải pháp dynamic rendering ( 75% ).😆

Một nền tảng lớn ẩn chứa nhiều kiến trúc công nghệ độc quyền nên mình ko thể khẳng định chắc chắn về cách họ xây dựng công nghệ bên trong.💯 dc.

0
thg 1 16, 2020 10:00 SA

e cũng hiểu í anh ns rồi 😂 , e cảm ơn nhé

+1
thg 1 16, 2020 9:50 SA

Vẫn hoạt động bình thường e nhé 😃.

1 ví dụ cụ thể hơn chứng minh điều này:

  • .dockerignore e ignore 2 file testAtestB.
  • Sau đó ở docker-compose.yml e chỉ mount volumes file testB, sau đó chạy và thử exec vào thì e sẽ không thấy file A do đã được ignore từ trước

A hiểu vì sao e nghĩ như vậy. Vì bây giờ e đang mount volumes cả folder bên ngoài nên toàn bộ file bên ngoài sẽ có trong container lúc chạy, do đó e không thấy chúng được ignore.

Vậy nên là dockerignore vẫn hoạt động bình thường nhé, chẳng qua là do việc e mount volumes đã "ghi đè" nó dẫn tới việc các file vẫn còn ở đó dù đã ignore 😉

0
thg 1 16, 2020 9:36 SA

chính nó 😂😂

0
thg 1 16, 2020 9:20 SA

đọc comment bài này thú vị ghê , e có 1 í nhỏ là .dockerignore sẽ k hoạt động nếu chúng ta sử dụng volumes đúng k anh? e test thì thấy vậy

0

Cảm ơn bài viết của bạn. Ở Api store tại sao mình gửi lên 2 params name, price như b mà bị báo là undefined nhỉ?

0
thg 1 16, 2020 9:18 SA

tức là khi e chạy docker-compose up thì sẽ kết quả cuối cùng sẽ là ở stage cuối cùng, những stage còn lại sẽ bị xóa ạ

0
thg 1 16, 2020 9:15 SA

lỗi này theo như e thấy : vấn đề là user trong container hiện tại đang là www-data mà permission của /var/www/html đang là drwxr-xr-x với root => chạy lệnh composer install => tạo mới thư mục vendor vs role www-data sẽ bị fail , nhưng e k biết cấp quyền cho thư mục /var/www/html ntn 😂

+1
thg 1 16, 2020 9:09 SA
  • build-stage ta sử dụng folder /app để làm những thứ ta muốn (npm install, sau đó build) mục đích là lấy folder build cuối cùng - folder dist.
  • Sau đó ta chuyển qua production-stage, và copy lấy nội dung của folder /app/dist
  • Mỗi stage là hoàn toàn riêng biệt nhau, tức là folder /app bây giờ không có ở production-stage nhé e.
  • Khi e chạy docker-compose exec app sh tức là e đang ở production-stage (stage cuối cùng) và code được lưu ở /usr/share/nginx/html
+1

để tag BUG cho nó gây ấn tượng cao nên mình không thể bị miss được cụ ạ =))

+1
Avatar
đã bình luận cho bài viết
thg 1 16, 2020 8:56 SA

Rất nhiều thành công của Vue là ở sự đơn giản trong việc tạo ra các component. 🤖

+1
thg 1 16, 2020 8:33 SA

Like cho pikachu

0
thg 1 16, 2020 8:14 SA

Rất hay. 1like

0
thg 1 16, 2020 7:10 SA

e muốn hỏi là sau khi e buil Image xong thì có 2 stage là build-stageproduction-stage, sau đó khai báo Image này trong service app và run docker-compose up => docker-compose exec app sh sau khi sh đc vào trong mt của docker thì e k thấy thư mục /app của build-stage đâu . Vì sao anh nhỉ ?

+1
thg 1 16, 2020 6:41 SA

cám ơn e nhé, a đã update lại đoạn đó nhé 😄

0

chỗ này mình type bị ngược rồi, để mình sửa lại, thank bạn ^^

+1

căn giữa chữ, phần tử div và căn giữa phần tử image có chút khác nhau

nếu mà có thêm bài về căn chỉnh hình ảnh thì tốt quá (clap2)

+1
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí