Chia Sẻ Khóa Học Xây Dựng Ứng Dụng SaaS Trong Go (Golang) (Phiên Bản Thứ 2) + Ebook + Code [Khóa 6068 A]
Bạn cần một web API nhanh và có khả năng mở rộng, Go là một lựa chọn tuyệt vời.
Tìm hiểu cách xây dựng một ứng dụng web API đầu tiên trong Go từ đầu cho đến khi thực hiện thanh toán trực tuyến với Stripe.
Nếu bạn chưa bao giờ nghĩ đến việc sử dụng Go cho một web API, hãy để tôi hướng dẫn bạn. Thật dễ dàng, nhanh chóng và thú vị!
Chúng ta sẽ cùng nhau đảm bảo bạn có được tất cả kiến thức cần thiết để tự mình xây dựng một ứng dụng web backend với Go. Chúng ta sẽ đi sâu vào các building block của một ứng dụng web thông thường chỉ sử dụng thư viện chuẩn của Go.
Tôi đã xây dựng hai ứng dụng SaaS thành công trong bốn năm qua bằng cách sử dụng các kỹ thuật này. Đó là LeadFuze và Roadmap và tôi sử dụng cùng một stack, kỹ thuật và quy trình mà tôi sẽ dạy trong cuốn sách này.
Go là một ngôn ngữ tuyệt vời. Bạn sẽ làm việc hiệu quả trong vòng chưa đầy một tuần. Sự đơn giản của nó sẽ khiến bạn ngạc nhiên. Go là lựa chọn hàng đầu để xây dựng cloud-native backend API và các process. Bạn sẽ có thể áp dụng kiến thức cụ thể mà bạn học được trong khóa học này vào các tác vụ lập trình hàng ngày của mình.
Điều kiện tiên quyết:
Khóa học này giả định rằng bạn đã setup Go và đã làm theo một số hướng dẫn bắt đầu cũng như tự viết ít nhất một hàm bằng Go.
Kiến thức cơ bản về HTTP requests/responses life-cycle sẽ hữu ích. Biết REST API là gì, Các HTTP method, JSON format. Nó sẽ tốt nhất nếu bạn đã xây dựng một ứng dụng web bằng ngôn ngữ khác. Tóm lại, nếu bạn đang bắt đầu hành trình phát triển web, đây có thể không phải là cuốn sách phù hợp với bạn.
Web Engine của bạn trong ~100 dòng code:
Tôi là một trong những người tin rằng HTTP package của Go là quá đủ để tạo ra một web engine đơn giản và nhẹ mà không cần bất kỳ sự phụ thuộc nào của bên thứ 3.
Chúng tôi tạo ra một engine package có khả năng xử lý các nhu cầu trong tương lai của bạn bao gồm phần middleware và các chức năng cơ bản như logger, json parsing & decoding và router.
Bất kể quan điểm của bạn về việc sử dụng các frameworks hoặc router hiện có là gì, các chủ đề được đề cập có thể giúp bạn hiểu rõ hơn về cách thức hoạt động của web server cũng như vòng đời của các HTTP request và response của chúng.
Chúng tôi sử dụng giao diện Go cho data package:
Khi tôi bắt đầu lập mục lục cho cuốn sách, tôi đã chọn MongoDB làm cơ sở dữ liệu không vì lý do cụ thể nào khác ngoài việc dễ dàng thay đổi data model.
Điều đó đã tạo ra một số cuộc tranh luận trong cộng đồng. Tôi quyết định tạo data package với cả hai triển khai cho MongoDB và PostgreSQL. Ngoài ra còn có một in-memory data store được sử dụng cho các integration test.
Chương này cho thấy cách sử dụng tuyệt vời giao diện của Go và hy vọng bạn sẽ sử dụng lại các khái niệm ở nơi khác trong các ứng dụng tương lai của mình. Chúng tôi cũng đề cập đến các build tag để biên dịch các triển khai cụ thể của data package.
Mục lục:
Sau đây là những gì bạn sẽ tìm thấy trong cuốn sách:
- ✓ 1. Let's Go: Tạo một ứng dụng web đơn giản để bắt đầu với Go.
- ✓ 2. Một Web Engine ~100 dòng: Chúng tôi xây dựng một nền tảng nhỏ không có sự phụ thuộc.
- ✓ 3. Các Test rất quan trọng: Cân bằng tốc độ phát triển với tầm quan trọng của các test.
- ✓ 4. Data package: MongoDB hoặc PostgreSQL, chúng tôi thực hiện cả hai để bạn có thể lựa chọn tùy chọn bạn thích.
- ✓ 5. API-đầu tiên của bạn: Người dùng của bạn muốn có một API, hãy cung cấp cho họ ngay từ ngày đầu tiên.
- ✓ 6. Authorization Middleware: User được tạo như thế nào và họ có thể authenticate & authorize request như thế nào.
- ✓ 7. API throttling, limits: Đảm bảo ngăn chặn việc sử dụng API sai mục đích.
- ✓ 8. Billing & Subscriptions: Chúng tôi sử dụng Stripe để xây dựng một hệ thống thanh toán thực tế hoàn chỉnh.
- ✓ 9. Emails & Background Tasks: Thực hiện các thói quen một cách trọn vẹn, không cần bất kỳ quy trình bên ngoài nào.
- ✓ 10. Capture & Replay: Log acc1 failed request và chạy chúng trên môi trường phát triển của bạn.
- ✓ 11. Webhooks: Bạn sẽ có những event quan trọng xảy ra, hãy để người dùng phản ứng.
- ✓ 12. Bài học kinh nghiệm từ năm 2008: Tôi nói về những sai lầm, những gì hiệu quả và những gì không hiệu quả với các sản phẩm tôi xây dựng.