Tìm hiểu được các phương pháp để viết 1 ứng dụng angular sạch và hiểu quả: https://viblo.asia/p/cac-phuong-phap-hay-de-co-mot-ung-dung-angular-sach-va-hieu-qua-jvElay94lkw hoặc https://medium.com/free-code-camp/best-practices-for-a-clean-and-performant-angular-application-288e7b39eb6f
1.1. Khi sử dụng @ngFor phải sử dụng thêm trackBy để xác định phần tử nào thay đổi và chỉ thay đổi phần tử đó, nếu chỉ dùng @ngFor thì sẽ re-render lại toàn bộ cây DOM -> ko tối ưu
1.2. Với những biến ko thay đổi giá trị thì sử dụng const, thay đổi thì sử dụng let
1.3. Sử dung pipeable khi sài thư viên rxJS vì nó phân tán theo dạng cây -> tối ưu hơn
1.4. Tránh subscribing các observables từ các component và thay vào đó subscribe các observables từ teamplate. Vì quên huỷ đăng kí một subscription trong component sẽ gây rò rỉ bộ nhớ
1.5. Sử dụng take và takeUntil để tránh rõ rỉ bộ nhớ
1.6 Các trường hợp sử dụng toán tử đúng:
switchMap: khi bạn muốn bỏ qua giá trị phát ra trước đó khi có giá trị mới.
mergeMap: khi bạn muốn xử lý đồng thời tất cả các giá trị được phát ra.
concatMap: khi bạn muốn xử lý lần lượt các giá trị khi chúng được phát ra.
exitMap: khi bạn muốn hủy bỏ tất cả các giá trị mới trong khi xử lý một giá trị phát ra trước đó
1.7. Sử dụng lazy loading để chỉ tải component khi nó được nhìn thấy -> tối ưu
1.8. Tránh subscribing từ một observable nằm trong subscribe của một observable khác -> sử dụng withLatestFrom hoặc combineLatest
1.9. Không khai báo loại any để tránh các rắc rối
HTTP module sử dụng Observables để xử lý AJAX request và response
Router và Form module sử dụng Observables để nghe và phản hồi đến các user-input event
Tìm hiểu về JSONP:
JSONP (json with padding) là phương tiện giao tiếp giải quyết vấn đề truy cập dữ liệu giữa các domain khác nhau -> giải quyết CORS. Dữ liệu của JSONP ko phải JSON mà là Javascript
Báo cáo những vấn đề gặp phải trong ngày hôm nay Những phần đã làm được ??? Yêu cầu các bạn đẩy nhanh tiến độ và hoàn thành tốt hơn nữa