HomeLập trìnhPythonTạo API với...

Tạo API với Python – Khóa học 19 giờ miễn phí


Rất nhiều hướng dẫn API chỉ dạy mức tối thiểu tuyệt đối. Nhưng một API sẵn sàng sản xuất phức tạp hơn nhiều so với những gì hầu hết các hướng dẫn dạy.

Chúng tôi vừa xuất bản một khóa học lớn kéo dài 19 giờ trên kênh YouTube freeCodeCamp.org. Khóa học này sẽ hướng dẫn bạn cách xây dựng một API chính thức bằng Python và thư viện FastAPI

Sanjeev Thiyagarajan đã phát triển khóa học này. Sanjeev là một giáo viên tuyệt vời và thực sự biết cách chia nhỏ mọi thứ cho người mới bắt đầu.

API được xây dựng trong khóa học này dành cho ứng dụng kiểu mạng xã hội nơi người dùng có thể tạo/đọc/xóa/cập nhật bài đăng cũng như thích các bài đăng của người dùng khác. Nó bao gồm đăng ký người dùng và xác thực.

Trước tiên, bạn sẽ tìm hiểu các nguyên tắc cơ bản của thiết kế API bao gồm định tuyến, tuần tự hóa/giải tuần tự hóa, xác thực lược đồ và mô hình. Bạn cũng sẽ tìm hiểu về cách thiết lập và sử dụng cơ sở dữ liệu SQL.

Sau đó, bạn sẽ tìm hiểu cách tích hợp API với cơ sở dữ liệu bằng cả truy vấn SQL thô và ORM SqlAlchemy. Postgres được sử dụng làm cơ sở dữ liệu nhưng mọi thứ bạn học sẽ được áp dụng cho hầu hết mọi cơ sở dữ liệu SQL khác.

Tiếp theo, bạn sẽ tìm hiểu cách thiết lập thử nghiệm cho ứng dụng bằng thư viện pytest. Bạn sẽ thiết lập cơ sở dữ liệu thử nghiệm và thực hiện nhiều thử nghiệm tích hợp.

Đọc thêm  Sắp xếp bong bóng – Thuật toán trong Java, C++, Python với mã ví dụ

Sau khi tạo API, bạn sẽ tìm hiểu cách triển khai API bằng hai phương pháp khác nhau. Đầu tiên là triển khai trên máy Ubuntu và thứ hai là triển khai lên Heroku. Bạn thậm chí sẽ học cách cập bến ứng dụng.

Cuối cùng, bạn sẽ tìm hiểu cách xây dựng đường dẫn CI/CD bằng cách sử dụng các tác vụ GitHub.

Dưới đây là danh sách đầy đủ các chủ đề được đề cập trong khóa học toàn diện này:

Phần 1: Giới thiệu

  • đồ án môn học
  • Giới thiệu khóa học
  • Tổng quan về dự án khóa học

Phần 2: Thiết lập & cài đặt

  • Cài đặt Mac Python
  • Cài đặt và thiết lập Mac VS Code
  • Cài đặt Windows Python
  • Cài đặt và thiết lập Windows VS Code
  • Cơ bản về môi trường ảo Python
  • Môi trường ảo trên windows
  • Môi trường ảo trên Mac

Phần 3: FastAPI

  • Cài đặt phụ thuộc w/pip
  • Bắt đầu API nhanh
  • hoạt động đường dẫn
  • Lệnh hoạt động đường dẫn (vâng, nó quan trọng)
  • giới thiệu về người đưa thư
  • Yêu cầu bài đăng HTTP
  • Xác thực lược đồ với Pydantic
  • Hoạt động CRUD
  • lưu trữ bài viết trong Array
  • tạo bài viết
  • Bộ sưu tập Postman & yêu cầu lưu
  • Truy xuất một bài đăng
  • Thứ tự đường dẫn
  • Thay đổi mã trạng thái phản hồi
  • Xóa bài viết
  • Đang cập nhật bài viết
  • Tài liệu tự động
  • Gói Python

Phần 4: Cơ sở dữ liệu

  • Giới thiệu cơ sở dữ liệu
  • Cài đặt Windows Postgres
  • Cài đặt Mac Postgres
  • Lược đồ & bảng cơ sở dữ liệu
  • Quản lý Postgres với PgAdmin GUI
  • Truy vấn SQL đầu tiên của bạn
  • Lọc kết quả với từ khóa “where”
  • Toán tử SQL
  • TRONG từ khóa
  • Khớp mẫu với từ khóa LIKE
  • Kết quả đặt hàng
  • GIỚI HẠN & BÙ ĐẶT
  • Chèn dữ liệu
  • Xóa dữ liệu
  • Cập nhật dữ liệu

Phần 5: Python + SQL thô

  • Thiết lập cơ sở dữ liệu ứng dụng
  • Kết nối với cơ sở dữ liệu w/Python
  • Truy xuất bài viết
  • Tạo bài viết
  • Nhận một bài viết
  • Xóa bài đăng
  • Cập nhật bài đăng
Đọc thêm  Toán tử Modulo của Python - Biểu tượng % có nghĩa là gì trong Python? (Đã giải quyết)

Phần 6: ORM

  • giới thiệu ORM
  • Thiết lập SQLALCHEMY
  • Thêm cột CreatedAt
  • Nhận tất cả bài viết
  • Tạo bài viết
  • Nhận bài đăng theo ID
  • Xóa bài đăng
  • Cập nhật bài đăng

Phần 7: Mô hình Pydantic

  • Mô hình Pydantic vs ORM
  • Mô hình Pydantic Deep Dive
  • Mô hình phản hồi

Phần 8: Xác thực & Người dùng

  • Tạo bảng người dùng
  • Đường dẫn đăng ký người dùng Hoạt động
  • Băm mật khẩu người dùng
  • Khúc xạ băm logic
  • Nhận người dùng theo ID
  • Bộ định tuyến FastAPI
  • Tiền tố bộ định tuyến
  • Thẻ bộ định tuyến
  • Khái niệm cơ bản về mã thông báo JWT
  • Quá trình đăng nhập
  • Tạo mã thông báo
  • OAuth2 PasswordRequestForm
  • Xác minh người dùng đã đăng nhập
  • sửa lỗi
  • Bảo vệ tuyến đường
  • Kiểm tra mã thông báo đã hết hạn
  • Tìm nạp người dùng trong các tuyến được bảo vệ
  • Các tính năng nâng cao của người đưa thư

Phần 9: Mối quan hệ

  • Khái niệm cơ bản về mối quan hệ SQL
  • Khóa ngoại Postgres
  • Khóa ngoại SQLAlchemy
  • Cập nhật Post Schema để bao gồm Người dùng
  • Chỉ định id chủ sở hữu khi tạo bài đăng mới
  • Chỉ xóa và cập nhật bài đăng của riêng bạn
  • Chỉ truy xuất các bài đăng của người dùng đã đăng nhập
  • Mối quan hệ Sqlalchemy
  • Tham số truy vấn
  • Dọn dẹp tệp main.py của chúng tôi
  • Biến môi trường

Phần 10: Hệ thống bình chọn/thích

  • Bình chọn / Thích lý thuyết
  • Bảng bình chọn
  • Phiếu bầu
  • lộ trình bình chọn
  • Tham gia SQL
  • Tham gia trong SqlAlchemy
  • Nhận một bài đăng với các lần tham gia

Phần 11: Di chuyển cơ sở dữ liệu với Alembic

  • Công cụ di chuyển cơ sở dữ liệu là gì
  • Cài đặt Alembic
  • Bản sửa đổi đầu tiên của Alembic
  • Lược đồ cơ sở dữ liệu Alembic Rollback
  • Alembic hoàn thành phần còn lại của lược đồ
  • Vô hiệu hóa Công cụ tạo SqlAlchemy

Phần 12: Danh sách kiểm tra trước khi triển khai

  • CORS là gì?????
  • Yêu cầu trước Git
  • Cài đặt Git
  • Github

Phần 13: Triển khai Heroku

  • giới thiệu về heroku
  • Tạo ứng dụng Heroku
  • Hồ sơ Heroku
  • Thêm cơ sở dữ liệu Postgres
  • Biến môi trường trong Heroku
  • Di chuyển Alembic trên ví dụ Heroku Postgres
  • Đẩy thay đổi để sản xuất
Đọc thêm  Danh sách chỉ mục nằm ngoài phạm vi - Lỗi Python [Solved]

Phần 14: Triển khai Ubuntu

  • Tạo một máy ảo Ubuntu
  • Cập nhật gói
  • Cài đặt Python
  • Cài đặt Postgres & thiết lập mật khẩu
  • Cấu hình Postgres
  • Tạo người dùng mới và thiết lập môi trường python
  • Biến môi trường
  • Di chuyển Alembic trên cơ sở dữ liệu sản xuất
  • cây súng
  • Tạo một dịch vụ Systemd
  • NGINX
  • Cài đặt tên miền
  • SSL/HTTPS
  • kích hoạt NGINX
  • Bức tường lửa
  • Đẩy các thay đổi mã vào Sản xuất

Phần 15: Docker

  • Dockerfile
  • Docker Soạn
  • Bộ chứa Postgres
  • Gắn kết ràng buộc
  • dockerhub
  • Sản xuất vs Phát triển

Tiết 16: Kiểm tra

  • Giới thiệu thử nghiệm
  • Viết bài kiểm tra đầu tiên của bạn
  • Các cờ -s & -v
  • Thử nghiệm nhiều chức năng hơn
  • tham số hóa
  • lớp kiểm tra
  • đồ đạc
  • Kết hợp Fixtures + Parametrize
  • Kiểm tra ngoại lệ
  • Ứng dụng khách kiểm tra FastAPI
  • Cờ Pytest
  • Kiểm tra tạo người dùng
  • Thiết lập cơ sở dữ liệu thử nghiệm
  • Tạo và hủy cơ sở dữ liệu sau mỗi lần kiểm tra
  • Thêm Fixtures để xử lý tương tác cơ sở dữ liệu
  • Dấu gạch chéo trong đường dẫn
  • phạm vi cố định
  • Kiểm tra lịch thi đấu của người dùng
  • Kiểm tra/xác thực mã thông báo
  • Conftest.py
  • Kiểm tra đăng nhập không thành công
  • Nhận tất cả các bài kiểm tra
  • Bài viết cố định để tạo bài viết thử nghiệm
  • Bài kiểm tra nhận bài trái phép
  • Nhận một bài kiểm tra
  • Tạo bài kiểm tra
  • Xóa bài kiểm tra
  • Cập nhật bài đăng
  • kiểm tra bỏ phiếu

Mục 17: Đường dẫn CI/CD

  • Giới thiệu CI/CD
  • Hành động trên Github
  • Tạo công việc
  • Thiết lập python/phụ thuộc/pytest
  • Biến môi trường
  • Bí mật Github
  • cơ sở dữ liệu thử nghiệm
  • Xây dựng hình ảnh Docker
  • Triển khai lên Heroku
  • Kiểm tra thất bại trong đường ống
  • Triển khai lên Ubuntu

Xem toàn bộ khóa học bên dưới hoặc trên kênh YouTube freeCodeCamp.org (thời lượng xem 19 giờ).



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status