@just-pthai-it à, a dùng file entrypoint-sh mục đích là để tạo user thường (non-root user), vì image mongo nó ko có support tạo non-root user qua biến môi trường. đơn giản vậy thôi
không như các image của db khác, ví dụ mysql, nó support mình luôn thì ko cần file entrypoint.sh j cả
@maitrungduc1410 vâng ý e là mongo hay các db khác thì thấy có biến môi trường thì sẽ tạo user tương ứng. Còn file entrypoint-sh của a cũng tạo user từ biến môi trường đó thì e ko biết 2 tư tưởng khác nhau ở chỗ nào ấy ạ. Phải chăng là cách của a thì user được tạo chỉ được thao tác với db cụ thể nên sẽ bảo mật hơn ạ?
Uh đó là nếu bạn cấu hình các tài khoản đó có xác thực qua SMS. Có nhiều kiểu tài khoản khác chỉ có 2FA bằng Authenticator, không có dự phòng SMS ấy bạn.
@cakiem8x Đấy là nếu bạn chủ động chuyển đổi thiết bị thì làm export, còn nếu ko back up định kỳ, lúc bị mất máy hoặc máy rơi xuống nước hỏng chẳng hạn thì là tịt phải ko 🫠
axios.interceptors.request.use(onRequestSuccess);
đã gặp lỗi
"Argument of type 'AxiosRequestConfig<any>' is not assignable to parameter of type '(value: AxiosResponse<any, any>) => AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'.
Type 'AxiosRequestConfig<any>' provides no match for the signature '(value: AxiosResponse<any, any>): AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'."
Cho e hỏi là bình thường nếu mình set biến môi trường của root user và user thường thì db nó sẽ tự dộng tạo ra các user tương ứng. Và bước authentication của a trên cũng là để tạo ra user theo thông tin ở biến môi trường. Vậy thì 2 tư tưởng có gì khác nhau vậy ạ?
Vòng lặp thứ 2 khi thực hiện scan join table, chỉ dừng lại khi column đó chứa giá trị unique. Nếu không nó sẽ không dừng lại khi tìm thấy kết quả mà sẽ scan toàn bộ join table.
Đoạn này e thấy khá khó hiểu, ví dụ join key là "ABC", trong bảng Level có 3 key này, thì nó sẽ lấy cái first match rồi return hay sao?
gần đây dự án mình chuyên qua dùng mybatis kết hợp với 1 số thư viện của mấy anh dev tàu , nói chung dùng khá giống sping jpa nhưng custom lại dễ hơn , có thể viết sql phức tạp trong file xml rất trực quan , ko phải nghĩ ngợi nhiều về mấy cái cấu hình hibernate , lazy load với @transaction này, thực sự cái jpa giúp phát triển dự án nhanh hơn nhưng để làm chuyên sâu lại đòi hỏi càng phải hiểu kỹ hơn về nó.
THẢO LUẬN
@maitrungduc1410 à vâng e cảm ơn ạ. E ko để ý mongo nên nghĩ là nó cũng tạo đc non-root user như các db khác.
@just-pthai-it à, a dùng file entrypoint-sh mục đích là để tạo user thường (non-root user), vì image mongo nó ko có support tạo non-root user qua biến môi trường. đơn giản vậy thôi
không như các image của db khác, ví dụ mysql, nó support mình luôn thì ko cần file entrypoint.sh j cả
@maitrungduc1410 vâng ý e là mongo hay các db khác thì thấy có biến môi trường thì sẽ tạo user tương ứng. Còn file entrypoint-sh của a cũng tạo user từ biến môi trường đó thì e ko biết 2 tư tưởng khác nhau ở chỗ nào ấy ạ. Phải chăng là cách của a thì user được tạo chỉ được thao tác với db cụ thể nên sẽ bảo mật hơn ạ?
là sao e nhỉ? a ko hiểu ý e
)
tư tưởng là tạo biến user từ biến môi trường.
User
rootluôn được tạo sẵn, còn user thường thì nếu mongo nó thấy có biến môi trường thì nó mới tạo thôikhả năng là ban đầu e chạy mongo ko có pass, hoặc pass khác, sau đó e thêm pass/đổi pass mà vẫn mount cùng volume,
e phải destroy volume cũ đi nhé.
nếu e đang dùng windows thì a đã note ở đây nhé: https://viblo.asia/p/dockerize-project-nodejs-mongodb-redis-passport-4P856NXW5Y3#_chay-project-11
(xoá volume đi chạy lại)
Uh đó là nếu bạn cấu hình các tài khoản đó có xác thực qua SMS. Có nhiều kiểu tài khoản khác chỉ có 2FA bằng Authenticator, không có dự phòng SMS ấy bạn.
@cakiem8x Đấy là nếu bạn chủ động chuyển đổi thiết bị thì làm export, còn nếu ko back up định kỳ, lúc bị mất máy hoặc máy rơi xuống nước hỏng chẳng hạn thì là tịt phải ko 🫠
axios.interceptors.request.use(onRequestSuccess); đã gặp lỗi "Argument of type 'AxiosRequestConfig<any>' is not assignable to parameter of type '(value: AxiosResponse<any, any>) => AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'. Type 'AxiosRequestConfig<any>' provides no match for the signature '(value: AxiosResponse<any, any>): AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'."
Cho e hỏi là bình thường nếu mình set biến môi trường của root user và user thường thì db nó sẽ tự dộng tạo ra các user tương ứng. Và bước authentication của a trên cũng là để tạo ra user theo thông tin ở biến môi trường. Vậy thì 2 tư tưởng có gì khác nhau vậy ạ?
Bạn có trao đổi mình qua FB này cũng dc https://www.facebook.com/hoanggia.nguyen.12935/
@anhnguyenkt94 Mình đã gửi tài liệu qua mail rồi nhé. Chúc bạn thi tốt!
Anh ơi, không biết là ở
react-router-domv6 có cách nào chặn chuyển trang tưởng tự như cái prompt ởreact-router-domv5 này không anh ha?Em tìm hoài chưa thấy, mà dự án đang dùng v6 nên cũng không hạ xuống v5 được.
+1 vote
NetBeans có được sử dụng nhiều trong doanh nghiệp nữa không ạ? Mình thấy đa phần đang sử dụng IntelliJ hoặc Eclipse (cho dự án cũ)
Bài viết hay và chi tiết quá, cảm ơn bạn
Đoạn này e thấy khá khó hiểu, ví dụ join key là "ABC", trong bảng Level có 3 key này, thì nó sẽ lấy cái first match rồi return hay sao?
gần đây dự án mình chuyên qua dùng mybatis kết hợp với 1 số thư viện của mấy anh dev tàu , nói chung dùng khá giống sping jpa nhưng custom lại dễ hơn , có thể viết sql phức tạp trong file xml rất trực quan , ko phải nghĩ ngợi nhiều về mấy cái cấu hình hibernate , lazy load với @transaction này, thực sự cái jpa giúp phát triển dự án nhanh hơn nhưng để làm chuyên sâu lại đòi hỏi càng phải hiểu kỹ hơn về nó.
@maitrungduc1410 curl đến và bị treo thì kb có miss cái gì khi mà setup cho connect với service bên ngoài local không nhỉ a
@nmtrang có những ng như này bảo sao, kb đọc có hiểu gì k hay chỉ nhìn thấy công thức