Xây Dựng Ứng Dụng Phân Tán Với Gin - f88 bóng đá

/imgposts/o8x7pgz5.jpg

Cuốn sách này có tên đầy đủ là: Xây dựng ứng dụng phân tán trong Gin: Hướng dẫn thực hành cho các nhà phát triển Go để xây dựng và triển khai các ứng dụng web phân tán với framework Gin. Có lẽ cái tên dài dòng như vậy là vì lý do SEO mà thôi...

Ở Việt Nam không thể tìm thấy bản in của cuốn sách này, chỉ có phiên bản điện tử trên Kindle. Nhưng tiếc thay, Kindle của tôi đã bị bỏ quên từ lâu. Gần đây, tôi lại nghiện đọc sách giấy vì có thể viết vẽ bừa bãi và thậm chí còn xé ra chơi cùng chú chó lớn của mình tên là Đại Hồng. Vì thế, tôi đã tải xuống một bản PDF và nhờ một cửa hàng photocopy ở Hồ Nam (tìm được trên PDD) in và đóng thành quyển sách. Với 463 trang, in trên giấy A4 và hoàn thiện bằng cách đóng gáy, tổng casino chi phí chỉ là 26 tệ bao gồm cả vận chuyển, chất lượng in cực kỳ tuyệt vời.

!Xây dựng ứng dụng phân tán trong Gin

Gần đây, tôi đang sử dụng Gin để phát triển một trang web đa ngôn ngữ, mục tiêu cuối cùng là tạo ra một hệ thống quản lý nội dung (CMS) bằng Golang giống như một phiên bản đơn giản hóa của WordPress. Trong quá trình phát triển, tôi nhận ra rằng kiến thức của mình về Gin chỉ dừng lại ở mức cơ bản, đủ để viết API nhưng vẫn thiếu sót rất nhiều khi xây dựng toàn bộ i9bet website. Vì vậy, tôi cảm thấy cần thiết phải tìm hiểu sâu hơn về Gin, nhưng tài liệu chính thức lại khá hạn chế. Sau khi tìm kiếm, cuối cùng tôi cũng đã tìm thấy cuốn sách này.

Cuốn sách giới thiệu một khối lượng nội dung và công cụ phong phú, giúp tôi hiểu thêm về nhiều lựa chọn kỹ thuật khác nhau. Tuy nhiên, nó cũng có một số điểm yếu. Phần lớn các giải pháp chỉ dừng lại ở việc mô tả và hướng dẫn cách sử dụng mà không đi sâu vào phân tích bối cảnh ứng dụng cũng như ưu nhược điểm của từng phương án. Việc sử dụng một công nghệ nào đó mà không rõ mục đích thật sự thì quả thật không mấy hợp lý.

Nội dung tương đối nhẹ nhàng, tôi đã lật qua hết cuốn sách trong khoảng một tuần, đọc không liên tục.

  • Trang 404: Thiết lập trang 404 với file 404.html.
  • Trang 203: Sử dụng tính năng "go embed" từ phiên bản Go 1.16, giúp dễ dàng đóng gói các tệp tài nguyên vào tập tin nhị phân. Tôi đã thử nghiệm và thấy rất hữu ích.
  • Trang 215: Dịch vụ xác thực Auth0, phù hợp để sử dụng trong SPA (Single Page Application), trông giống như cơ chế đăng nhập kiểu WeChat Mini Program. Có thể áp dụng cho các ứng dụng quốc tế.
  • Trang 239: Giao diện quản trị backend mặc định của RabbitMQ rất đẹp mắt và tiện lợi.
  • Trang 247: Thu nhỏ quy mô bằng Docker - Liệu có cần thiết trên một máy chủ duy nhất hay không?
  • Trang 269: Caching bằng Nginx hoặc cài đặt header HTTP.
  • Trang 28: Sử dụng go mod vendor để đưa tất cả các thư viện phụ thuộc vào kho mã nguồn, rất hữu ích trong trường hợp không thể kết nối mạng khi biên dịch.
  • Trang 48: Thư viện rs/xid để tạo GUID ngắn gọn hơn UUID, tiết kiệm không gian lưu trữ.
  • Trang 66: Sử dụng Swagger để tự động sinh tài liệu API.
  • Trang 143: JWT refresh token không yêu cầu username và password.
  • Trang 160: Sự khác biệt giữa auth0 token và jwt token? Vẫn chưa rõ ràng.
  • Trang 333: Tại sao Kubernetes thích hợp cho ứng dụng lớn trong khi ECS chỉ phù hợp cho ứng dụng nhỏ? Không được giải thích trong sách, cần tìm hiểu thêm.
  • Trang 348: CI/CD tự động kiểm tra, đóng gói và triển khai ứng dụng.
  • Trang 395: Giám sát hiệu suất và phân tích log của ứng dụng Gin.