Dự án thực chiến React.js vừa miệng – Phần mạng xã hội (SNS)

Đã đến lúc thử sức với dự án thực tế 🔥 Cùng nhau xây dựng một SNS cấp độ thực tiễn bằng React.js + TypeScript + Supabase, đồng thời triển khai các tính năng như xác thực&phân quyền, cuộn vô hạn, tải ảnh lên, lượt thích, bình luận lồng nhau không giới hạn, chế độ tối, v.v. Trong quá trình này, chúng ta cũng sẽ tìm hiểu các kỹ thuật quản lý trạng thái máy chủ và trạng thái toàn cục bằng Zustand và Tanstack Query.

(5.0) 148 đánh giá

1,667 học viên

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

React
React
TypeScript
TypeScript
react-query
react-query
supabase
supabase
zustand
zustand
React
React
TypeScript
TypeScript
react-query
react-query
supabase
supabase
zustand
zustand

Đánh giá từ những học viên đầu tiên

5.0

5.0

pgaey

57% đã tham gia

Tôi xin để lại ý kiến cá nhân dưới góc độ của một người học. Hy vọng điều này sẽ giúp ích cho những ai đang cân nhắc về khóa học. 1. Dễ dàng hiểu được luồng hệ thống. Trong mỗi bài giảng, giảng viên đều giải thích luồng hệ thống của chức năng sắp triển khai bằng các tài liệu. Các tài liệu trực quan cũng thay đổi liên tục theo luồng đi, giúp người học có thể hình dung ra các khái niệm khó trước khi bắt tay vào làm. Vì kiến trúc quan trọng hơn việc triển khai mã code, nên đây là một yếu tố cực kỳ tốt. 2. Đi sâu vào khái niệm Việc giảng viên đề cập kỹ đến các khái niệm giúp tôi dễ hiểu và biết được lý do tại sao phải làm như vậy. Khi tiếp nhận kiến thức như vậy, cá nhân tôi cảm thấy tò mò không biết người chia sẻ kiến thức đã học tập như thế nào. Tôi chợt nghĩ rằng sự khác biệt nằm ở việc đào sâu vào tài liệu chính thức (official document) đến mức nào, và điều đó đã trở thành thử thách thôi thúc tôi phải tự mình xem code và học hỏi thêm từ cả tài liệu chính thức nữa. Đây không chỉ đơn thuần là clone coding. 3. Không hề dễ dãi Mặc dù các khái niệm được truyền tải tốt nhưng nó không quá dễ. Vì là dự án thực tế nên những phần quan trọng vẫn có độ khó nhất định. Cá nhân tôi thấy độ khó rất vừa vặn. Không quá khó, cũng không quá dễ, cực kỳ phù hợp. 4. Cách phát âm (Diction) Giảng viên có cách phát âm rất tốt. Người ta thường nói về sự "khác biệt rõ rệt khi trải nghiệm ngược". Không hẳn là phát âm tốt thì sẽ tập trung cao độ hơn, nhưng nếu ngược lại (phát âm không tốt) thì sẽ rất mệt mỏi. Với khóa học này, tôi hoàn toàn không gặp phải sự căng thẳng đó. ** Tổng kết ** Những ai muốn nắm bắt luồng của một dự án thì khóa học này sẽ giúp ích rất nhiều. Tôi đã từng thử triển khai từng phần nhỏ, nhưng cuối cùng việc hiểu được kiến trúc và sơ đồ luồng hệ thống cấu thành nên dự án mới là điều quan trọng. Những ai chưa từng làm một dự án từ A đến Z chắc chắn sẽ nhận được nhiều sự trợ giúp từ khóa học này.

5.0

민경언

31% đã tham gia

Tôi đã nghe khá nhiều khóa học trả phí trên Inflearn.. nhưng về mọi mặt thì khóa học của anh Lee Jung-hwan là tốt nhất. Vì vậy tôi đã nghe hết tất cả các khóa học của anh Lee Jung-hwan. Khóa học React SNS lần này cũng rất tốt.. Khóa học của anh Lee Jung-hwan thì... 1. Có thể cảm nhận được sự chuẩn bị kỹ lưỡng cho khóa học khi nghe. => Khi xem video của các gi강사 khác thì hầu hết đều không chuẩn bị script gì cả. Có vẻ như phần lớn chỉ chuẩn bị nội dung ở mức tiêu đề. Vì thế khi xem video thì thấy nói lắp bắp, nói lại những gì đã nói.. Ví dụ ra kết quả khác với dự kiến.. có trường hợp tôi không nghe tiếp vì âm thanh nuốt nước bọt quá nhiều khiến khó chịu. Nhưng khóa học của anh Lee Jung-hwan thì có thể cảm nhận được việc chuẩn bị script kỹ lưỡng trước khi quay. Vì thế không có lời lẽ dài dòng, tiến trình mượt mà. Rất hài lòng và thực sự cảm thấy đáng để bỏ tiền ra nghe. 2. Chuẩn bị môi trường quay tốt. => Khác với video của các giảng viên khác, âm thanh đồng đều từ đầu đến cuối. Khi xem khóa học của anh Lee Jung-hwan thì thấy quay gần như không di chuyển. Có vẻ như vì nếu di chuyển thì âm thanh sẽ không được ghi âm với độ cao thấp đều đặn. 3. Chất lượng nội dung khóa học tốt. => Khi xem video của các giảng viên khác thì phần lớn chỉ đánh máy trên PPT rồi cho xem. Không có cảm giác tâm huyết lắm. Ở vị trí người xem trả phí thì có cảm giác hơi phí tiền. Khóa học của anh Lee Jung-hwan không có màn hình hiển thị bằng PPT. Tất cả đều giải thích bằng màn hình được animation hóa. Vì thế có thể hiểu nhanh hơn. Nhưng khi xem khóa học của anh Lee Jung-hwan thì.. có vấn đề. Khi xem preview video trả phí của các giảng viên khác thì chất lượng không vừa ý nên ngại mua... Các giảng viên khác cần xem và học hỏi từ khóa học của anh Lee Jung-hwan. Phía Inflearn cũng nên học hỏi từ khóa học của anh Lee Jung-hwan, lấy đó làm tiêu chuẩn và yêu cầu các giảng viên muốn vận hành khóa học trả phí phải tuân theo. Đã bỏ tiền ra xem thì việc cung cấp dịch vụ với chất lượng tốt hơn là điều đương nhiên phải không? Vì vậy.. tôi chỉ gọi khóa học của anh Lee Jung-hwan là khóa học. Video của các giảng viên khác thì tôi chỉ gọi là video.. chưa đủ để gọi là khóa học.

5.0

kaeuhy

10% đã tham gia

Nhìn vào chương trình giảng dạy, tôi nghĩ rằng nó thực sự rất đầy đủ và chất lượng. Không tồn tại khóa học nào hoàn hảo hơn thế này cho frontend. Frontend = 이정환

Bạn sẽ nhận được điều này sau khi học.

  • Hãy cùng xây dựng một dự án SNS chuyên nghiệp bằng React.js + TypeScript + Supabase.

  • Hãy thử xây dựng các tính năng như xác thực & cấp quyền, cuộn vô hạn, tải ảnh lên, thích, bình luận lồng nhau không giới hạn, chế độ tối, v.v.

  • Khám phá các kỹ thuật quản lý trạng thái máy chủ và trạng thái toàn cục bằng Zustand và Tanstack Query.

로드맵-강의상세

Nhấp vào hình ảnh để chuyển đến lộ trình. 
> Liên kết lộ trình :https://link.onebitefe.com/r/3fr3f6

Liên kết các bài giảng trong series
> React vừa miếng:https://inf.run/kdHbe
TypeScript vừa miếng: https://inf.run/FpLm4
>
Next vừa miếng: https://inf.run/v3XAj

React.js + TypeScriptthông qua

Bạn sẽ xây dựng một dịch vụ SNS ở cấp độ thực tế.

Nếu bạn chỉ lặp đi lặp lại các bài hướng dẫn bằng cách hỏi AI, thì đã đến lúc thử thách bản thân với một dự án thực chiến thực sự.

Trong khóa học này, chúng ta sẽ sử dụng React.js + TypeScript + Supabase để

Hãy cùng xây dựng từ đầu đến cuối một dịch vụ SNS cấp độ thực tế, đủ chất lượng để cung cấp cho người dùng thực tế.

Trang web demo: https://demo-onebite-log.vercel.app/

> Email tài khoản thử nghiệm: test@onebitefe.com

> Mật khẩu tài khoản kiểm thử : 123456


Không chỉ là triển khai UI đơn giản,

Bạn sẽ trực tiếp xây dựng các tính năng cốt lõi tạo nên một dịch vụ thực tế.you will build them yourself.

Khóa học này không chỉ dừng lại ở việc triển khai giao diện đơn giản hoặc CRUD ở mức mà AI có thể tạo ra.

xác thực/phân quyền, tải ảnh lên, cuộn vô hạn, lượt thích, bình luận lồng nhau không giới hạn, chế độ tối và các chức năng tương tự của

Tự mình thiết kế và triển khai những tính năng cốt lõi được sử dụng trong các dịch vụ thực tế ngày nay.


⚙️ Xác thực người dùng & phân quyền

  • Đăng ký/đăng nhập bằng email

  • Đăng nhập mạng xã hội (GitHub)

  • Tìm mật khẩu

  • Quản lý phiên đăng nhập

  • Phân quyền bằng RLS

⚙️ Cuộn vô hạn bảng tin

  • Quản lý cuộn vô hạn cho feed bằng useInfiniteQuery

  • Quản lý dữ liệu bộ nhớ đệm


⚙️ Đính kèm hình ảnh

  • Tải lên và quản lý hình ảnh bằng Supabase Storage

  • Triển khai chức năng đăng tải ảnh bài viết và ảnh hồ sơ cá nhân


⚙️ Lượt thích

  • Giải quyết vấn đề đồng thời (RPC)

  • Phản ánh kết quả nhanh chóng thông qua thao tác với bộ nhớ đệm


⚙️ Bình luận lồng nhau không giới hạn

  • Triển khai tính năng bình luận lồng nhau vô hạn

  • Render component đệ quy


⚙️ Tính năng thay đổi giao diện

  • Cung cấp các giao diện hệ thống, tối và sáng

  • Triển khai tính năng duy trì giao diện và ngăn chặn hiện tượng nhấp nháy bằng Persist




Giới thiệu các công cụ để xây dựng ứng dụng React mạnh mẽ hơn

TailwindCSS + Zustand + Tanstack Query

Để xử lý tốt các tính năng phức tạp, công cụ của chúng ta cũng cần được nâng cấp theo.

Trong khóa học này, chúng ta sẽ lần lượt làm quen với những công cụ mạnh mẽ được giới thiệu dưới đây.

Chúng ta sẽ tích cực áp dụng vào các dự án thực tế.


Tailwind CSS


  • Công cụ giúp việc tạo kiểu CSS thuận tiện hơn

  • Không cần tệp CSS riêng để tạo kiểu.

  • https://tailwindcss.com/


Shadcn/ui


  • Thư viện thiết kế dựa trên Tailwind CSS

  • Cung cấp các component chất lượng cao (ví dụ: Input, Button, Dialog, v.v.)

  • https://ui.shadcn.com/

Zustand


  • Thư viện quản lý trạng thái toàn cục nhỏ gọn và nhẹ nhõm

  • Thế lực mới nổi đang dần thay thế Redux hiện tại

  • https://zustand-demo.pmnd.rs/

Tanstack Query


  • Thư viện quản lý trạng thái máy chủ

  • Giúp xử lý trạng thái tải và lỗi khi fetch dữ liệu bất đồng bộ.


  • https://tanstack.com/query/latest


Đây không phải là việc clone code chỉ bằng cách gõ theo.

Chúng tôi trình bày đầy đủ cả bối cảnh và cấu trúc của tính năng, cùng với phần giải thích khái niệm.

Khóa học này tuyệt đối không phải là khóa học chỉ đơn giản gõ theo mã rồi kết thúc.

Tại sao lại triển khai như vậy và được cấu thành theo quy trình nào?

Tôi cũng đưa vào rất nhiều phần giải thích lý thuyết để bạn có thể tự mình hiểu và tiếp thu.

Hướng dẫn về đối tượng học khóa học

Khóa học này được thiết kế dành cho những người có kiến thức cơ bản về React.js và TypeScript.

Nếu bạn chưa quen với các công nghệ trên, chúng tôi khuyến nghị bạn học các khóa học nền tảng dưới đây trước.

5 nguyên tắc của series Hanip

⚖ Nguyên tắc 1. Hình ảnh trực quan và phong phú

Cũng như cùng một món ăn nhưng món có hình thức đẹp mắt sẽ tạo cảm giác ngon miệng hơn
tôi nghĩ rằng dù là cùng một phần giải thích khái niệm, hình ảnh trực quan và hấp dẫn hơn sẽ giúp người học dễ hiểu hơn.

Vì vậy, tôi đã không ngừng nỗ lực để tạo ra những tài liệu trực quan dễ hiểu, bao gồm cả hình ảnh động.

⚖ Nguyên tắc 2. Sự tận tâm

Khi xuất hiện thuật ngữ hoặc khái niệm mới, tôi không giải thích qua loa rồi bỏ qua, cũng không vội cho rằng các bạn đã biết. Tôi đã cố gắng hết sức để các bạn không phải tự mình tra Google thêm trong khi nghe giảng.

⚖ Nguyên tắc 3. Tính mạch lạc причин?

Để duy trì hứng thú của các học viên, khi xuất hiện nội dung mới trong bài giảng, tôi luôn cân nhắc tính mạch lạc, xem nội dung đó có liên quan đến phần trước hay không và liệu các bạn có cảm thấy mạch bài giảng đột ngột bị gián đoạn hay không.

⚖ Nguyên tắc 4. Phát âm và ngữ điệu tốt

Vì bạn sẽ phải nghe giọng nói của tôi trong thời gian dài, tôi luôn nỗ lực để có giọng phát âm và cách nhả chữ tốt.
Vì vậy, tôi đã xây dựng bài giảng sao cho bạn vẫn có thể nghe hiểu rõ mọi thứ ngay cả khi phát ở tốc độ 2x.

Hãy nghe thử một lần! Liên kết phát ở tốc độ 2x

⚖ Nguyên tắc 5. Giao tiếp

Tập trung trong cộng đồng dành riêng cho học viên, cùng nhau chia sẻ kiến thức và tin tức để phát triển.

Giới thiệu người chia sẻ kiến thức


Lee Jeong-hwan | Winterlood

Một lập trình viên front-end & nhà giáo dục tin rằng luôn có cách giải thích mọi thứ thật dễ hiểu và thú vị

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

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

  • Các học viên của series Hanip (đã hoàn thành khóa học React.js + TypeScript)

  • Những người đã có kiến thức về React.js và TypeScript

  • Dành cho những ai muốn vượt qua cấp độ hướng dẫn và thử sức với các dự án thực tế.

  • Dành cho những ai đang tìm kiếm khóa học có phần hỏi đáp được thực hiện hằng ngày, ít nhất một lần từ thứ Hai đến thứ Sáu.

  • Dành cho những ai đang tìm kiếm các khóa học có cộng đồng học viên sôi nổi do chính người chia sẻ kiến thức trực tiếp vận hành

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

  • Kiến thức cơ bản về React.js (trình độ người học khóa học React “một miếng là hiểu”)

  • Kiến thức cơ bản về TypeScript (trình độ người học khóa học TypeScript nhập môn)

Xin chào
Đây là winterlood

Xác minh Inflearn

Xác minh sự nghiệp

44,154

Học viên

3,391

Đánh giá

1,772

Trả lời

4.9

Xếp hạng

34

Các khóa học

Luôn có cách để giải thích mọi thứ một cách dễ hiểu!


  • 📚 Sách

     

  • 🏆 Giải thưởng

    • Đạt giải Best Seller tại Giải thưởng cuối năm Inflearn 2025

       

    • Đạt giải LỰA CHỌN CỦA HỌC VIÊN tại Giải thưởng Cuối năm Inflearn 2024

    • Đạt giải PICK của học viên tại Inflearn Year-end Awards 2023

     

  • 📹 Bài giảng

    • Vibe coding vừa miếng ăn

    • Dự án thực tế React.js vừa miệng – Phần mạng xã hội (SNS)

    • Next.js vừa miệng dễ học

    • TypeScript vừa miệng

    • React được chia nhỏ thành từng miếng vừa ăn

Thêm

Đồng giảng viên

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

Tất cả

90 bài giảng ∙ (22giờ 9phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

148 đánh giá

5.0

148 đánh giá

  • hisu0712님의 프로필 이미지
    hisu0712

    Đánh giá 2

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Mỗi khi nghe series "Một miếng" (Hanhit) mình đều thấy rất vui, và bài giảng "Một miếng SNS" lần này cũng cực kỳ hữu ích và thú vị! Cá nhân mình khi học series này, nếu ôn tập bằng cách sử dụng bảng tiến độ, sách hoặc nhiệm vụ thì sẽ nhớ rất lâu. Tuy nhiên, vì bài giảng lần này theo dạng dự án nên thay vì cách trên, mình đã ôn tập theo hướng nghe giảng rồi thực hiện clone coding lại một lần nữa trên một dự án mới. Mong muốn cá nhân của mình là sau này sẽ có thêm nhiều bài giảng dạng dự án có độ khó như thế này nữa... Nếu bạn muốn học phát triển Frontend trên Inflearn thì mình nhất định đề xuất thầy Lee Jung-hwan nhé!!!

    • nataek2159님의 프로필 이미지
      nataek2159

      Đánh giá 15

      Đánh giá trung bình 3.3

      5

      31% đã tham gia

      Tôi đã nghe khá nhiều khóa học trả phí trên Inflearn.. nhưng về mọi mặt thì khóa học của anh Lee Jung-hwan là tốt nhất. Vì vậy tôi đã nghe hết tất cả các khóa học của anh Lee Jung-hwan. Khóa học React SNS lần này cũng rất tốt.. Khóa học của anh Lee Jung-hwan thì... 1. Có thể cảm nhận được sự chuẩn bị kỹ lưỡng cho khóa học khi nghe. => Khi xem video của các gi강사 khác thì hầu hết đều không chuẩn bị script gì cả. Có vẻ như phần lớn chỉ chuẩn bị nội dung ở mức tiêu đề. Vì thế khi xem video thì thấy nói lắp bắp, nói lại những gì đã nói.. Ví dụ ra kết quả khác với dự kiến.. có trường hợp tôi không nghe tiếp vì âm thanh nuốt nước bọt quá nhiều khiến khó chịu. Nhưng khóa học của anh Lee Jung-hwan thì có thể cảm nhận được việc chuẩn bị script kỹ lưỡng trước khi quay. Vì thế không có lời lẽ dài dòng, tiến trình mượt mà. Rất hài lòng và thực sự cảm thấy đáng để bỏ tiền ra nghe. 2. Chuẩn bị môi trường quay tốt. => Khác với video của các giảng viên khác, âm thanh đồng đều từ đầu đến cuối. Khi xem khóa học của anh Lee Jung-hwan thì thấy quay gần như không di chuyển. Có vẻ như vì nếu di chuyển thì âm thanh sẽ không được ghi âm với độ cao thấp đều đặn. 3. Chất lượng nội dung khóa học tốt. => Khi xem video của các giảng viên khác thì phần lớn chỉ đánh máy trên PPT rồi cho xem. Không có cảm giác tâm huyết lắm. Ở vị trí người xem trả phí thì có cảm giác hơi phí tiền. Khóa học của anh Lee Jung-hwan không có màn hình hiển thị bằng PPT. Tất cả đều giải thích bằng màn hình được animation hóa. Vì thế có thể hiểu nhanh hơn. Nhưng khi xem khóa học của anh Lee Jung-hwan thì.. có vấn đề. Khi xem preview video trả phí của các giảng viên khác thì chất lượng không vừa ý nên ngại mua... Các giảng viên khác cần xem và học hỏi từ khóa học của anh Lee Jung-hwan. Phía Inflearn cũng nên học hỏi từ khóa học của anh Lee Jung-hwan, lấy đó làm tiêu chuẩn và yêu cầu các giảng viên muốn vận hành khóa học trả phí phải tuân theo. Đã bỏ tiền ra xem thì việc cung cấp dịch vụ với chất lượng tốt hơn là điều đương nhiên phải không? Vì vậy.. tôi chỉ gọi khóa học của anh Lee Jung-hwan là khóa học. Video của các giảng viên khác thì tôi chỉ gọi là video.. chưa đủ để gọi là khóa học.

      • pgaey0106님의 프로필 이미지
        pgaey0106

        Đánh giá 2

        Đánh giá trung bình 5.0

        5

        57% đã tham gia

        Tôi xin để lại ý kiến cá nhân dưới góc độ của một người học. Hy vọng điều này sẽ giúp ích cho những ai đang cân nhắc về khóa học. 1. Dễ dàng hiểu được luồng hệ thống. Trong mỗi bài giảng, giảng viên đều giải thích luồng hệ thống của chức năng sắp triển khai bằng các tài liệu. Các tài liệu trực quan cũng thay đổi liên tục theo luồng đi, giúp người học có thể hình dung ra các khái niệm khó trước khi bắt tay vào làm. Vì kiến trúc quan trọng hơn việc triển khai mã code, nên đây là một yếu tố cực kỳ tốt. 2. Đi sâu vào khái niệm Việc giảng viên đề cập kỹ đến các khái niệm giúp tôi dễ hiểu và biết được lý do tại sao phải làm như vậy. Khi tiếp nhận kiến thức như vậy, cá nhân tôi cảm thấy tò mò không biết người chia sẻ kiến thức đã học tập như thế nào. Tôi chợt nghĩ rằng sự khác biệt nằm ở việc đào sâu vào tài liệu chính thức (official document) đến mức nào, và điều đó đã trở thành thử thách thôi thúc tôi phải tự mình xem code và học hỏi thêm từ cả tài liệu chính thức nữa. Đây không chỉ đơn thuần là clone coding. 3. Không hề dễ dãi Mặc dù các khái niệm được truyền tải tốt nhưng nó không quá dễ. Vì là dự án thực tế nên những phần quan trọng vẫn có độ khó nhất định. Cá nhân tôi thấy độ khó rất vừa vặn. Không quá khó, cũng không quá dễ, cực kỳ phù hợp. 4. Cách phát âm (Diction) Giảng viên có cách phát âm rất tốt. Người ta thường nói về sự "khác biệt rõ rệt khi trải nghiệm ngược". Không hẳn là phát âm tốt thì sẽ tập trung cao độ hơn, nhưng nếu ngược lại (phát âm không tốt) thì sẽ rất mệt mỏi. Với khóa học này, tôi hoàn toàn không gặp phải sự căng thẳng đó. ** Tổng kết ** Những ai muốn nắm bắt luồng của một dự án thì khóa học này sẽ giúp ích rất nhiều. Tôi đã từng thử triển khai từng phần nhỏ, nhưng cuối cùng việc hiểu được kiến trúc và sơ đồ luồng hệ thống cấu thành nên dự án mới là điều quan trọng. Những ai chưa từng làm một dự án từ A đến Z chắc chắn sẽ nhận được nhiều sự trợ giúp từ khóa học này.

        • cjswodmsgus5064님의 프로필 이미지
          cjswodmsgus5064

          Đánh giá 2

          Đánh giá trung bình 5.0

          Đã chỉnh sửa

          5

          10% đã tham gia

          Nhìn vào chương trình giảng dạy, tôi nghĩ rằng nó thực sự rất đầy đủ và chất lượng. Không tồn tại khóa học nào hoàn hảo hơn thế này cho frontend. Frontend = 이정환

          • choileo09108916님의 프로필 이미지
            choileo09108916

            Đánh giá 1

            Đánh giá trung bình 5.0

            5

            35% đã tham gia

            Chào thầy Jung-hwan! Em là một học viên đã bắt đầu bước chân vào con đường phát triển phần mềm nhờ cuốn sách "React cắt nhỏ vừa miệng ăn" của thầy. Vào thời điểm mới bắt đầu, nhờ cuốn sách của thầy mà em đã tìm thấy niềm vui trong việc lập trình và nhận được sự giúp đỡ rất lớn. Trong quá trình chuẩn bị xin việc, cũng có lúc em từng nản lòng và định từ bỏ ước mơ, nhưng khi nhớ lại những ký ức hạnh phúc nhất, cuối cùng đó vẫn là hình ảnh bản thân khi đang lập trình. Khi lấy lại can đảm để quay trở lại và thấy thầy đã trở thành một giảng viên tuyệt vời, em đã không ngần ngại lựa chọn khóa học này. Đúng như mong đợi, nhờ chất lượng bài giảng và sự giải thích hoàn hảo, em đã học hỏi được rất nhiều điều, đến mức cảm giác như khoảng thời gian trống trải trước đó không còn là trở ngại nữa. Chân thành cảm ơn thầy đã một lần nữa soi sáng con đường cho em. Em sẽ luôn thầm ủng hộ thầy! Em xin cảm ơn thầy.

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

            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!