Mình đã cố gắng dịch nhưng có lẽ không được hay lần sau mình sẽ cố gắng cải thiện và hi vọng giúp ích được ai đó. Có link bên dưới bạn có thể vào đọc trực tiếp thank bạn đã góp ý !
Sử dụng cách nào để khử N + 1 query thì mỗi framework sẽ có cách khái quát và trình bày riêng, nhưng bản chất thì vẫn là xoay quanh sử dụng select in() hay joins.
Hồi trước khi đi làm sử dụng sql thuần qua các sp, trigger thì chủ yếu làm thế nào để tăng performance trong các câu truy vấn của mình. Về sau dùng LinQ, activerecord, hibernate các ORM thấy nhiều bạn đề cập đến N+1 query lúc đó mới hỏi quái lại sao mình không biết cái này nhỉ =)) .
Cách anh viết cũng rất hay dễ đọc . Chắc phải chăm đọc nhiều bài của các tiền bối để nâng cao tay viết mới được.
@quynh001 : cách giải thích về Package Manager và Dependency Manager như vậy là đúng rồi. Về 2 khái niệm này đơn giản như sau:
Package Manager được sử dụng cho SYSTEM (hệ thống) và Dependency Manager cho PROJECT
Package Manager được sử sụng để cấu hình hệ thống ví dụ như cài đặt môi trường phát triển với các cài đặt này, mình có thể sử dụng cho nhiều projects
Dependency Manager chỉ dùng cho project. Mình có thể quản lý tất cả các dependencies cho project và các dependencies này được lưu trên project đó thôi. Project khác thì phải cài đặt lại. Vì vậy COMPOSER chỉ là là Dependency manager.
@wiliamfeng hàm handleClick của bạn thực chất nó có nhiệm vụ gán cái sự kiện itemAccor.onclick = () => itemAccor.classList.toggle("active") cho thẻ div. Sau lần click đầu tiên thì các thẻ div đã được gán sự kiện rồi nó mới chạy được cái toggle bạn khai báo
" reuby on rails cung cấp cho ta web server tên là WEBrick với câu lệnh rails s"
WEBrick là app server, không phải là web server.
Từ rails 5 thì app server mặc định khi tạo rails project là puma, không còn là WEBrick nữa.
LÀ như nào hả các bạn ? Mình chưa thực sự rõ lắm , các bạn có thể giải thích cho mình cặn kẽ hơn chút có đc không ? Mình thì hiểu thế này :
Thằng cha được khai báo sự kiện : onClick={this.handleClick} => khi click vô nó => nó sẽ gọi đến hàm handleClick => hàm này có chức năng duyệt qua các con nằm trong thằng cha => nếu phát hiện sự kiện click vừa rồi ứng với thằng con nào : itemAccor.onclick = () => itemAccor.classList.toggle("active") =,> sẽ toogle class cho thằng con đó.
THẢO LUẬN
Mình đã cố gắng dịch nhưng có lẽ không được hay lần sau mình sẽ cố gắng cải thiện và hi vọng giúp ích được ai đó. Có link bên dưới bạn có thể vào đọc trực tiếp thank bạn đã góp ý !
Bài viết rất hay và bổ éc, em thích nhất câu này
Hồi trước khi đi làm sử dụng sql thuần qua các sp, trigger thì chủ yếu làm thế nào để tăng performance trong các câu truy vấn của mình. Về sau dùng LinQ, activerecord, hibernate các ORM thấy nhiều bạn đề cập đến N+1 query lúc đó mới hỏi quái lại sao mình không biết cái này nhỉ =))
.
Cách anh viết cũng rất hay dễ đọc
. Chắc phải chăm đọc nhiều bài của các tiền bối để nâng cao tay viết mới được.
p/s: Thank for sharing
Tks,,,nhưng có vẻ copy hay google dịch mà có những đoạn đọc không đã
Loạt bài viết hay quá, cảm ơn anh nhiều
rồi làm thế nào để match với session trên server trong khi nó đã bị xóa nhỉ
)
@DoanhPV
code em như thế này sao nó không thay đổi hình ảnh nhỉ, anh giúp em với
cookie lưu ở client
Google dịch thế này thì ko nên post b à
@quynh001 : cách giải thích về
Package ManagervàDependency Managernhư vậy là đúng rồi. Về 2 khái niệm này đơn giản như sau:Package Managerđược sử dụng choSYSTEM(hệ thống) và Dependency Manager choPROJECTPackage Managerđược sử sụng để cấu hình hệ thống ví dụ như cài đặt môi trường phát triển với các cài đặt này, mình có thể sử dụng cho nhiềuprojectsDependency Managerchỉ dùng choproject. Mình có thể quản lý tất cả cácdependenciescho project và cácdependenciesnày được lưu trên project đó thôi. Project khác thì phải cài đặt lại. Vì vậyCOMPOSERchỉ là làDependency manager.@HuyDQ tks bạn nhé, code của bạn về logic dễ hiểu hơn rất nhiều
@wiliamfeng ok bạn
@HuyDQ tks bạn
@wiliamfeng hàm
handleClickcủa bạn thực chất nó có nhiệm vụ gán cái sự kiệnitemAccor.onclick = () => itemAccor.classList.toggle("active")cho thẻ div. Sau lần click đầu tiên thì các thẻ div đã được gán sự kiện rồi nó mới chạy được cái toggle bạn khai báo" reuby on rails cung cấp cho ta web server tên là WEBrick với câu lệnh rails s" WEBrick là app server, không phải là web server. Từ rails 5 thì app server mặc định khi tạo rails project là puma, không còn là WEBrick nữa.
@DoanhPV anh Doanh ơi có rảnh giúp em với, em làm mãi mà không được ạ
Bạn có thể cập nhât lại code như này sẽ tối ưu hơn tí
https://codepen.io/anon/pen/NLKVwp?editors=1010
LÀ như nào hả các bạn ? Mình chưa thực sự rõ lắm , các bạn có thể giải thích cho mình cặn kẽ hơn chút có đc không ? Mình thì hiểu thế này :
Thằng cha được khai báo sự kiện :
onClick={this.handleClick}=> khi click vô nó => nó sẽ gọi đến hàmhandleClick=> hàm này có chức năng duyệt qua các con nằm trong thằng cha => nếu phát hiện sự kiệnclickvừa rồi ứng với thằng con nào :itemAccor.onclick = () => itemAccor.classList.toggle("active")=,> sẽ toogle class cho thằng con đó.Logic chẳng phải như vậy sao ?
@DoanhPV anh ơi cái RemoteViews đó nếu gọi ở onReceice thì trên onUpdate có cần để không
Có cách nào debug trực tiếp trên IDE như native ko bạn ?
mình được biết hàm này là auto contraint layout khi mà mình miss, và thường được để là false để mình contraint layout theo ý mình muốn.