Hi @dukinfotech, cảm ơn vì phản hồi của bạn. Theo kinh nghiệm của cá nhân mình thì:
Về việc sử dụng docker trên production. Server kiếm con ram 2GB cũng ổn. Tùy thuộc bạn chạy nhiều service hay không. Ngoài ra thì việc chạy docker trên local là một chuyện nhưng trên production nó lại là một chuyện khác. Nếu chạy trên production thì dùng luôn swarm bạn ạ. Swarm mode vẫn có thể chạy trên một host. Khi cần mở rộng mình chỉ cần join thêm node vào swarm là xong.
Về vấn đề quá tải: Nếu sử dụng swarm, swarm cũng mặc định đảm nhiệm kèm việc load balancing. Do đó, giả sử trong mạng swarm của bạn có nhiều node (tức nhiều host), swarm sẽ tự phân bổ request sang các node khác để sử dụng tài nguyên từ nhiều node. Các công việc chính thì phân đều cho worker rồi nên cũng ít bị quá tải. Trừ khi bị DOS. Ngoài ra, nếu dùng traefik, bạn có thể deploy traefik ở ingrest mode. Lúc này bạn có thể dns để request tới nhiều server thay vì chỉ chạy vào con manager như bạn nói. Và như vậy thì cũng không lo việc request chỉ tập trung tới một con manager nữa nên cũng hạn chế thêm được phần nào việc quá tải.
@HuyDQ Bạn ơi, bạn cho mình hỏi thêm 1 chút.
Nextjs là server rending. Thì đáng nhẽ ra phần content text khi mình CTRL+ U thì sẽ hiển thị. Giống viblo này
Nhưng sao của mình có content text nhưng lại không hiển thị gì hết ngoài JSON của API nhỉ?
Bài viết của anh khá hay và hữu ích. Tuy vậy, em xin có chút đính chính về phần "Premature optimization". Nó không phải là tối ưu sớm. Từ Premature optimization ám chỉ hành động tối ưu "thiếu chín chắn" của các lập trình viên khi cho rằng cách code B (thường phức tạp hơn) sẽ đạt hiệu quả tốt hơn so với cách code A trong khi thực tế cách B thậm chí chả nhanh hơn mấy hoặc có khi còn chậm hơn, dẫn đến code rối rắm và sinh bug. Cách giải quyết ở đây là optimize thì nên benchmark lại tốc độ giữa 2 phương án và cân nhắc xem liệu thật sự có cần thiết phải "optimize" hay không.
THẢO LUẬN
@@ dù thích nhưng vs đầu óc của t thì lúc nào cũng chỉ tìm hiểu ở mức cơ bản nhất =))
Bài viết hay quá, 1 upvote + follow luôn nè :v
Cảm ơn bạn đã cmt, mình sẽ update bài viết
mysql_real_escape_string, hàm này hình như bị deprecated cho PHP phiên bản cũ rồi nhé bạn. Mình nhớ là chuyển sang mysqli_* hết rồi thì phải
Cám ơn thớt rất nhiều!
P/S: Có 1 version nvm cho Windows gần giống nvm cho Linux/Mac: Node.js version manager for Windows https://github.com/coreybutler/nvm-windows
+1. Phải lấy lại mật khẩu để vào upvote cho bác thớt
hóng bác làm DL về sentiment analysis cho ngôn ngữ tiếng Việt :v
Hi @dukinfotech, cảm ơn vì phản hồi của bạn. Theo kinh nghiệm của cá nhân mình thì:
Về việc sử dụng docker trên production. Server kiếm con ram 2GB cũng ổn. Tùy thuộc bạn chạy nhiều service hay không. Ngoài ra thì việc chạy docker trên local là một chuyện nhưng trên production nó lại là một chuyện khác. Nếu chạy trên production thì dùng luôn swarm bạn ạ. Swarm mode vẫn có thể chạy trên một host. Khi cần mở rộng mình chỉ cần join thêm node vào swarm là xong.
Về vấn đề quá tải: Nếu sử dụng swarm, swarm cũng mặc định đảm nhiệm kèm việc load balancing. Do đó, giả sử trong mạng swarm của bạn có nhiều node (tức nhiều host), swarm sẽ tự phân bổ request sang các node khác để sử dụng tài nguyên từ nhiều node. Các công việc chính thì phân đều cho worker rồi nên cũng ít bị quá tải. Trừ khi bị DOS. Ngoài ra, nếu dùng traefik, bạn có thể deploy traefik ở ingrest mode. Lúc này bạn có thể dns để request tới nhiều server thay vì chỉ chạy vào con manager như bạn nói. Và như vậy thì cũng không lo việc request chỉ tập trung tới một con manager nữa nên cũng hạn chế thêm được phần nào việc quá tải.
Bài viết quá tâm huyết
Bao nhiêu % trên tập gì vậy em.
Thanks
Thanks anh, góp ý có tâm, e sẽ lưu ý và update ạ
Hồi trước cũng khác mê môn đồ họa máy tính
But phpcs failed with our style, please format
Laravel cung cấp trait
WithFaker
nên có thể ko cần setup thủ công nữahttps://github.com/laravel/framework/blob/5.8/src/Illuminate/Foundation/Testing/WithFaker.php
https://github.com/laravel/framework/blob/5.8/src/Illuminate/Foundation/Testing/TestCase.php#L124
bài viết khá hay!
hay quá Sếp ơi!
@HuyDQ Bạn ơi, bạn cho mình hỏi thêm 1 chút. Nextjs là server rending. Thì đáng nhẽ ra phần content text khi mình CTRL+ U thì sẽ hiển thị. Giống viblo này
Nhưng sao của mình có content text nhưng lại không hiển thị gì hết ngoài JSON của API nhỉ?
Bài viết của anh khá hay và hữu ích. Tuy vậy, em xin có chút đính chính về phần "Premature optimization". Nó không phải là tối ưu sớm. Từ Premature optimization ám chỉ hành động tối ưu "thiếu chín chắn" của các lập trình viên khi cho rằng cách code B (thường phức tạp hơn) sẽ đạt hiệu quả tốt hơn so với cách code A trong khi thực tế cách B thậm chí chả nhanh hơn mấy hoặc có khi còn chậm hơn, dẫn đến code rối rắm và sinh bug. Cách giải quyết ở đây là optimize thì nên benchmark lại tốc độ giữa 2 phương án và cân nhắc xem liệu thật sự có cần thiết phải "optimize" hay không.
@HuyDQ tks bạn nhiều nha