Cơ bản về thiết kế Backend xử lý AI - Phần SNS với SpringBoot
apiece
Đây là khóa học backend thực chiến giúp rèn luyện tư duy lập kế hoạch và thiết kế dịch vụ mà lập trình viên cần có trong kỷ nguyên AI.
Cơ bản
PostgreSQL, Spring Boot, DBMS/RDBMS
Hoàn thành một chu trình của dịch vụ backend với Spring Boot, MySQL, Docker, AWS EC2, RDS. Đạt được cảm giác thành tựu thông qua việc triển khai ứng dụng, và tìm hiểu các vấn đề mà các lập trình viên server gặp phải trong thực tế khi phát triển API cùng với cách giải quyết.
178 học viên
Độ khó Cơ bản
Thời gian Không giới hạn
Đánh giá từ những học viên đầu tiên
5.0
Aurora
Thật tuyệt vời khi có thể thấy được toàn bộ quy trình từ ứng dụng cho đến Docker, AWS và GitHub Actions. Cảm ơn bạn vì bài giảng hay.
5.0
황쭌쭌
Được rồi, hãy cùng xem liên tục từ đầu đến cuối thôi nào
5.0
jyw0714
Buổi học rất bổ ích, chỉ gồm những nội dung trọng tâm!
Spring Boot
Spring Data JPA
MySQL
Docker
Docker compose
AWS EC2
AWS RDS
Phân trang
Quan hệ liên kết JPA
Chỉ mục cơ sở dữ liệu
Giao dịch
Git, Github
CI/CD (Github Actions)
"Tôi đã thử phát triển theo YouTube hoặc blog, nhưng không chắc là cái này có thực sự áp dụng được trong công việc thực tế không?…"
"Tôi đã tạo API rồi, nhưng luôn bị vướng ở bước triển khai nên chưa bao giờ hoàn thành đến cùng."
"Tôi có thể tạo ứng dụng trên local, nhưng cloud hay Docker trông quá phức tạp nên cứ lảng tránh..."
"Tôi muốn làm tốt dịch vụ backend mà mình tạo ra, nhưng không biết phải bắt đầu từ đâu…"
👉 Khóa học này là khóa học hoàn chỉnh một chu trình để trở thành lập trình viên backend có kinh nghiệm từ phát triển Spring Boot đến triển khai AWS.
Một chu trình backend thực tế, tôi cũng có thể hoàn thành một lần.
Dự án Backend được tạo bằng Spring Boot · MySQL · AWS
Khóa học này không chỉ là ví dụ CRUD đơn giản,
mà là trải nghiệm từ cấu trúc ứng dụng → phát triển → triển khai → suy nghĩ vấn đề → cải tiến tính năng
"Khóa học hoàn thiện dự án backend thực tế".
Nội dung học tập chính như sau:
Phát triển Backend dựa trên Spring Boot 3.4.4 & Java 21
Thiết kế mô hình domain sử dụng JPA
Tích hợp cơ sở dữ liệu với MySQL & Docker
AWS EC2, RDS, triển khai
Phân trang, JPA, Transaction
Tôi cũng từng là một backend junior không có người hướng dẫn đúng đắn.
"Liệu dự án tôi đang làm có được xây dựng đúng cách không?", "Thực tế thì deploy như thế nào?" - những câu hỏi này luôn đầy trong đầu tôi.
Vì vậy khóa học này
👉 Tập trung vào "luồng tổng thể" quan trọng hơn chính việc triển khai tính năng
👉 Cấu trúc tương tự với dịch vụ thực sự hoạt động
👉 Chu trình phát triển backend có xem xét đến triển khai và bảo trì
được thiết kế xung quanh những điều này.
📌 Nắm vững công nghệ thực tế dựa trên Spring Boot, MySQL, AWS trong một khóa học!
Hoàn thiện dự án có cấu trúc 'giống dịch vụ thực tế' với stack công nghệ thường được sử dụng trong thực tế.
📌 90% thực hành, 10% lý thuyết. Học Backend với code thực sự hoạt động
Tất cả code trong khóa học đều được kiểm tra trực tiếp và xác minh hoạt động theo thời gian thực. Trải nghiệm thực sự đến cả việc triển khai.
📌 Vượt qua CRUD đơn giản, đến tính nhất quán dữ liệu và cải thiện hiệu suất
Thông qua transaction, bạn có thể duy trì tính nhất quán của dữ liệu, thực hiện các cải tiến hiệu suất đa dạng và nâng cao năng lực phát triển server thực tế.
📌 Đây là khóa học dành cho người mới bắt đầu
Chúng tôi sẽ xây dựng 'cây cầu' giúp những người đã có nền tảng cơ bản về Java, Spring Boot có thể chuyển sang làm việc thực tế.
Đây không phải là khóa học kiểu hướng dẫn chỉ làm theo các chức năng.
Ở phần đầu, bạn sẽ trực tiếp phát triển một ứng dụng nhỏ và triển khai thực tế để có được cảm giác thành tựu,
Ở phần sau, chúng tôi tập trung vào việc chỉ ra những vấn đề mà các nhà phát triển backend cần phải suy nghĩ và cùng nhau giải quyết chúng.
Khóa học chứa đựng nguyên vẹn bí quyết của một lập trình viên backend dựa trên những thử nghiệm và kinh nghiệm thực tế trong công việc.

"Tôi muốn thử phát triển server, nhưng không biết phải bắt đầu từ đâu…"
Các lập trình viên tương lai / sinh viên đang bối rối không biết phải bắt đầu từ đâu để phát triển server vì chưa quen thuộc với việc phát triển dịch vụ backend

"Tôi không chắc mình đang xây dựng ứng dụng tốt hay không, và không biết mình có đang phát triển đúng cách hay không.."
Lập trình viên tương lai / Người chuẩn bị xin việc đang tự học Java, Spring Boot

"Tôi muốn tạo một dịch vụ backend có thể triển khai thực tế từ đầu đến cuối, nhưng tôi không quen với AWS."
Lập trình viên junior không tự tin về cài đặt AWS hoặc triển khai ngoài phát triển local.
Luồng phát triển server vốn cảm thấy mơ hồ sẽ trở nên rõ ràng, và bạn có thể trực tiếp trải nghiệm toàn bộ chu trình phát triển dịch vụ backend từ lập kế hoạch, thiết kế, phát triển đến triển khai.
→ Thông qua khóa học này, bạn sẽ hoàn thành một dự án từ đầu đến cuối và tích lũy được kinh nghiệm thực chiến có thể tự tin trình bày trong portfolio.
Bạn đã học cơ bản về Java nhưng không biết trong thực tế công việc thì bắt đầu phát triển và cải thiện như thế nào, cảm thấy bế tắc khi chuẩn bị xin việc.
→ Khóa học này cung cấp từ phát triển ứng dụng Spring Boot như dịch vụ thực tế đến các mẹo cải thiện hữu ích khi phát triển server, rất phù hợp để rèn luyện kỹ năng thực tế.
Tôi chỉ phát triển trên máy tính cục bộ và muốn thử sử dụng cloud, nhưng ngay cả khi làm theo hướng dẫn tìm kiếm được thì vẫn không hoạt động đúng nên cứ thất vọng mãi.
→ Khóa học này đề cập chi tiết đến AWS, máy chủ ứng dụng trên cloud và kết nối cơ sở dữ liệu, giúp xóa tan nỗi lo sợ về triển khai.
API: Phương thức giao tiếp giữa client và server, yêu cầu và phản hồi dữ liệu
API là quy tắc để các chương trình giao tiếp với nhau. Giống như thực đơn nhà hàng, nó là bản mô tả quy định client có thể yêu cầu gì và server sẽ phản hồi như thế nào. Thông qua ví dụ về thực đơn, bạn sẽ dễ dàng hiểu khái niệm API và học cách nó được ứng dụng trong các dịch vụ web thực tế.
Thực hành phát triển API tự tay tạo bằng IntelliJ
Không chỉ dừng lại ở việc nghe khái niệm về API. Bạn sẽ tự tay tạo API để client và server trao đổi dữ liệu bằng IntelliJ, qua đó làm quen với cấu trúc cốt lõi của dịch vụ web cần thiết trong thực tế.
Docker: Hiểu cấu trúc cốt lõi của phát triển dựa trên container
Docker hoạt động như thế nào? Tiến trình daemon dockerd quản lý các image và container, còn chúng ta ra lệnh thông qua client docker. Bạn sẽ hiểu các thành phần cốt lõi của Docker như image, container, registry và học một cách có cấu trúc về vai trò của từng thành phần.
AWS EC2: Truy cập trực tiếp vào máy chủ đám mây
Máy chủ đám mây không còn là thứ xa lạ nữa. Tạo instance AWS EC2, kết nối trực tiếp qua terminal để làm quen với môi trường Linux và học những kiến thức cơ bản về vận hành máy chủ cần thiết trong thực tế. Trải nghiệm trực tiếp từ cài đặt Docker, mở port, đến cấu hình security group.
Kiến trúc phân lớp, tách biệt DTO và Entity: Thiết kế ổn định thông qua phân tách trách nhiệm
Ứng dụng backend được cấu trúc như thế nào? Kiến trúc phân lớp (Layered Architecture) phân tách ứng dụng theo vai trò để nâng cao khả năng bảo trì và mở rộng. Mỗi lớp Controller, Service, Repository đều có trách nhiệm rõ ràng, và DTO là đối tượng truyền dữ liệu giữa các tầng, cần được tách biệt với Entity. Chúng ta sẽ học một cách có cấu trúc về tại sao sự tách biệt này quan trọng và cách thiết kế như thế nào.
Index trong Cơ sở dữ liệu: Hiểu về cấu trúc nội bộ để tìm kiếm nhanh
Cơ sở dữ liệu tìm kiếm dữ liệu nhanh như thế nào? Index được sử dụng để tăng tốc độ tìm kiếm trên các cột cụ thể của bảng, hoạt động giống như mục lục của một cuốn sách. Chúng ta sẽ tìm hiểu cấu trúc bên trong như B-Tree và học một cách có hệ thống về những tình huống nào nên sử dụng index để nâng cao hiệu suất.
Phân trang vs Cuộn vô hạn: Vượt qua giới hạn của OFFSET để cung cấp dữ liệu hiệu quả
Khi hiển thị nhiều dữ liệu theo từng phần, truy vấn dựa trên OFFSET thường được sử dụng nhưng hiệu suất giảm mạnh khi càng về các trang sau. Điều này là do DB phải quét lượng dữ liệu tương ứng với OFFSET trước khi trả về kết quả mong muốn. Trong backend, để giải quyết vấn đề này, người ta cải thiện bằng các phương pháp như phân trang dựa trên con trỏ (cursor) hoặc truy vấn phạm vi theo ID. Chúng ta sẽ tìm hiểu một cách có cấu trúc không chỉ về sự khác biệt UX giữa phân trang và cuộn vô hạn, mà còn về sự thay đổi chiến lược truy vấn để tối ưu hóa hiệu suất.
Quan hệ liên kết giữa bài viết, bình luận và xử lý giao dịch
Trong JPA, khi thiết lập mối quan hệ giữa các entity (Post-Comment, v.v.), bạn có thể tự động phản ánh các thay đổi vào cơ sở dữ liệu tại thời điểm commit transaction thông qua cơ chế Dirty Checking (phát hiện thay đổi). Ngoài ra, chúng ta sẽ học một cách có cấu trúc về cách tận dụng Dirty Checking bên trong transaction, phạm vi nào cần được gộp thành một đơn vị công việc, cùng với chiến lược thiết lập mối quan hệ và xử lý dữ liệu ổn định.
Cách sử dụng Git: Vượt xa các lệnh đơn giản đến chiến lược cho cộng tác và tính ổn định
Git là công cụ quản lý phiên bản được các lập trình viên sử dụng nhiều nhất, nhưng nó không chỉ đơn thuần là lưu trữ code mà còn đóng vai trò cốt lõi trong việc cộng tác và quản lý chất lượng. Khi làm việc một mình, các lệnh cơ bản như commit, push, pull có vẻ là đủ, nhưng trong phát triển nhóm thì cần có cách tiếp cận có cấu trúc hơn như chiến lược nhánh, quản lý lịch sử commit, v.v.
Trong thực tế làm việc, Git được sử dụng để tổ chức quy trình code review, đảm bảo tính ổn định khi triển khai, và tạo nền tảng cho phép các thành viên trong nhóm làm việc song song. Khi sử dụng Git đúng cách, bạn có thể giảm thiểu sự nhầm lẫn có thể xảy ra trong quá trình cộng tác và nâng cao năng suất phát triển.
Chúng ta sẽ cùng tìm hiểu không chỉ cách sử dụng cơ bản mà còn cả các chiến lược nhánh và workflow thường được sử dụng trong thực tế.
Tích hợp GitHub Actions và AWS SSM: Phương thức xác thực an toàn và tiện lợi thông qua OIDC
Một trong những vấn đề cần cân nhắc khi truy cập tài nguyên đám mây trong CI/CD pipeline là phương thức xác thực. Trước đây, cách thông dụng là đăng ký khóa người dùng AWS IAM vào GitHub Secrets để sử dụng, nhưng phương pháp này đi kèm với gánh nặng là phải thay đổi khóa định kỳ và rủi ro bị lộ.
Bạn có thể truy cập an toàn vào tài nguyên AWS mà không cần khóa người dùng IAM bằng cách sử dụng OIDC (OpenID Connect) được hỗ trợ bởi GitHub Actions. Theo phương thức này, AWS xác thực token do GitHub cấp và sau đó cấp quyền tạm thời, giúp đảm bảo cả tính bảo mật và tiện lợi mà không cần quản lý khóa riêng biệt.
Tìm hiểu cấu trúc liên kết GitHub Actions và AWS OIDC, cùng với phương pháp cấu hình cụ thể về cách áp dụng trong thực tế.
IntelliJ
Java 21
Spring Boot 3.4.4
MySQL (Docker)
AWS (EC2, RDS, IAM, SSM)
AWS sử dụng Free Tier (miễn phí). (Không phát sinh thêm chi phí)
Git, Github
Github Actions
Chúng tôi sẽ cung cấp tài liệu dưới dạng PDF để bạn có thể ôn tập lại bài giảng.
Khóa học này dành cho ai?
Người chuẩn bị xin việc
Người đang chuẩn bị trở thành lập trình viên backend
Những người muốn tự mình thực hiện phát triển server backend từ đầu đến triển khai
Người muốn biết những điểm cần lưu ý và cách giải quyết khi phát triển dịch vụ backend
Cần biết trước khi bắt đầu?
Java trở lên
Không biết Spring, Spring JPA cũng không sao. Chúng ta sẽ cùng tìm hiểu trong khóa học.
Xác minh sự nghiệp
692
Học viên
36
Đánh giá
40
Trả lời
4.9
Xếp hạng
4
Các khóa học
Tôi đã từng làm việc tại Kakao và SK với tư cách là nhà phát triển,
từng thiết kế và vận hành nhiều hệ thống backend khác nhau trong môi trường dịch vụ thực tế.
Tôi đang tạo ra các nội dung chia sẻ kiến thức với hy vọng rằng
những sai lầm và trăn trở mà tôi đã trải qua có thể giúp các bạn học viên
tiết kiệm được dù chỉ một chút thời gian và công sức trong những lựa chọn của mình.
Nếu bạn có bất kỳ ý kiến đóng góp hay điểm nào cần cải thiện về nội dung,
vui lòng liên hệ qua email bên dưới bất cứ lúc nào.
Tôi rất mong nhận được những phản hồi chân thành từ các bạn. Xin cảm ơn.
apiece.dev.ai@gmail.com
Tất cả
59 bài giảng ∙ (8giờ 10phút)
Tài liệu khóa học:
7. REST API
09:33
Tất cả
17 đánh giá
4.9
17 đánh giá
Đánh giá 1
∙
Đánh giá trung bình 5.0
5
Được rồi, hãy cùng xem liên tục từ đầu đến cuối thôi nào
Xin chào Hwang JJun JJun, hãy cùng chạy thôi! Fighting!
Đánh giá 3
∙
Đánh giá trung bình 5.0
5
Buổi học rất bổ ích, chỉ gồm những nội dung trọng tâm!
Xin chào bạn jyw0714 :) Bạn đã rất vất vả để hoàn thành khóa học! Trong tương lai, chúng tôi sẽ nỗ lực tạo ra những nội dung phong phú hơn nữa với các bài giảng và tài liệu chất lượng. Xin cảm ơn.
Đánh giá 72
∙
Đánh giá trung bình 4.9
5
Thật tuyệt vời khi có thể thấy được toàn bộ quy trình từ ứng dụng cho đến Docker, AWS và GitHub Actions. Cảm ơn bạn vì bài giảng hay.
Chào bạn Aurora! Cảm ơn bạn đã theo dõi bài giảng đến cuối cùng và để lại đánh giá. Mình rất vui vì bài giảng đã giúp bạn hiểu được luồng tổng thể. Chúc bạn từ nay về sau luôn gặp thật nhiều điều tốt đẹp. Xin cảm ơn bạn!
Đánh giá 1
∙
Đánh giá trung bình 5.0
5
Vừa hiểu về công cụ lại vừa thấy kết quả trực tiếp, thật tốt!
Xin chào innovation0304 Tôi rất vui khi bạn cảm thấy hài lòng vì đã thấy được kết quả cụ thể. Cảm ơn bạn đã đánh giá khóa học. Trong tương lai, tôi sẽ tiếp tục cung cấp các bài giảng và tài liệu hữu ích thiết thực :)
Đánh giá 11
∙
Đánh giá trung bình 5.0
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!