THẢO LUẬN

Avatar
đã bình luận cho bài viết
Jun 13th, 2021 3:42 a.m.
0
Jun 12th, 2021 7:45 p.m.

Mình thường gom chung 2 cái validation create và update lại làm 1. Thường 2 cái này chỉ khác cái unique nên vd mình muốn unique 'name' thì như sau: 'name' => 'required|string|max:255|unique:categories,name,' . $this->id,

Nó sẽ tự hiểu khi create thì nó check unique với tất cả bản ghi, còn update thì nó bỏ qua check id của bản ghi chính nó. Mình hay dùng vậy nên gom lại thành 1 PostRequest

0

@quyphan nhưng mình thấy một số contract tạo trước đó thì ko gặp lỗi nhỉ, phải chăng liên quan đến tên contract ^^,vì mình copy cảu họ trên bsc về sửa.

0
Jun 12th, 2021 3:58 p.m.

Chào anh, anh cho hỏi là bây giờ em cần tính tổng cột Price, và hiển thị tổng ở dưới cùng của cột Price (giống như phần tổng số bản ghi, khi tìm nó cũng chỉ tính tổng số đã tìm được thôi), thì sẽ phải làm như thế nào?

Cảm ơn anh!

0

Theo mình xem qua thì cái này làm bằng Google sheet - Excel, chưa hiểu bạn muốn làm gì nhỉ? Cần lấy thông tin từ sheet này đi đâu đó, hay là muốn giáo viên/hs điền form rồi fill vào đây?

0

@yendevy N2, AWS, FE vân vân mây mây :v E còn không có cái nào :v

0
Jun 12th, 2021 12:40 p.m.

Thanks for the post

0
Jun 12th, 2021 10:43 a.m.

hì cảm ơn bạn, đúng rồi theo mình thấy neo4j còn khá nhiều thứ cần khai thác

0
Jun 12th, 2021 10:38 a.m.

Nội dung khá thú vị ^^ mà cái neo4j này cũng tiềm năng quá nhỉ?

+1
Jun 12th, 2021 10:00 a.m.

Bạn làm giúp mình bài này với ạ: Tìm hiểu ngôn ngữ Prolog và thực hiện các đề tài sau: Bốc diêm với giải thuật Minimax Cảm ơn bạn nhiều!

0

Chờ sớm có bài viết tiếp theo của anh. Cám ơn anh vì bài viết chất lượng.

0

@nghiepit cái này do trình duyệt edge nó sẽ lỗi mình để ul li vẫn lỗi, nhưng mình đổi class ở ul thành 1 class="social__list-a thêm 1 kí tự bật kì thì dc

0

đệ tự này cũng đỉnh quá c k dám nhận đâu 🤠😆

+1

@haialison Tài liệu thì mình k có vì trước toàn bộ tài liệu là mình ôn trên web học tập của công ty mình. b lên udamy tìm mua 1 khóa học trên đấy rồi học cũng đc b ạ https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c02/ mình thấy có khóa này đang đc đánh giá cao

0
Jun 12th, 2021 4:38 a.m.

Ok bạn,. Database đã support sẵn lock, ví dụ như lock trên row, lock trên table... khi một record đc insert/update. Một cách nữa để xử lý vấn đề này đó là sử dụng versioning cho row, nếu đã dùng hibernate thì nó có support điều này. Đó là các cơ chế để đảm bảo không có race-condition trong database.

Về ví dụ của bạn, mình chưa rõ câu hỏi lắm, bạn muốn hỏi về trong 0,5s có 100 async request, mỗi request thực hiện cộng giá trị 1 thêm 1. Với 100 request giá trị là 100, 10k request giá trị là 10k?

Trước hết cần xác định mục tiêu của giá trị đó cần phải như thế nào. Có cần đảm bảo response ngay không, cần update kịp thời ngay lập tức không hay chỉ là giá trị mang tính monitoring, theo dõi các kiểu.

Nếu chỉ là giá trị monitoring, k cần realtime thì có thể đẩy nó sang cache, và có window để cập nhật. Ví dụ 100 request hoặc 10s tùy đkiện nào đến trước. Nếu cần realtime, bạn có 2 phương pháp, 1 sử dụng lock dưới tầng db, 2 async request response về client trước, sau đó thực hiện sync đến database để đảm bảo client đc giải phóng. Việc update mình sẽ handle sau đó với cơ chế mutex: có rất nhiều cách như lock, sync, dùng atomic variable... các bài trước mình có đề cập đến.

0

Đã xem Codesanbox của bạn, và không thấy vấn đề gì như bạn đã mô tả cả.

0
Jun 12th, 2021 3:55 a.m.

Mình có một số góp ý với bạn như sau:

  1. REST mà chia ra mỗi action 1 Controller là quá rườm rà, phân tán không cần thiết. Nên gộp chung vào 1 Controller, vd MaterialController
  2. Đã dùng Laravel thì đừng bao giờ có new Class trong code, Service Provider để làm gì? Sau cần kế thừa class thì có mà to tay.
  3. MaterialPostController.php: dùng materialRepository nào là do MaterialPostApplicationService quyết định, không phải do Controller.
  4. Việc validate dữ liệu nên làm như Laravel, thực hiện ngay từ trước khi vào Controller, thực hiện validate khi đã vào tận MaterialPostApplicationService mình nghĩ không nên.
  5. MaterialPostApplicationService.php: việc bắt đầu DB::beginTransaction() trước cả materialRepository->create mình nghĩ là vô nghĩa vì chưa xử lý gì DB cả. Hơn nữa nếu chỉ có create thì mình nghĩ cần gì beginTransaction với try catch, khác gì nhau đâu?
  6. MaterialPostCommand.php nên cho truyền vào array có key value, rồi bên trong set get gì tùy bạn. Có tầm 10 cái thuộc tính mà set get ở ngoài như bạn mình thấy mệt quá.
  7. ...
0
Jun 11th, 2021 11:38 p.m.

Tác giả có thể viết 1 bài về đồng bộ request trong database được k. Ví dụ spring boot mỗi request là bất đồng bộ. Các request đó đều trỏ update 1 object (user có.1 trường giá trị là 1). Mỗi request mất 0.5 Trong 0.5s đó có 100 request như thế làm thế nào ra đc kết quả 100 Nếu nhân 100 user request 100 lần là 10k request làm sao đảm bảo thời gian và kết quả đúng nhất

0

Bài viết rất hay. Thank you!!!

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jun 11th, 2021 3:05 p.m.

@luongvanphuc post kinh nghiêm đi bạn ơi

0
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í