THẢO LUẬN

Avatar
đã bình luận cho bài viết
thg 6 13, 2018 2:41 SA

Bạn có thể làm một bài viết hướng dẫn rewrite url cho thân thiện được không? Ví dụ Ý tưởng là trong db sẽ có bảng danh mục được liên kết với bảng sản phẩm. Thì khi đó url nên được rewrite cho thân thiện gồm tên sản phẩm.

Vì dụ: mydomain.com/danh-muc-1/ten-san-pham-abc-id188

mydomain.com/danh-muc--thu-2/ten-san-pham-def-id199

Trong trường hợp này thì mình muốn nếu url như trên, thì sẽ đều gọi vào một action để sử lý, chứ không phải mỗi danh mục mình lại phải tạo thêm 1 action vì các danh mục là động. Và làm thế nào có thể xác định được danh muc các danh mục sau khi đã rewrite url.

Ví dự: làm sao biết danh-muc-1 nó là một bản ghi có id = 9 và có tên là danh mục... Mình cũng nghĩ rằng sẽ select trong bảng danhmuc để lấy ra bản ghi có tên giống "danh muc" nhưng nhỡ có thêm một danh mục trùng tên, kiểu như "đánh mực" thì khi đó sẽ sai.

Thanks.

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 6 13, 2018 2:06 SA

sử dụng maven nhằm đảm bảo bạn có thể thay đổi nâng cấp version của các library dễ dàng hơn, và supprort bạn nhiều trong việc buiid đóng gói projects.

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 6 13, 2018 2:04 SA

Hi bạn, việc bạn update lên spring 5.x mà vẫn còn sử dụng các schemal của spring cũ là không đảm bảo sự tương thíc, các lỗi bạn gặp phải do các thư viện của spring 5.x đã thay đổi nhiều rồi., bạn cần làm khá nhiều thứ để có thể resolved được lỗi trên, và lỗi "nested" là do container của bạn không khởi tạo được. bạn giải quyết việc nâng cấp version mà chưa có investigate về các thư viện bạn đang dùng là thư viện gì?. sự khác nhau của sping 3.x và 5.x quả thật khác rất nhiều. mình nghĩ trước khi làm gì thì bạn nên nghiên cứu sự khác nhau của chúng trước khi thực hiện. còn vs cách làm hiện tại của bạn mình ko thể tìm ra nguyên nhân dc,

và tập chung đến phần AspectJ của spring 3.x và 5.x có gì khác nhau.

+1

Chào bạn, vấn đề bạn hỏi nằm ở khía cạnh tổ chức resource trong project của dự án. Ở bài viết này mình đang sử dụng kotlin để tạo một server api, nếu quan tâm đến Kotlin multiplatform bạn có thể tham khảo: https://github.com/wojta/hello-kotlin-multiplatform về cách tổ chức code.

0
thg 6 13, 2018 12:20 SA

@minhtuancnttk39 Về Polymorphic Relations, hay dịch ra là quan hệ đa hình, em có thể tham khảo một vài bài viết dưới đây trên Viblo, trong đó có những ví dụ cụ thể sẽ giúp em hiểu rõ hơn 😄

Còn làm thế nào để check xem thử 1 user đã like comment, hoặc post hay chưa?, thì rất đơn giản, em check xem có record trong bảng likes hay chưa.

Ví dụ check xem user có id là 3 đã like comment có id là 4hay chưa thì em chỉ cần query kiểu như sau

select * from likes where user_id = 3 and likeable_id = 4 and likeable_type = 'App\Model\Comment' limit 1;

nếu có record thì chứng tỏ like rồi, còn chưa có thì tức là chưa like 😄 Bởi khi người dùng like, em sẽ tạo thêm 1 record với nội dung kiểu như ở trên, còn ghi người dùng unlike, em sẽ xoá record đấy đi 😄

+1
thg 6 12, 2018 8:09 CH

E hiểu ý a ạ... nhưng e chưa tìm hiểu được Polymorphic Relations đó ạ? A có thể nói cụ thể hơn xíu được không ạ?

Thêm 1 ý là e chưa biết cách check xem thử 1 user đã like comment, hoặc post hay chưa ạ?...

0
thg 6 12, 2018 7:55 CH

Cảm ơn Hùng. Một bài viết mẫu mực và tâm huyết!

0

Bài viết này là của tác giả Phạm Huy Hoàng đăng trên Blog Toidicodedao. Bạn nên ghi rõ nguồn cho bài viết này: https://toidicodedao.com/2015/03/24/solid-la-gi-ap-dung-cac-nguyen-ly-solid-de-tro-thanh-lap-trinh-vien-code-cung/

0

thật sự sorry các bạn, vì thời gian vừa rồi mình phải tập trung cho công việc của bản thân nên việc chia sẻ của mình bị chậm lại, tuần này bàn giao xong việc thì mình sẽ tiếp tục ra các bài mới nhé. Cám ơn bạn đã theo dõi 😄

0
thg 6 12, 2018 3:26 CH

cảm ơn bạn quan tâm, theo suy luận thì nếu truy vấn đến CSDL gặp lỗi thì phải do mysql rồi

0

Chào thớt, mấy bài trước tốc độ ra bài khá nhanh mà bài sau hơi lâu nhỉ 😄 Ko biết đã kết thúc seri này chưa 😃

+1

Cảm ơn vì bài rất hay, trình bày dễ hiểu, đẹp! Gợi ý thêm chuyển đổi từ ERM sang thiết kế cơ sở dữ liệu(bảng)

0

Chuẩn. Mặc dù mình làm dev 😂

0

Thực ra thì kết hợp với Google docs (TestListCategoryAbbott) với ví dụ của bạn thì mình mới hiểu. Theo mình thì bạn nên nêu rõ, bạn đang sử dụng api gì của Google (cũ - legacy hay mới - v1), sử dụng loại protocal nào (PHP hay XMPP - nếu được thì cho biết thêm XMPP khác gì với PHP), để người đọc tiện theo dõi, cũng như là có được cái nhìn tổng thể. Trong đoạn code của bạn thì ghi chú có lẽ hơi ít, nhưng đoán + đọc tài liệu miếng thì cũng hiểu được. Dù sao đi nữa, cũng cám ơn bạn nhiều 😃.

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 6 12, 2018 8:45 SA

Cảm ơn bác đã trả lời câu hỏi của em ạ !

  • Về mục tiêu là em đang investigate mức độ khả thi khi sử dụng JDK 10 để build project hiện tại. Trong quá trình build thì thì em gặp lỗi như sau ạ : Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor#0': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.aop.aspectj.AspectJPointcutAdvisor]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.aspectj.util.LangUtil. Em có đọc thì thấy một số nói là Java 10 không tương thích với Spring 3.x nên em đã Migration lên bản mới nhất là 5.x nhưng vẫn xuất hiện các lỗi liên quan tới version => conflict vs nested.
  • Về việc quản lý dependency : Hiện tại project của em đang sử dụng eclipse-userlibraries để quản lí các lib Jar file và build bằng Eclipse luôn ạ. Bác có suggestion gì giúp em việc này với ạ ?
  • Ngoài việc sử dụng các Lib Jar thì bên em còn nhúng cả các schema từ web như hình ạ ? Nếu em chuyển sang build bằng maven thì có control được thư viện nhúng kiểu này không ạ ?
  • Screenshot_4.png
+1
thg 6 12, 2018 7:44 SA

bài viết hay quá. Cám ơn

+1

tks bạn nhiều

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 6 12, 2018 4:50 SA

@huukimit , ok ==)) mình hiểu rồi - cám ơn bạn nha

0
thg 6 12, 2018 4:30 SA

@thanh_tuan Ừ nhỉ, chắc trưa rồi đang đói nên quên mất tiêu câu hỏi của bạn. Đơn giản là bạn có nhiều file main khác nhau chẳng hạn một file main được dành cho Admin area, Frontend area 1, Front area 2... Nhiều modules được dùng chung giữa chúng (tách thành các partial), nhưng cũng có nhiều module lại chỉ dùng cho 1 vài file main.

Khi đó có thể đặt chung tất cả trong một folder, setup gulp để compile toàn bộ các file sass bên trong folder đấy. Bất cứ khi nào bạn thay đổi nội dung của một module thì tất cả các file được build cho các area kia đều được update lại. :v

Và khi đó, mỗi area chỉ chứa các module mà nó thực sự cần thiết. Những module giống nhau thì style giữa các module cũng được giống nhau: Fonts, colors...

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 6 12, 2018 4:17 SA

@huukimit tks bạn nhiều, mà hình như bạn quên chưa trả lời cho câu hỏi của mình mà 😄 :

trường hợp nào mình cần compile cả 1 folder vậy (?) - trong khi đó mình nghĩ tất cả đều dồn chung vào file main.scss - thì ta chỉ cần biên dịch độc file này thôi PS : Srr vì mình là thành viên mới nên không Upvote được cho mỗi câu trả lời của bạn !

+1
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí