강의

멘토링

로드맵

Programming

/

Web Development

FastAPI: Tạo API bằng Python nhanh gấp 3, chính xác gấp đôi, nhanh gấp 10.

Hướng dẫn hoàn chỉnh xây dựng API backend hiện đại với FastAPI! 🚀 Khóa học này bao gồm một cách có hệ thống từ cơ bản FastAPI, xác thực dữ liệu Pydantic, đến kết nối DB bằng SQLAlchemy và migration Alembic. Qua dự án ToDo thực tế, bạn sẽ triển khai bảo mật xác thực/phân quyền JWT, trải nghiệm xử lý bất đồng bộ và tối ưu hiệu suất. Cuối cùng, qua thực hành container hóa Docker và triển khai AWS, chỉ với khóa học này, bạn có thể trở thành nhà phát triển backend sẵn sàng tham gia công việc thực tế!

(4.5) 4 đánh giá

88 học viên

  • haeyeomiso
실습 중심
FastAPI
백엔드
restapi
도커
Python
SQLAlchemy
Docker
AWS

Dịch cái này sang tiếng Việt

  • Các tính năng cốt lõi của FastAPI và Pydantic cho phép thiết kế và phát triển một REST API mạnh mẽ và nhanh chóng.

  • Thông qua SQLAlchemy ORM và Alembic, bạn có thể liên kết cơ sở dữ liệu và xây dựng một hệ thống xác thực/phân quyền an toàn dựa trên JWT.

  • Bạn sẽ trang bị được năng lực thực tiễn để container hóa ứng dụng bằng Docker, đồng thời triển khai và vận hành trực tiếp trên môi trường cloud AWS.

Bạn có đang băn khoăn "Nên học framework backend nào?" không? 🤔

Framework web hiện đại của Python FastAPI đang được các nhà phát triển trên toàn thế giới yêu thích nhờ hiệu suất áp đảo và năng suất phát triển xuất sắc. Tuy nhiên, khi thực sự muốn bắt đầu, bạn có thể cảm thấy bối rối không biết nên học từ đâu và như thế nào.

Khóa học này sẽ giải quyết chính xác những băn khoăn đó cho bạn. Hướng dẫn hoàn hảo phát triển backend FastAPI được thiết kế để bất kỳ ai chỉ cần có kiến thức cơ bản về Python đều có thể theo kịp, bao gồm toàn bộ quy trình phát triển backend từ phát triển API cơ bản nhất đến tích hợp cơ sở dữ liệu, bảo mật JWT, và triển khai cuối cùng sử dụng Docker và AWS trong một lộ trình duy nhất.


Không chỉ đơn thuần liệt kê kiến thức, mà thông qua việc cùng nhau xây dựng dự án ToDo List thực tế, bạn sẽ có trải nghiệm áp dụng ngay lập tức những gì đã học và biến chúng thành của riêng mình. Khi hoàn thành khóa học này, bạn sẽ trang bị được năng lực phát triển backend vững chắc để có thể biến những ý tưởng của riêng mình thành các dịch vụ hoạt động thực tế. 🚀


Đặc điểm của khóa học này

  • Chương trình học All-in-One 📚 Từ cơ bản đến nâng cao, bảo mật, tối ưu hóa hiệu suất, và triển khai thực tế! Không cần phải tìm kiếm nhiều khóa học khác nhau, chỉ với một khóa học này bạn sẽ trải nghiệm toàn bộ A đến Z của phát triển backend FastAPI.

  • Học tập dựa trên dự án thực tế 💻 Đây không phải là khóa học chỉ dừng lại ở lý thuyết. Bạn sẽ trực tiếp thiết kế và hoàn thiện API danh sách ToDo, đồng thời phát triển khả năng giải quyết những vấn đề thực tế mà bạn sẽ gặp phải trong công việc.

  • Tổng hợp các công nghệ mới nhất Không chỉ FastAPI mà còn học và ứng dụng một lúc các công nghệ mới nhất đang được chú ý nhất trong phát triển backend hiện tại như Pydantic, SQLAlchemy, Alembic, JWT, Docker, AWS.

  • Best Practice tập trung vào thực tế 👍 Học cách viết code 'được cấu trúc tốt' chứ không chỉ là code 'chạy được'. Chúng tôi đã không tiếc tay chia sẻ những bí quyết cần thiết trong thực tế như cấu trúc dự án hiệu quả, quản lý mật khẩu an toàn, thay đổi schema cơ sở dữ liệu có hệ thống.

Tôi khuyến nghị cho những người như thế này

Người mới bắt đầu biết Python nhưng lần đầu tiếp xúc với backend 🙋‍♀
Đây là khóa học nhập môn tuyệt vời nhất dành cho những ai đã biết cơ bản về Python nhưng cảm thấy bối rối với phát triển web, đặc biệt là việc tạo API server. Cách sử dụng dễ dàng của FastAPI và tính năng tự động tạo tài liệu sẽ giúp giảm bớt rào cản trong việc phát triển backend.

Các lập trình viên muốn mở rộng stack công nghệ với FastAPI 👨‍💻
Được khuyến nghị cho những ai đã có kinh nghiệm với các framework khác như Django hoặc Flask và muốn học FastAPI - framework đang được chú ý gần đây. Bạn có thể trải nghiệm trực tiếp hiệu suất mạnh mẽ của xử lý bất đồng bộ và năng suất phát triển cao để nâng cao khả năng cạnh tranh.

Nhà phát triển frontend mơ ước trở thành fullstack 🚀
Hoàn hảo cho các nhà phát triển frontend muốn tự tạo API để hoàn thành dự án cá nhân hoặc muốn tích lũy kiến thức backend để phát triển thành nhà phát triển fullstack. Khóa học bao gồm cả triển khai bằng Docker nên bạn sẽ hiểu được toàn bộ quy trình phát triển.

Sau khi hoàn thành khóa học

  • Sau khi hoàn thành tất cả các bài giảng, các bạn sẽ có thể tự mình thực hiện được những điều sau đây.

    • Có thể thiết kế và phát triển REST API vững chắc và có khả năng mở rộng bằng cách tận dụng các tính năng cốt lõi của FastAPI.

    • Bạn có thể thao tác cơ sở dữ liệu một cách linh hoạt thông qua SQLAlchemy ORM và xây dựng hệ thống xác thực JWT an toàn.

    • Bạn sẽ có được kinh nghiệm thực tế trong việc container hóa ứng dụng bằng Docker và triển khai cũng như vận hành dịch vụ trên AWS cloud.

    • Hiểu được toàn bộ chu trình phát triển backend và phát triển thành một lập trình viên backend tự tin hơn một bước.

Chúng ta sẽ học những nội dung như thế này.

Cốt lõi FastAPI và xác thực dữ liệu Pydantic

  • Định tuyến, tiêm phụ thuộc và các nguyên lý cốt lõi khác của FastAPI, đồng thời học cách xác thực dữ liệu đầu vào một cách kỹ lưỡng thông qua mô hình Pydantic.


Tích hợp cơ sở dữ liệu và SQLAlchemy ORM

  • Học cách sử dụng SQLAlchemy ORM để xử lý cơ sở dữ liệu bằng mã Python và quản lý, thay đổi schema cơ sở dữ liệu một cách an toàn với Alembic.


Xác thực JWT và bảo mật API

  • Học cách triển khai chức năng đăng nhập/đăng ký an toàn bằng OAuth2 và JWT(JSON Web Token), và kiểm soát quyền truy cập API dựa trên vai trò.


Containerization Docker và triển khai AWS Cloud

  • Thực hành cách đóng gói ứng dụng đã hoàn thành phát triển thành Docker container và triển khai lên môi trường cloud thực tế như AWS EC2 để vận hành dịch vụ.

Những lưu ý trước khi học

Môi trường thực hành

  • Kiến thức tiên quyết

    • Bắt buộc: Cần có kiến thức cơ bản về cú pháp Python. (biến, cấu trúc dữ liệu, hàm, lớp, v.v.)

    • Khuyến nghị: Nếu có kinh nghiệm sử dụng web (HTTP, API) và terminal (CLI) thì việc học sẽ dễ dàng hơn, nhưng không phải là điều kiện bắt buộc.

  • Môi trường thực hành

    • OS: Windows, macOS, Linux đều có thể sử dụng được.

    • Ngôn ngữ: Python 3.10 trở lên

    • Trình soạn thảo: VS Code (sử dụng trong khóa học) hoặc trình soạn thảo mà bạn muốn

    • Khác: Docker Desktop, tài khoản AWS (cần thiết cho phần triển khai, sử dụng free tier)

  • Lưu ý

    • Khóa học này tập trung vào phát triển backend và không đề cập đến code frontend (HTML, CSS, JavaScript).

    • Thực hành triển khai AWS được tiến hành trong phạm vi Free Tier!

    • Hãy luôn để lại câu hỏi về bài giảng trên bảng Q&A! 😊

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người mới bắt đầu biết Python nhưng lần đầu với backend 🙋‍♀️

  • Lập trình viên muốn mở rộng stack công nghệ với FastAPI 👨‍💻

  • Nhà phát triển front-end mơ ước full-stack 🚀

Cần biết trước khi bắt đầu?

  • Để tham gia khóa học này một cách thuận lợi, bạn cần có kiến thức cơ bản về cú pháp Python. Chỉ cần bạn nắm được những kiến thức cơ bản của Python như biến, cấu trúc dữ liệu (list, dictionary), hàm, class, v.v. là đủ. Nếu bạn có hiểu biết cơ bản về web (HTTP, API), điều đó sẽ càng giúp ích hơn cho việc học!

Xin chào
Đây là

336

Học viên

14

Đánh giá

22

Trả lời

4.8

Xếp hạng

4

Các khóa học

반갑습니다!

AI와 컴퓨터 공학의 무한한 가능성을 탐구하며, 그 여정을 여러분과 나누고 싶은 해여입니다.

학부 시절 '컴퓨터 공학 중독자'라 불릴 만큼 전공에 대한 열정으로 4.4점 이상의 전공 학점으로 수석 졸업하였고, S대학원에서 AI를 전공하며 석사 학위를 받고 박사 과정을 통해 전문성을 심화했습니다.

하지만 이론적 탐구만큼이나 실제 세상의 문제를 AI로 해결하는 것에 큰 매력을 느껴, 박사 과정을 잠시 멈추고 스타트업에서 AI 기반 LLM 및 비디오 분석 프로젝트를 경험하며 귀중한 실전 경험을 쌓았습니다.

지금은 국내 Top3 대기업 중 한 곳에서 LLM 프로젝트 개발 및 PM으로 일하며, AI 기술이 우리 삶에 가져올 긍정적인 변화들을 만들어가는 데 기여하고 있습니다. 제가 겪었던 고민과 해결의 과정, 그리고 현장에서 얻은 생생한 노하우들을 여러분께 아낌없이 전달해 드리겠습니다. AI라는 흥미로운 세계로의 여정에 든든한 길잡이가 되어 드릴게요.

Chương trình giảng dạy

Tất cả

42 bài giảng ∙ (13giờ 15phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

4 đánh giá

4.5

4 đánh giá

  • oottagiya님의 프로필 이미지
    oottagiya

    Đánh giá 21

    Đánh giá trung bình 3.8

    Đã chỉnh sửa

    3

    17% đã tham gia

    I applied for this course because it's a topic I'm interested in and am currently taking it, but I'd like to offer two suggestions for improvement. First, the current lecture audio often explains content that's not shown on the screen. No matter how hard I try to concentrate and listen, the audio content doesn't match what's displayed, so I often lose track while trying to follow the lecture. Second, programming-related courses usually provide project source code on GitHub organized by topic, but since only the relevant code is provided in the lecture notes rather than complete source files or project units, it's not easy to cross-check with the instructor's intended content.

    • haeyeomiso
      Giảng viên

      Hello, this is instructor Haeyeo. First, I would like to thank you for enrolling in the course. Thank you for your honest feedback. First, regarding the code, I will proceed with improvements to provide it separately in GitHub format (by August). As for the lecture videos, there was a previous issue, so I proceeded with re-recording and uploading, but it seems there are some chapters where the upload did not proceed normally. I will check this part and take immediate action. I apologize for any inconvenience caused to students and promise quick improvements. I ask for your generous understanding. Thank you. From instructor Haeyeo.

    • haeyeomiso
      Giảng viên

      Hello, this is instructor Haeyeo. Currently, my lecture recording method involves writing lecture materials and scripts first, then recording audio separately for the best sound quality, and filming the lecture video based on that audio. Due to this process, lecture materials are occasionally omitted during the filming/editing process, so I previously worked with the editor on improvements and re-uploaded the content. After hearing your valuable feedback, I thought there might be parts that weren't uploaded, so I compared the lecture script with the lecture materials to check, but I couldn't easily find the relevant section, so I'd like to ask for more detailed feedback from you. If it's okay with you, could you tell me which lecture section had the problem? (I compared the script and lecture materials up to lecture 7 that you've taken, but it's not easily found 😢😢) Thank you. Instructor Haeyeo

    • haeyeomiso
      Giảng viên

      Oh, it's been confirmed!! After checking with the editor, we found that during the editing process, some parts of the video were lost, causing those sections to be skipped. (Such as the command parts in the lecture environment setup section of Lecture 2, etc..) We only cross-checked the lecture materials and script, but didn't think there would be such issues 😢😢. Thank you once again for the feedback! We will check and fix those parts as quickly as possible! Thanks to 올막곧낼막's valuable feedback, the lecture will be able to become even better. Thank you so much :) From instructor 해여올림. + (If... if it's okay with you, we would be so grateful if you could evaluate it once more after the lecture improvement work is completed..! *bows*)

    • haeyeomiso
      Giảng viên

      Hello! This is instructor Haeyeo! I have re-uploaded lectures 1-42 with complete re-editing and improved audio quality by changing the audio to wav format! I uploaded them right away since it was urgent, but we will conduct additional comprehensive reviews on our end over the weekend. Regarding the source code, as you mentioned, it's currently structured assuming sequential lecture progression, where if you're using code from previous lectures, only additional/modified code is uploaded. This could be inconvenient if you're taking chapters selectively! As a solution, we considered creating a Github repository as you suggested, and I thought it would just be a matter of uploading... But there could be licensing issues or synchronization problems between lecture materials and Github code, so we're currently discussing these matters. We'll quickly review and improve this part as well. I ask for your generous understanding as a student :) + If it wouldn't be too much trouble, could you please provide another review!! 🥹 Thank you Instructor Haeyeo

  • amybae04148768님의 프로필 이미지
    amybae04148768

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    • didtkdcn7890님의 프로필 이미지
      didtkdcn7890

      Đánh giá 3

      Đánh giá trung bình 5.0

      5

      10% đã tham gia

      • moljin님의 프로필 이미지
        moljin

        Đánh giá 8

        Đánh giá trung bình 4.5

        5

        62% đã tham gia

        • haeyeomiso
          Giảng viên

          Hello, this is instructor Haeyeo. Thanks to the incredibly valuable feedback from student moljin, I was able to identify the parts that had issues with filming. I want to express my deepest gratitude. I have conducted a comprehensive review of all 34 lessons uploaded so far, and have proceeded with re-filming. The course materials have been revised and uploaded, and for the filmed videos, the improved versions will be uploaded tomorrow morning once encoding is complete. Additionally, please note that filming content related to Docker and deployment will be uploaded this weekend. Once again, I want to express my gratitude for the valuable feedback and course review. Thank you. From instructor Haeyeo

        • I'm currently listening to the practical project section... This is something I've felt while listening to the lectures from the beginning and progressing through them... I think the lecture content does a great job of covering everything from concept organization to small details that could easily be overlooked. However, I left feedback thinking that the lecture style was a bit old. I'm grateful to hear that improved aspects will be reflected. And I'm also looking forward to the upcoming Docker and deployment-related lectures. Thank you once again for the sincere lectures. @@@ Oh, and I think it would be good to briefly explain how to reference the Notion files in the lectures in the course introduction section. When I played the practical project, I found that copying the completed code from Notion into the editor I use and actually running it while listening significantly improved my understanding of the lectures... I listened to the lecture videos with just my ears while looking at the completed code in the editor one by one and following along, which increased my understanding. I think it would be good to add such an explanation in the course introduction section. Thank you.

      1.253.796 ₫

      Khóa học khác của haeyeomiso

      Hãy khám phá các khóa học khác của giảng viên!

      Khóa học tương tự

      Khám phá các khóa học khác trong cùng lĩnh vực!