Hay quá anh ơi, trước e cũng chạy CI thì máy ảo trên git ko nhận đc db khi chạy test nên e phải chuyển về connect h2. Nhờ a mà e biết có thể làm như thế này <3
@TuanNguyen-ie2zm13 сағат бұрын
Anh có định hướng dẫn xây dựng Outbox pattern không? Kết hợp cả CDC như Debezium nữa vì dù sao chuỗi này cũng đã sử dụng Kafka để làm Message Broker. Em thấy đấy là chủ đề rất hay nhưng ít clip hướng dẫn quá, đặc biệt là clip tiếng việt. Outbox truyền thống không đạt đc realtime.
@DevteriaChannel6 сағат бұрын
Outbox thì chưa nhưng Debezium thì có nằm trong kế hoạch của anh, chưa biết khi nào có thời gian để triển khai thôi :))
@tuansusu18 сағат бұрын
Bài giảng hay quá, thanks thầy.
@PhongNguyen-uc7kf23 сағат бұрын
Anh ơi khi em thêm Set<String> roles vào User thì gặp lỗi 'Basic' attribute type should not be a container, sửa lỗi này như nào vậy ạ
@DevteriaChannel22 сағат бұрын
Em chụp hình lỗi gửi lên group facebook devteria đi e
@TruongGiang-hm1qdКүн бұрын
cho em xin cái biểu đồ java web framework như trong video với ạ
@DevteriaChannelКүн бұрын
Anh có để cái link dưới description của video đó em
@TruongGiang-hm1qdКүн бұрын
@@DevteriaChannel em cảm ơn ạ
@hieptranhomnayКүн бұрын
Anh có thể làm video về áp dụng mô hình distributed transaction như là saga được không ạ
@DevteriaChannelКүн бұрын
Anh sẽ cân nhắc một series về chủ đề này, thanks e
@Rin-zv7zvКүн бұрын
Trễ...
@HoangLe-hd4hw2 күн бұрын
Video nào cũng giải thích rất kỹ và chi tiết, có tâm quá đi. cám ơn anh nhiều nhá
@anhucle20222 күн бұрын
a ơi, khi nào ra video xử lý việc duplicate code ở dto ở các service call vs nhau v ạ. E xem thì đa phần họ sẽ tạo project riêng chuyển implment class để share cho nhau nhưng vs điều kiện phải chung 1 repo, còn với dạng mỗi service nằm trong 1 repo riêng thì ko đc ạ.
@DevteriaChannelКүн бұрын
Có nhiều cách khác nhau, để anh xem cách nào thuận tiện để các bạn dễ follow anh sẽ coa video theo hướng đó.
@tratranthanh66592 күн бұрын
e theo từ video đầu tiên đến nay , nhưng videos này ah tự dưng ko nói không rắng ném ra thêm 2 class CustomJwtDecoder( có nhắc tới sơ ) và JwtAuthenticationEntryPoin làm người theo học không thể theo kịp, và github thì không phải là nội dung của video này luôn ....zzz hầy
@DevteriaChannel2 күн бұрын
Anh đã check lại branch, nó đang đúng với nội dung video nhé. Còn về CuútomJwtDecoder anh nghĩ anh đã giải thích khá kỹ. Anh cũng nhận thấy việc tạo trước class như vậy cũng hơi khó follow nên các series sau anh luôn có 2 branch cho mỗi video, bắt đầu video sẽ có một branch và kết thúc video sẽ có một branch. Anyway, thanks em đã góp ý.
@XuanNguyen-gp6yn3 күн бұрын
Em sử dụng jdk22 thì phải làm thế nào ạ
@DevteriaChannel2 күн бұрын
Thì em chọn docker image với jdk 22. Tuy nhiên không nên dùng JDK 22 nhé. Khi triển khai ứng dụng thực tế chỉ sử dụng các phiên bản JDK lts như 8,11,17 và mới nhất là 21
@3mallrice3 күн бұрын
hello anh, video hay quá. Anh cho em hỏi khi nào thì nên dùng @Autowired khi nào dùng constructor vậy ạ
@DevteriaChannel2 күн бұрын
Khi nào không thể inject bằng constrcutor thì mới dùng @Autowired thôi em
@phongvo81563 күн бұрын
Devteria làm tutorials rất có tâm. Mong Devteria làm thêm về testing với cấu trúc microservices. Cảm ơn trước.
@HoangLe-hd4hw3 күн бұрын
Cám ơn nhiều ạ, học qua mấy video, bạn dạy rất dễ hiểu, thực tế, đi theo cấu trúc rõ ràng. Cám ơn nhiều
@trungtrung98763 күн бұрын
em đang muốn biết thêm về kiến trúc trúc dự án hay cách đặt cách layer cho hợp lí, anh có thể cho em biết vài keyword liên quan để tìm dễ hơn đc ko anh
@DevteriaChannel3 күн бұрын
Em có thể đọc về multilayer architecture. Trong các video anh làm đều theo kiến trúc này Tiếp theo em có thể tìm đọc về System design để tìm hiểu cách các hệ thống được thiết kế như thế nào.
@lucbuitien85923 күн бұрын
cám ơn a đã chia sẻ
@HoaiNam10TH3 күн бұрын
cái đoạn cuối cùng của if else anh format nó ra ngày đó anh. chổ đó anh đã dùng ngày giờ local trên máy chủ. khi triển khai web hiển thị trên nhiều quốc gia với múi giờ khác nhau nó sẽ hiển thị không đúng. nó cứ hiển thị ngày giờ mà đã cài đặt trên máy chủ.trong khi đó mỗi quốc gia thuộc từng múi giờ khác nhau, điều này làm sai cách hiển thị ngày giờ trên web
@DevteriaChannel3 күн бұрын
Chính xác, concern của em hoàn toàn đúng. Xử lý vấn đề timezone là một chủ đề quan trọng, anh sẽ chia sẻ ở một video khác. Thanks e.
@dươngmạnh-h9u4 күн бұрын
hello sếp
@d09cn34 күн бұрын
Em sử dụng keycloak để login tài khoản Ldap và có 1 hệ thống quản lý phân quyền riêng nên trong acesstoken ko có chứa roles. Vậy có cách nào hay để check authorize ko a? Hiện tại, e tính load nhóm quyền của user khi login và lưu cache. Mỗi khi gọi api sẽ check nhóm quyền của user trong cache, nhưng chưa biết sử dụng PreAuthorize như nào trong trường hợp này. Nhờ a chỉ giúp. Cảm ơn anh.
@DevteriaChannel3 күн бұрын
Để leverage được các Annotation như PreAuthorize của Spring thì em cần customize chỗ JwtDecoder để add các Authority ở step đó. Em sẽ thấy cách làm ở video tiếp theo trong series KeyCloak và có thể follow theo nếu thấy phù hợp
@d09cn33 күн бұрын
@@DevteriaChannel em cũng đang theo dõi series keycloak. mong video ra sớm ạ
@nguyenhungtien84084 күн бұрын
Em đã biết spring boot cơ bản, em skip qua khoá Spring Boot cơ bản của anh thì có học được khoá này không ạ? Nếu cần bổ sung thì nên xem những phần nào của khoá trước để học khoá này ạ? Em cảm ơn anh
@DevteriaChannel4 күн бұрын
Em nên học khoá cơ bản trước để nắm bắt các khái niệm về Authentication và Authorization trước thì dễ follow hơn. Còn nếu em đã vững về Auth rồi thì có thể skip
@augustinegoat4 күн бұрын
Khi em thực hiện với endpoint là để lấy ra token qua port của gateway thì chúng báo lỗi như này An expected CSRF token cannot be found. Nếu mà em đi config bên api-gateway rồi lại decode và thực hiện 1 số phần giống như bên SecurityConfig của identity-service thì lại bì trùng lặp em đang không biết resolve thế nào. Em confused quá ạ.
@DevteriaChannel4 күн бұрын
Do em chưa config tắt CSRF đi đó, em check lại nhé
@FUNNYCODE4 күн бұрын
Rất biết ơn anh đã dạy khoá học
@vyngo75423 күн бұрын
bạn ơi cho mình hỏi xíu ạ
@FUNNYCODE3 күн бұрын
@@vyngo7542 hỏi đi a
@thanhuc84744 күн бұрын
bạn ơi bạn cho mình hỏi cái token thì lấy ở đâu vậy nhỉ
@DevteriaChannel4 күн бұрын
Bạn xem lại các video trc nhé. Có Identity service để lấy token
@HieuTran-nb3ml4 күн бұрын
anh có thể cho em xin ảnh bookteria đc ko anh
@DevteriaChannel3 күн бұрын
Diagram anh có để ở description của video lộ trình em có thể tải về ở đấy.
@dươngmạnh-h9u4 күн бұрын
cái chỗ mà a log ra , e ko thấy a lấy cái thông tin date ở chỗ nào nhỉ
@dươngmạnh-h9u4 күн бұрын
a ơi a hướng dẫn 1 video debug đi
@komaiptit57925 күн бұрын
Anh chị cho em hỏi khi em cấu hình security oauth2 để phân quyền như video thì lúc đầu vẫn gọi API đc bth, nhưng 1 thời gian sau khi vô API đều bị lỗi 401 là sao v ạ
@DevteriaChannel3 күн бұрын
Có thể là token của em đã hết hạn, em cần lấy token mới để request
@komaiptit57923 күн бұрын
@@DevteriaChannel Dạ em tets rồi thì đến cả url login e cũng ko sài đc dù e đã permiAll ạ, e bỏ cái xác thực phân quyền oauth2 đi thì lại đc ạ
@komaiptit57923 күн бұрын
em ko biết lỗi gì, mong a giải đáp ạ
@DevteriaChannel2 күн бұрын
@@komaiptit5792 em chụp hình lỗi gửi lên group facebook devteria nhé
@kiettran58555 күн бұрын
Nếu mà mình getAll lên rồi mới phân trang với mình đặt limit dưới database rồi mình get lên thì cái nào tối ưu hơn anh
@DevteriaChannel3 күн бұрын
Không ai getAll lên rồi phân trang cả vig như thế nó không hiệu quả và nguy hiểm cho hệ thống. Thử tưởng tượng em có danh sách hàng triệu record
@khanhduynguyen71035 күн бұрын
Mặc định: Spring Security sử dụng sub để xác định tên người dùng và scope để xác định quyền của người dùng từ JWT. đko a
@DevteriaChannel5 күн бұрын
Đúng rồi em
@dngngg_5 күн бұрын
cho em hỏi là cái signerKey mình lấy ở đâu hay tự gen vậy ạ ?
@DevteriaChannel5 күн бұрын
Mình có thể tự gen hoặc dùng tool, em xem lại các video trước anh có hướng dẫn cách gen
@khanhduynguyen71035 күн бұрын
authentication.getAuthorities().forEach(grantedAuthority -> log.info(grantedAuthority.getAuthority())); chỗ này là spring tự động gắn những role trong scope ở token vào hả anh, v là set sẵn cứ scope là sẽ gắn vào hay sao ạ, vì scope là mình tự đặt tên
@tranthanhhuy23266 күн бұрын
A cho em hỏi là Bcrypt không convert password đã mã hóa thành origin password được thì cơ chế nó matching để so sánh 2 password như thế nào vậy ạ?
@DevteriaChannel5 күн бұрын
Vì Bcrypt là thuật toán hash. Đặc điểm của hash là với đầu vào là x thì hash(x) luôn luôn = y. ví dụ pass của em là a, ta có hash(a) = c Mật khẩu cần xác thực là b thì nếu hash(b) = c thì mật khẩu đó đúng.
@ĐứcHuyHoàngLê6 күн бұрын
wsl update failed: update failed: updating wsl: exit code: 4294967295: running WSL command wsl.exe em bị lỗi này sau khi cài docker ạ. Em có xoá đi tải lại r mà vẫn bị ạ
@DungNgo-bu3op6 күн бұрын
Hi anh, không biết anh có mở nhóm thảo luận hay thắc mắc về Spring boot mỗi khi gặp khó khăn trong Java không ạ.
@DevteriaChannel6 күн бұрын
Có group devteria trên Facebook đó em, có vấn đề gì em có thể post lên đấy