@minhtuancnttk39 Bạn inspect thấy có element mới được thêm vào rồi thì là append đúng rồi. Nếu view không thay đổi thì bạn kiểm tra lại style của element đấy. Còn View Source Code là xem mã nguồn đã được tải về của trang hiện tại chứ ko phải dùng để debug. Mà debug thì phải dùng DevTool. Bạn vào trang https://shopee.vn rồi bấm view source code nó sẽ ra một trang có đúng một thẻ script thôi mà chẳng có thẻ html nào. Bạn debug thế thực sự là sai rồi.
Tức là nhu cầu của bạn là vẫn giữ lại tất cả các data mặc dù người dùng đã xoá để dùng sau này (thống kê hay gì đó mình không rõ) đúng không?
Nếu là thế thì bạn có thể dùng delayed job chẳng hạn. Khi user ra lệnh xoá bạn soft delete như bây giờ đồng thời set một delayed job chạy ngầm, move data đó sang chỗ mới rồi mới hard delete record đó đi. User vẫn được phản ứng lại ngay, bạn vẫn có data để dùng sau này
Ý e là thế này a...
Expect Element thì nó hiện, khi e append.. nhưng nó không hiển thị ra khi e view source code, trừ khi e F5 lại.. nhưng F5 lại thì kg đúng mục đích của e ạ...
Thế nên e chưa biết làm sao để khi append xong cái thì source code gốc của web cũng update luôn... như thế thì việc thực hiện Jquery mới thực thi được ấy ạ.
Vì chức năng search của mình cần join nhiều bảng, xữ lý tính toán trong câu query nữa, nếu như thế thì có dùng Easticsearch được không bạn nhỉ.
Bạn có thể search từ Elasticsearch ra, sau đó lấy kết quả rồi select và join với các bảng khác trong MySQL mà
Nếu dữ liệu mình có là "Have technical problems? Ask on Viblo" Thì gõ "tech" thì nó không trả về kết quả nhỉ, vì nó là full-text mà, nếu dùng wildcard trong elasticsearch thì nó trả về kết quả, nếu như thế thì có khác gì search like đâu bạn nhỉ
Có lẽ bạn hiểu sai khái niệm về full text search rồi Full text search làm được nhiều việc hơn rất nhiều so với phép LIKE thông thường của SQL. Ví dụ như ở câu của bạn "Have technical problems? Ask on Viblo" thì nếu bạn search "have problems", "has problems", "ask in Viblo", hay thậm chí "probelms" (viết sai chính tả) nó vẫn có thể trả ra kết quả được cho bạn (bạn cứ thử với chức năng search của Viblo thì sẽ rõ ), chứ phép toán LIKE thì chịu chết Chưa kể phép toán like sẽ rất là chậm nữa (do hầu như không tận dụng được index)
Vì chức năng search của mình cần join nhiều bảng, xữ lý tính toán trong câu query nữa, nếu như thế thì có dùng Easticsearch được không bạn nhỉ. Nếu dữ liệu mình có là "Have technical problems? Ask on Viblo" Thì gõ "tech" thì nó không trả về kết quả nhỉ, vì nó là full-text mà, nếu dùng wildcard trong elasticsearch thì nó trả về kết quả, nếu như thế thì có khác gì search like đâu bạn nhỉ
@vhung Như bạn @huukimit trả lời ở trên, thì bạn chỉ cần giữ lại một số source deploy gần đây nhất (để rollback lại nếu cần). Ví dụ như khi tạo đến thư mục release thứ 6, thì bạn cần có cơ chế để xoá cái cũ nhất đi, để sau khi deploy thành công, bao giờ cũng có không quá 5 thư mục releases
đúng rồi bạn, í mình muốn diễn đạt như vậy đó. bạn hãy hiểu hàm tạo là 1 function với type trả về là thằng mình muốn khởi tạo. bạn call funtion thế nào thì khởi tạo như thế
THẢO LUẬN
Phần này bị thiếu trầm trọng rồi nhé Đổi code trong view của home nhưng controller thì không xài. Lấy đây ra biến $listProduct ???
xóa nó đi là xong
@minhtuancnttk39 Bạn inspect thấy có element mới được thêm vào rồi thì là append đúng rồi. Nếu view không thay đổi thì bạn kiểm tra lại style của element đấy. Còn
View Source Code
là xem mã nguồn đã được tải về của trang hiện tại chứ ko phải dùng để debug. Mà debug thì phải dùngDevTool
. Bạn vào trang https://shopee.vn rồi bấm view source code nó sẽ ra một trang có đúng một thẻ script thôi mà chẳng có thẻ html nào. Bạn debug thế thực sự là sai rồi.Tức là nhu cầu của bạn là vẫn giữ lại tất cả các data mặc dù người dùng đã xoá để dùng sau này (thống kê hay gì đó mình không rõ) đúng không?
Nếu là thế thì bạn có thể dùng delayed job chẳng hạn. Khi user ra lệnh xoá bạn soft delete như bây giờ đồng thời set một delayed job chạy ngầm, move data đó sang chỗ mới rồi mới hard delete record đó đi. User vẫn được phản ứng lại ngay, bạn vẫn có data để dùng sau này
view source code
, trừ khi e F5 lại.. nhưng F5 lại thì kg đúng mục đích của e ạ...Thế nên e chưa biết làm sao để khi append xong cái thì source code gốc của web cũng update luôn... như thế thì việc thực hiện Jquery mới thực thi được ấy ạ.
@vuduchong209305 t chỉ mới viết cái t đang biết và muốn lưu lại. t sẽ update và bổ sung tiếp có gì bạn chỉ giáo thêm nhé
bài viết sơ sài quá
không có bài sau ạ?
@Huu
Bạn có thể search từ Elasticsearch ra, sau đó lấy kết quả rồi select và join với các bảng khác trong MySQL mà
Có lẽ bạn hiểu sai khái niệm về full text search rồi Full text search làm được nhiều việc hơn rất nhiều so với phép
LIKE
thông thường của SQL. Ví dụ như ở câu của bạn "Have technical problems? Ask on Viblo" thì nếu bạn search "have problems", "has problems", "ask in Viblo", hay thậm chí "probelms" (viết sai chính tả) nó vẫn có thể trả ra kết quả được cho bạn (bạn cứ thử với chức năng search của Viblo thì sẽ rõ ), chứ phép toánLIKE
thì chịu chết Chưa kể phép toán like sẽ rất là chậm nữa (do hầu như không tận dụng đượcindex
)Cái
key
là cái gì vậy bạn?Nếu theo cách 1 và dùng dùng expressJS + MySQL thì sau này dữ liệu lớn lên nó có ok không bạn nhỉ, hay là dùng expressJS + MongoDB nhỉ
(y)
Bạn chú ý dấu
.
và dấu,
trong câu chữ, với cả tiêu đề bạn đặt là khởi tạo 1 lớp chứ không phải là call function.Vì chức năng search của mình cần join nhiều bảng, xữ lý tính toán trong câu query nữa, nếu như thế thì có dùng Easticsearch được không bạn nhỉ. Nếu dữ liệu mình có là "Have technical problems? Ask on Viblo" Thì gõ "tech" thì nó không trả về kết quả nhỉ, vì nó là full-text mà, nếu dùng wildcard trong elasticsearch thì nó trả về kết quả, nếu như thế thì có khác gì search like đâu bạn nhỉ
@vhung Như bạn @huukimit trả lời ở trên, thì bạn chỉ cần giữ lại một số source deploy gần đây nhất (để rollback lại nếu cần). Ví dụ như khi tạo đến thư mục release thứ 6, thì bạn cần có cơ chế để xoá cái cũ nhất đi, để sau khi deploy thành công, bao giờ cũng có không quá 5 thư mục releases
đúng rồi bạn, í mình muốn diễn đạt như vậy đó. bạn hãy hiểu hàm tạo là 1 function với type trả về là thằng mình muốn khởi tạo. bạn call funtion thế nào thì khởi tạo như thế
Static methods trong interface vẫn được mà anh?
@vhung Thực tế thì chỉ giữ lại 2, 3, 5 hay một con số khác cho số lần deploy trước đó thôi. Các phiên bản release cũ hơn thì sẽ được tự động xóa bỏ.
Hay quá bạn ơi ^_^
Cảm ơn anh rất nhiều. Dù e chưa hiểu về Promise lắm nhưng nhìn code của a thì e cũng đã hiểu khái quát rồi ạ