@maitrungduc1410 hiện tại thì em cũng chưa biết cách để đẩy lên CGP.
Google cloud hình như không hỗ trợ docker compose, mỗi service nó chỉ chạy dựa trên một docker image. Em đang muốn chỉ chạy 1 service của Google cloud thôi nên đang tìm hiểu cách để đưa mysql + python vào chung 1 dockerfile (multi - stage build) nhưng gặp lỗi không connect được database: DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (99)
Mục đích của các loại mã như url coding, base64,... ko phải để TIẾT KIỆM đường truyền. Url coding để truyền các ký tự không gặp vấn đề (trouble) khi thông dịch (interpret) các tham số tại phía nhận. Nếu ko có url coding, có thể phát sinh vấn đề như tham số bị ngắt bởi space character, bị thoát bởi các ký tự đặc biệt (escape characters) .. Việc tiết kiệm đường truyền là nhiệm vụ của 1 loại mã khác: mã nguồn - source coding
2/ Cryptography
Thực tế thì mã hóa công khai ít khi được sử dụng để mã hóa dữ liệu đường truyền vì 1 lý do tốc độ mã và giải mã chậm hơn mã hóa đối xứng rất nhiều (bài viết gọi nó là mã hóa thông thường - có vẻ không được offical cho lắm). Do vậy mã công khai chủ yếu được dùng cho các quá trình trao đổi khóa hay tạo chữ ký số (tránh bị giải mạo hay thay đổi nội dung bản tin). Điều này thể hiện rõ tại các chứng thư (certificate) trong ssl hay tls.
Để truyền dữ liệu lớn qua các phương thức như web, mã đối xứng sẽ được dùng nhiều hơn với khóa được tạo ra và trao đổi giữa 2 bên tại thời điểm bắt tay gọi là khóa phiên. Đối với các đường truyền không đòi hỏi dung lượng lớn, như qua ssh, khóa công khai có thể được được dùng với private key được lưu trữ dưới dạng local file và thiết lập câc quyền đặc biệt cho file đó.
Nhắc đến mã đối xứng mà bác bỏ qua AES, nhắc đến hash mà bác bỏ qua SHA thì quả là hơi sót.
Cảm ơn bác chủ thớt đã chia sẻ!
Hi anh, với việc đưa database như mysql vào trong docker, nếu ta đã deploy image docker đó lên các nền tảng như google cloud hoặc aws thì làm thế nào để lấy được dữ liệu mysql đã được thay đổi (trong lúc người dùng sử dụng) ạ?
Chào @ThinhDang, port 5005 là dành để lắng nghe cho việc debug, còn challenge mở tại port 8080 nhé! Bởi vậy bạn không thể truy cập port 5005 qua browser được 😅
Chủ bài viết chém à! Đọc thấy thư viện này n dùng Batch Insert mà đâu phải loop rồi insert đâu. Thấy lib cũng 240 stars. Làm gì có ai đi viết thư viện cho người khác dùng mà lại viết như thế?
ý mình là design pattern tên của nó chả liên quan gì coding tech cả, kiểu general lang solution cho 1 problem cụ thể, không thể hiểu như abstract class được, khác nhau ấy
Abstract Factory là 1 design pattern rất nổi tiếng trong Gang of 4 book, tên của nó bạn có thể dễ dàng tìm vì nó đều có lịch sử hết, mẫu này nếu mà xài thì sẽ là 3 interfaces, 5 classes (bao gồm 2 abstracts classes) và 1 thằng code client demo sẽ sử dụng 3 thằng interfaces. Chỉ có 2 dòng product thôi mà đã 9 cục rồi, code khá nhiều đấy
THẢO LUẬN
@maitrungduc1410 hiện tại thì em cũng chưa biết cách để đẩy lên CGP.
Google cloud hình như không hỗ trợ docker compose, mỗi service nó chỉ chạy dựa trên một docker image. Em đang muốn chỉ chạy 1 service của Google cloud thôi nên đang tìm hiểu cách để đưa mysql + python vào chung 1 dockerfile (multi - stage build) nhưng gặp lỗi không connect được database:
DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (99)Thì lúc đó key = undefined chứ nhỉ
Cảm ơn
--- Ý kiến cá nhân ----
1/ encoding và decoding:
2/ Cryptography
Thực tế thì mã hóa công khai ít khi được sử dụng để mã hóa dữ liệu đường truyền vì 1 lý do tốc độ mã và giải mã chậm hơn mã hóa đối xứng rất nhiều (bài viết gọi nó là mã hóa thông thường - có vẻ không được offical cho lắm). Do vậy mã công khai chủ yếu được dùng cho các quá trình trao đổi khóa hay tạo chữ ký số (tránh bị giải mạo hay thay đổi nội dung bản tin). Điều này thể hiện rõ tại các chứng thư (certificate) trong ssl hay tls. Để truyền dữ liệu lớn qua các phương thức như web, mã đối xứng sẽ được dùng nhiều hơn với khóa được tạo ra và trao đổi giữa 2 bên tại thời điểm bắt tay gọi là khóa phiên. Đối với các đường truyền không đòi hỏi dung lượng lớn, như qua ssh, khóa công khai có thể được được dùng với private key được lưu trữ dưới dạng local file và thiết lập câc quyền đặc biệt cho file đó.
Nhắc đến mã đối xứng mà bác bỏ qua AES, nhắc đến hash mà bác bỏ qua SHA thì quả là hơi sót. Cảm ơn bác chủ thớt đã chia sẻ!
Ko có level 6 à b
"người dùng" sử dụng là sao hả e?
e đưa lên GCP hay AWS là e đưa ntn?
Hi anh, với việc đưa database như mysql vào trong docker, nếu ta đã deploy image docker đó lên các nền tảng như google cloud hoặc aws thì làm thế nào để lấy được dữ liệu mysql đã được thay đổi (trong lúc người dùng sử dụng) ạ?
Anh ơi, em có 1 thắc mắc là tại prepare phase nếu có nhiều request đồng thời thì chắc hẳn phải có locking ở đoạn đó phải không ạ?
Ví dụ: Product A chỉ còn 100 sản phẩm.
Prepare phase:
1/ User A gọi qua Production Service để check đủ số lượng không?
2/ Gọi qua Payment Service để thanh toán.
Commit phase:
...
Em thấy tại ngay bước prepare có thể xảy ra nhiều request đồng thời để prepare mua cùng Product A ạ.
Không bạn ơi, nó có thể lấy nhiều hơn. Với mục đích chỉ là học tập nên mình chỉ làm demo đơn giản thôi. trên github có nhiều tool xịn hơn đó bạn
Chào @ThinhDang, port 5005 là dành để lắng nghe cho việc debug, còn challenge mở tại port 8080 nhé! Bởi vậy bạn không thể truy cập port 5005 qua browser được 😅
cảm ơn bài viết chất lượng
@pikamanh dùng thư viện thôi em, quan trọng là dùng thư viện nhưng fine turn model để tăng performance trên dataset của mình là quan trọng nhất.
cùng làm nghề như nhau thôi e ạ 🤣
cảm ơn anh đã chia sẻ, em cũng gặp khá nhiều những điều trên
bạn test đi, vào đọc sâu hơn để thấy chạy như thế nào? Bạn có thể benchmark để xem hiệu năng cái của mình và cái kia.
kiếm đâu ra 1 triệu người dùng thì shop không nói =)))
Chủ bài viết chém à! Đọc thấy thư viện này n dùng Batch Insert mà đâu phải loop rồi insert đâu. Thấy lib cũng 240 stars. Làm gì có ai đi viết thư viện cho người khác dùng mà lại viết như thế?
ý mình là design pattern tên của nó chả liên quan gì coding tech cả, kiểu general lang solution cho 1 problem cụ thể, không thể hiểu như abstract class được, khác nhau ấy
Abstract Factory là 1 design pattern rất nổi tiếng trong Gang of 4 book, tên của nó bạn có thể dễ dàng tìm vì nó đều có lịch sử hết, mẫu này nếu mà xài thì sẽ là 3 interfaces, 5 classes (bao gồm 2 abstracts classes) và 1 thằng code client demo sẽ sử dụng 3 thằng interfaces. Chỉ có 2 dòng product thôi mà đã 9 cục rồi, code khá nhiều đấy
Bác cho em hỏi em muốn set cái port khác cho tk socket này thì setup ở đâu bác , trong này phải không bác ơi application.properties