THẢO LUẬN

Jan 16th, 2020 4:05 p.m.

cảm ơn bạn, bên mình outsource nên phụ thuộc từng dự án bạn ạ, có design thì là do KH gửi

0
Jan 16th, 2020 11:19 a.m.

chỉ là dạo chơi

+1

ông dính bao nhiêu tag này roài :v

0

@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
Jan 16th, 2020 10:00 a.m.

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

+1
Jan 16th, 2020 9:50 a.m.

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 testA và testB.
  • 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
Jan 16th, 2020 9:36 a.m.

chính nó 😂😂

0
Jan 16th, 2020 9:20 a.m.

đọ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
Jan 16th, 2020 9:18 a.m.

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
Jan 16th, 2020 9:15 a.m.

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
Jan 16th, 2020 9:09 a.m.
  • Ở 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
Jan 16th, 2020 8:56 a.m.

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
Jan 16th, 2020 8:33 a.m.

Like cho pikachu

0
Jan 16th, 2020 8:14 a.m.

Rất hay. 1like

0
Jan 16th, 2020 7:10 a.m.

e muốn hỏi là sau khi e buil Image xong thì có 2 stage là build-stage và production-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
Jan 16th, 2020 6:41 a.m.

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

0
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í