[...new Set(array)] kia chỉ thích hợp với array chứa dữ liệu kiểu nguyên thủy (primitive type) thôi, còn ví dụ như các element trong array đó là Object thì không làm thế được
Hay quá a zai. Đúng cái e vừa làm mấy ngày trc mà k hiểu sao truyền function vào children component có sử dụng react memo nhưng vẫn bị re render. Ghét quá e truyền luôn nhữg biến cần thiết vào children component để tính toán luôn. Giờ mới hiểu rõ hơn về usecallback. Cám ơn a. Hi vọng a ra những bài biết đào sâu nâng cao hơn về react
@lengocanh nếu v thì thằng BadAttributeValueExpException phải được implements Serializable. Mà BadAttributeValueExpException extends Exception, Exception extends Throwable, Throwable implements Serizalizable thì vẫn được đúng k ạ
Cảm ơn bạn về bài viết, mình mới dùng authentication nên còn nhiều bỡ ngỡ. Một project nên chỉ có dạng authentication hay đa dạng ?. Vì mình set JWT cho project example của mình, nhưng không hiểu sao vẫn dùng được basic authenitcation !
Mình cho rằng: bạn nên thêm phần cuối cùng các câu lệnh để thể hiện rằng các tasks đã được đăng ký với Celery chạy. Nếu để thế này đọc xong vẫn chưa hiểu được. Ví dụ theo video này https://www.youtube.com/watch?v=fBfzE0yk97k
Cho e hỏi là đoạn cuối mình dùng login(payload) để gửi instance của BadAttributeValueExpException class tới server thì làm sao bên server trigger readObject() được ạ ? Hay rmi dùng cơ chế serialize và deserialize để gửi/nhận data hả a?
Đoạn closure mình có góp ý thế này
"nhờ vào numberFunc tham chiếu đến checkNumber() nên duy trì được biến num tồn tại" khi nói vầy thì cần nói tham chiếu vào lúc nào.
var numberFunc = numberGenerator(); // đây chính là lúc numberFunc tham chiếu đến checkNumber()
Phạm vi numberFunc = phạm vi của checkNumber(), phạm vi này được lưu lại cho numberFunc (gọi tắt là phạm vi A).
khi gọi console.log(numberFunc()); lần 1 lúc này phạm vi nó sẽ sử dụng là phạm vi A,
khi gọi console.log(numberFunc()); lần 2 thì nó sẽ vẫn nhảy vào đúng phạm vi A mà thôi, ko tạo ra phạm vi mới, mà trong phạm vi A biến num đã bị thay đổi ở lần 1, nên nó sẽ lấy giá trị mới nhất của num
==
"Một hàm tạo ra thì nó có thể ghi nhớ nơi nó được tạo ra và truy cập biến bên ngoài của nó"
còn về numberGenerator()() thì nơi nó được tạo chính là lúc gọi nó, còn numberFunc() thì nơi nó được tạo là bên trong numberGenerator()
Mình trình bày trên quan sát của mình, ko phải là chính xác đúng
các bạn ko hiểu có thể xem video này của bạn Sơn, bạn này giải thích còn dễ hiểu hơn mình nữa.
thttps://www.youtube.com/watch?v=xtQtGKL0NCI
THẢO LUẬN
@hmquan08011996 rồi á a, e dùng lệnh thì y hệt theo các bước trên r mà nó lỗi mount được
💯💯💯
[...new Set(array)] kia chỉ thích hợp với array chứa dữ liệu kiểu nguyên thủy (primitive type) thôi, còn ví dụ như các element trong array đó là Object thì không làm thế được
em xin phép lượm cái kiến thức mà nếu e k đọc thì chục năm nữa cũng ko biết được này nhé
recommend bài viết vì rất sát với thực tế.
Hay quá a zai. Đúng cái e vừa làm mấy ngày trc mà k hiểu sao truyền function vào children component có sử dụng react memo nhưng vẫn bị re render. Ghét quá e truyền luôn nhữg biến cần thiết vào children component để tính toán luôn. Giờ mới hiểu rõ hơn về usecallback. Cám ơn a. Hi vọng a ra những bài biết đào sâu nâng cao hơn về react
@lengocanh nếu v thì thằng BadAttributeValueExpException phải được implements Serializable. Mà BadAttributeValueExpException extends Exception, Exception extends Throwable, Throwable implements Serizalizable thì vẫn được đúng k ạ
Cảm ơn bạn về bài viết, mình mới dùng authentication nên còn nhiều bỡ ngỡ. Một project nên chỉ có dạng authentication hay đa dạng ?. Vì mình set JWT cho project example của mình, nhưng không hiểu sao vẫn dùng được basic authenitcation !
Hay quá bạn. Cảm ơn bạn nhé
em tạo PV với PVC chưa á?
thanks
Mình cho rằng: bạn nên thêm phần cuối cùng các câu lệnh để thể hiện rằng các tasks đã được đăng ký với Celery chạy. Nếu để thế này đọc xong vẫn chưa hiểu được. Ví dụ theo video này https://www.youtube.com/watch?v=fBfzE0yk97k
Bài viết nó chán vcc, viết lung tung từ component này qua component khác khó hiểu vl
chính xác rồi bạn nhé!
Bạn có thể đọc thêm về RMI tại đây : https://xz.aliyun.com/t/11339
Cho e hỏi là đoạn cuối mình dùng login(payload) để gửi instance của BadAttributeValueExpException class tới server thì làm sao bên server trigger readObject() được ạ ? Hay rmi dùng cơ chế serialize và deserialize để gửi/nhận data hả a?
Đoạn closure mình có góp ý thế này "nhờ vào numberFunc tham chiếu đến checkNumber() nên duy trì được biến num tồn tại" khi nói vầy thì cần nói tham chiếu vào lúc nào.
var numberFunc = numberGenerator(); // đây chính là lúc numberFunc tham chiếu đến checkNumber()
Phạm vi numberFunc = phạm vi của checkNumber(), phạm vi này được lưu lại cho numberFunc (gọi tắt là phạm vi A).
khi gọi console.log(numberFunc()); lần 1 lúc này phạm vi nó sẽ sử dụng là phạm vi A,
khi gọi console.log(numberFunc()); lần 2 thì nó sẽ vẫn nhảy vào đúng phạm vi A mà thôi, ko tạo ra phạm vi mới, mà trong phạm vi A biến num đã bị thay đổi ở lần 1, nên nó sẽ lấy giá trị mới nhất của num
==
"Một hàm tạo ra thì nó có thể ghi nhớ nơi nó được tạo ra và truy cập biến bên ngoài của nó" còn về numberGenerator()() thì nơi nó được tạo chính là lúc gọi nó, còn numberFunc() thì nơi nó được tạo là bên trong numberGenerator() Mình trình bày trên quan sát của mình, ko phải là chính xác đúng
các bạn ko hiểu có thể xem video này của bạn Sơn, bạn này giải thích còn dễ hiểu hơn mình nữa. thttps://www.youtube.com/watch?v=xtQtGKL0NCI
em k hiểu em k hiểu
Tặng sư phụ 1 like. 😁😁