Mình không tán thành với cách suy nghĩ của host, bạn có chắc là sử dụng include , set v.v rằng ở tầng bên dưới của javascript không sử dụng for loop không , mà chắc nịt rằng việc sử dụng tụi kia cho performace tốt hơn trong khi lại không có 1 bài test nào xảy ra cả?
đúng là sử dụng những hàm có sẳn là nhanh nhất , nhưng best performance thì mình lại không nghĩ vậy ?
Thậm chí rằng việc dùng set chậm hơn rất nhiều, nếu nó nhanh hơn thì em mời bác đề xuất cách kiểm tra mảng có phần tử trùng nhau mà không phải for ít nhất 1 lần
Chào bạn, cám ơn bạn vì bài viết, mình có chút thắc mắc ở đoạn: "chẳng phải do async function dẫn đến sự delay, mà là do ở trong lần render đó, giá trị count đã được fix cứng là 1"
Nếu nói như thế thì cái count ở render cũng phải là 1 chứ sao lại khác được nhỉ?
Set cũng là 1 dạng hash table. Chỉ khác là các phần tử trong Set được lưu trữ dưới dạng các cặp key-value(K,V) với các value là hằng số.
Ví dụ: 1 Set có các phần tử {1, 2, 3} thì bản chất đằng sau là 1 hash table có thể biểu thị dưới dạng object như sau: {1: true, 2: true, 3: true}
Do đó, để khởi tạo 1 Set ta cần phải lặp qua array (O(N)) và sử dụng phương thức Object.hasProperty() để kiểm tra phần tử có tồn tại chưa trước khi thêm vào.
Chào bạn, cảm ơn bài viết của bạn. Mình có một câu hỏi là mình thấy tất cả fields trong bảng đều push hết lên elasticsearch, trong case mình muốn put một vài cột lên thôi thì có options nào để cấu hình không bạn ?
Tiếp theo là tạo một biến để lấy data ở list:
static List<Accessory> _sampleData;
Sau đó gán data cho biến này trước khi sử dụng ở method build():
_sampleData = _getSampleData();
Sorry bạn vì mình đã không lưu source code lại. Những bài viết khác mình sẽ chú ý để source lại để cho mng tham khảo.
Cảm ơn bạn đã đọc bài
Cột deleted_at theo mình tìm hiểu thì không có đánh index. Thì sau này soft_deleted sẽ làm chậm đi hệ thống rất nhiều. Không biết laravel có cách khắc phục không nhỉ?
THẢO LUẬN
Mã nguồn ứng dụng Android Advance eCommerce bao gồm bảng điều khiển quản trị tải xuống tại đây https://itinsidenews.com/mymall-android-app-free-source-code
bác lag rồi đó
bên dưới có bác giải thích kìa
Mình không tán thành với cách suy nghĩ của host, bạn có chắc là sử dụng include , set v.v rằng ở tầng bên dưới của javascript không sử dụng for loop không , mà chắc nịt rằng việc sử dụng tụi kia cho performace tốt hơn trong khi lại không có 1 bài test nào xảy ra cả? đúng là sử dụng những hàm có sẳn là nhanh nhất , nhưng best performance thì mình lại không nghĩ vậy ?
Lỗi này mình ko rõ, lần đầu mình gặp, nhiều khả năng là do cài đặt của máy (Node, proxy, hoặc vscode...). Bạn có thể thử 2 cách sau:
git clonethay chonpx degit(nhưng cần xóa folder.gittrong project để xóa lịch sử git của repo gốc).Cảm ơn tác giả
count ở render show ra 2 là của lần render sau rồi đó bạn
Chào bạn, cám ơn bạn vì bài viết, mình có chút thắc mắc ở đoạn: "chẳng phải do async function dẫn đến sự delay, mà là do ở trong lần render đó, giá trị count đã được fix cứng là 1" Nếu nói như thế thì cái count ở render cũng phải là 1 chứ sao lại khác được nhỉ?
hay
Set cũng là 1 dạng hash table. Chỉ khác là các phần tử trong Set được lưu trữ dưới dạng các cặp key-value(K,V) với các value là hằng số. Ví dụ: 1 Set có các phần tử {1, 2, 3} thì bản chất đằng sau là 1 hash table có thể biểu thị dưới dạng object như sau: {1: true, 2: true, 3: true} Do đó, để khởi tạo 1 Set ta cần phải lặp qua array (O(N)) và sử dụng phương thức Object.hasProperty() để kiểm tra phần tử có tồn tại chưa trước khi thêm vào.
Thế nên time complexity vẫn là O(N).
Nếu add một array vào Set thì Set đó sẽ thêm 1 element mới chính là array mà ta? Vậy thì đâu có loại bỏ phần tử trùng nhau

@KienNguyen0207 bạn đợi nhé mình đợt này bận nhiều công việc quá chưa có thời gian viết. Sẽ ra sớm thôi ạ.
@loveruby Thực tế là đây nè
Chào bạn, cảm ơn bài viết của bạn. Mình có một câu hỏi là mình thấy tất cả fields trong bảng đều push hết lên elasticsearch, trong case mình muốn put một vài cột lên thôi thì có options nào để cấu hình không bạn ?
Viết tiếp đi bạn
hóng các bài sâu hơn tiếp sau của bạn @ledangtuanbk

Cái này đơn gỉan thôi bạn nha. Mình k còn source trong bài viết này nên làm tạm lại 1 cái Accessory là một class chứa data như sau:
class Accessory { int _id; String _title; int _price; String _imageUrl;
Accessory(this._id, this._title, this._price, this._imageUrl); } mình viết lại nên chắc sẽ thiếu vài trường ở trong bài viết.
Sau đó mình fake 1 list data như sau:
List<Accessory> _getSampleData() { return [ Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU"), Accessory(1, "Asrock B40 pro", 2500000, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT2VuTEit3BW0TDkQPGKtrwvklE7alcPZtxSg&usqp=CAU") ]; }
Tiếp theo là tạo một biến để lấy data ở list: static List<Accessory> _sampleData; Sau đó gán data cho biến này trước khi sử dụng ở method build(): _sampleData = _getSampleData(); Sorry bạn vì mình đã không lưu source code lại. Những bài viết khác mình sẽ chú ý để source lại để cho mng tham khảo. Cảm ơn bạn đã đọc bài
Cột deleted_at theo mình tìm hiểu thì không có đánh index. Thì sau này soft_deleted sẽ làm chậm đi hệ thống rất nhiều. Không biết laravel có cách khắc phục không nhỉ?
hoặc đọc code được MND implement bằng cách khử đệ quy https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js