강의

멘토링

커뮤니티

Programming

/

Desktop Application

[Sơ cấp] Lập trình thực chiến Qt/QML để tiến tới trình độ trung cấp

Để bứt phá từ lập trình viên sơ cấp lên trung cấp, bạn sẽ học các kỹ năng lập trình Qt/QML và các công nghệ mới nhất thông qua các dự án thực tế.

(5.0) 2 đánh giá

23 học viên

Độ khó Cơ bản

Thời gian 5 tháng

  • qtdev
Qt
Qt
QML
QML
C++
C++
GUI
GUI
Qt
Qt
QML
QML
C++
C++
GUI
GUI

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

  • Để tiến từ trình độ sơ cấp lên trung cấp, bạn sẽ học Qt thông qua các ví dụ về dự án thực tế.

  • Học Qt6 tập trung vào các ví dụ trong lĩnh vực mạng, đa phương tiện, xử lý tài liệu và IPC.

Khóa học tập trung vào các dự án thực tế để bứt phá lên trình độ Qt/QML trung cấp!

Bạn có thể học khóa học Qt trung cấp tập trung vào các dự án thực tế chủ yếu trong các lĩnh vực như mạng, đa phương tiện, IPC ..

  • Nội dung được xây dựng dựa trên các dự án thực tế, giúp bạn nâng cao trình độ từ người mới bắt đầu lên mức trung cấp Qt/QML.

  • Khóa học này giúp bạn học Qt thông qua các ví dụ thực tế đã được nâng cấp thêm một bước.

Khuyên dùng cho những ai muốn học Qt và đạt được trình độ từ trung cấp trở lên.

Những người muốn học Qt tập trung vào các dự án thuộc nhiều lĩnh vực khác nhau

Bạn có thể nâng cao kỹ năng của mình vì khóa học này tập trung vào việc học thông qua các dự án thực tế trong nhiều lĩnh vực đa dạng như Network, Multimedia, Documents, IPC.

Những ai muốn học bằng cách cùng thực hiện dự án với người chia sẻ kiến thức như một buổi học trực tiếp

Bạn có thể vừa học vừa theo dõi người chia sẻ kiến thức, giống như đang cùng nhau lập trình. Ngoài ra, bạn cũng có thể thấy dự án được hoàn thiện từng bước một thông qua quá trình lập trình trực tiếp.

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

  • Thông qua khóa học này, bạn có thể phát triển năng lực để trở thành một nhà phát triển Qt/QML với trình độ từ trung cấp trở lên.

  • Thông qua các dự án chuyên sâu hơn, bạn có thể nâng cao khả năng giải quyết vấn đề.


Cấu trúc khóa học 📖

Phần 1. Bắt đầu khóa học
Trong phần này, chúng ta sẽ tìm hiểu nội dung tổng quát sẽ học trong khóa học này. Đồng thời, chúng tôi cũng sẽ giới thiệu các trang web và tài liệu tham khảo.

Phần 2. Triển khai Web server & Secure Web server
Có rất nhiều loại Web Server như Apache, IIS,... để cung cấp dịch vụ web bằng Web server. Và để cung cấp thông tin mong muốn cho người dùng truy cập vào Web server bằng trình duyệt web, bạn phải sử dụng các script phía máy chủ (server-side script) như PHP, ASP.NET, JSP, v.v. Điều này đòi hỏi những công việc khá rắc rối. Tuy nhiên, trong Qt, bạn có thể dễ dàng triển khai tất cả các chức năng này bằng cách sử dụng mô-đun Web Server do Qt cung cấp.
Nói cách khác, khi nhận được một yêu cầu cụ thể từ người dùng, Slot được kết nối với Signal tương ứng sẽ được thực thi. Bằng cách này, bạn có thể dễ dàng triển khai các dịch vụ web mà Web server muốn cung cấp bằng Qt.
Trong phần này, cùng với việc triển khai Web server, chúng ta sẽ tìm hiểu cách phân biệt các Request nhận được từ người dùng để cung cấp dịch vụ. Ngoài ra, chúng ta cũng sẽ học cách triển khai HTTPS cho Secure Web server cùng với HTTP.

Phần 3. Triển khai Client sử dụng RESTful API
Nó được gọi là REST hoặc RESTful API. Đây là API tuân thủ kiến trúc gọi là REST (Representational State Transfer) và có nghĩa là việc triển khai tuân theo các nguyên tắc thiết kế của REST. Trong phần này, bạn sẽ học cách triển khai RESTful Client bằng Qt theo các nguyên tắc thiết kế REST API.

Phần 4. Xây dựng Server và Client Chat đơn giản
Bạn sẽ học cách xây dựng Chatting Server dựa trên giao thức TCP cho phép nhiều người dùng kết nối và trò chuyện bằng cách sử dụng module Network do Qt cung cấp. Và bạn cũng sẽ học cách xây dựng Chatting Client để có thể trò chuyện với những người dùng đã kết nối vào Chatting Server.

Phần 5. Triển khai Server dựa trên WebSocket và triển khai Client sử dụng HTML5
Giao thức HTTP đóng kết nối (Connection) sau khi Web server nhận yêu cầu và hoàn tất việc cung cấp dịch vụ cho người dùng (trình duyệt web). Để giải quyết vấn đề lãng phí tài nguyên mạng và trễ thời gian kết nối do việc lặp lại kết nối và đóng kết nối cho mỗi yêu cầu, WebSocket đã được phát triển để duy trì kết nối liên tục thông qua giao thức HTTP.

Trong phần này, chúng ta sẽ học cách triển khai máy chủ Chat dựa trên WebSocket bằng Qt. Ngoài ra, chúng ta cũng sẽ học cách triển khai Chat Client bằng HTML5 và JavaScript để có thể hoạt động trên trình duyệt web.

Phần 6. Audio Player
Với Qt, bạn có thể dễ dàng triển khai các ứng dụng đa phương tiện khác nhau. Trong phần này, chúng ta sẽ tìm hiểu về khái niệm Sample Rate và Bit Rate của âm thanh trước khi thực hiện dự án thực tế. Ngoài ra, bạn cũng sẽ học cách tính toán Byte trong quá trình giải mã (Decoding) các dữ liệu đã được mã hóa (Encoding/nén) như MP3.
Và chúng ta sẽ tìm hiểu cách triển khai một ứng dụng phát các tệp âm thanh được mã hóa bằng codec MP3 bằng cách sử dụng mô-đun Multimedia do Qt cung cấp.

Phần 7. Xây dựng trạm phát thanh mini truyền giọng nói từ micrô qua mạng
Trong phần này, chúng ta sẽ triển khai hai ứng dụng bằng cách sử dụng Qt. Ứng dụng đầu tiên, chúng ta sẽ học cách triển khai một ứng dụng trích xuất dữ liệu âm thanh từ micrô và truyền giọng nói qua giao thức mạng UDP. Thứ hai, chúng ta sẽ học cách triển khai một ứng dụng xuất dữ liệu âm thanh nhận được qua giao thức UDP ra loa.

Vì vậy, trong bài học này, chúng ta sẽ tìm hiểu cách xây dựng một trạm phát thanh mạng mini thông qua việc triển khai ứng dụng truyền và nhận dữ liệu âm thanh.

Phần 8. Xây dựng Video Player
Trong phần này, bạn sẽ học cách xây dựng một ứng dụng phát tệp video bằng cách sử dụng mô-đun Multimedia do Qt cung cấp.

Phần 9. Triển khai ứng dụng xuất video sử dụng camera
Trong phần này, chúng ta sẽ tìm hiểu về cách xử lý thiết bị Camera được kết nối với máy tính bằng cách sử dụng mô-đun Qt Network. Và chúng ta sẽ tìm hiểu về cách triển khai ứng dụng xử lý thiết bị Camera được kết nối với máy tính.

Phần 10. PDF Viewer
Qt cung cấp nhiều lớp liên quan đến PDF để xử lý PDF một cách dễ dàng. Trong phần này, chúng ta sẽ học cách triển khai một ứng dụng hiển thị tệp PDF trên màn hình.

Phần 11. Printer Support
Bạn sẽ học về cách in văn bản hoặc hình ảnh ra máy in được kết nối với máy tính. Do đó, trong phần này, bạn sẽ học cách triển khai một ứng dụng in văn bản ra máy in.

Phần 12. Giao tiếp dữ liệu giữa các ứng dụng bằng Protocol Buffer của Google
Protocol Buffer được phát triển bởi Google thực hiện tuần tự hóa (Serialization) dữ liệu và chuyển đổi sang định dạng dữ liệu nhị phân (Binary Data) để lưu trữ. Ngoài ra, nó cũng có thể chuyển đổi ngược lại dữ liệu nhị phân đã tuần tự hóa thành dữ liệu có cấu trúc (Structure) và lưu trữ lại dưới dạng Structure. Bạn có thể sử dụng Protocol Buffer cho IPC trong nhiều ứng dụng khác nhau. Protocol Buffer có thể được sử dụng trong nhiều ngôn ngữ lập trình khác ngoài C++. Qt giúp việc sử dụng Protocol Buffer của Google trở nên dễ dàng hơn.
Trong phần này, chúng ta sẽ học cách trao đổi dữ liệu giữa các ứng dụng bằng cách sử dụng Protocol Buffer.
Và chúng ta sẽ học cách triển khai một ứng dụng trao đổi dữ liệu qua mạng, cũng như cách sử dụng Protocol Buffer khi thực hiện trao đổi dữ liệu.

Hãy khám phá những đặc điểm
chỉ có ở khóa học này
📖

Lý thuyết và thực hành cùng một lúc

Khóa học được thiết kế để giúp bạn nâng cao kỹ năng thực tế. Tất cả các phần đều có các bài học giúp bạn có thể tự mình triển khai theo dự án thực tế, qua đó nâng cao năng lực làm việc chuyên môn.

Vượt qua rào cản trực tuyến

Hình ảnh của giảng viên được lồng ghép trực tiếp vào màn hình bài giảng. Thông qua các tiết học cùng với những màn live coding sống động, hãy trải nghiệm việc học mọi lúc mọi nơi với cảm giác chân thực như đang tham gia một lớp học trực tiếp.

Bạn có thắc mắc gì không?

Q. Có điều gì cần chuẩn bị trước khi nghe bài giảng không?

Phiên bản Qt được sử dụng trong bài giảng đã được giải thích ở Phần 1. Vì vậy, vui lòng tham khảo Phần 1 rồi cài đặt Qt.

Q. Tôi có thể tải xuống các ví dụ được sử dụng trong bài học không?

Vâng, được ạ. Bạn có thể tải xuống mã nguồn dự án được sử dụng trong bài học tại mỗi chương.

Q. Có tài liệu hoặc giáo trình tham khảo nào cho nội dung bài giảng không?

Tôi đang hoạt động với tư cách là quản trị viên của Cộng đồng nhà phát triển Qt (qt-dev.com). Bạn có thể tìm thấy các tài liệu bổ sung liên quan đến Qt và QML tại trang web này.

Q. Có thể tham gia lớp học sau khi cài đặt Qt trên nền tảng Ubuntu hoặc macOS không?

Vâng, hoàn toàn có thể. Bạn có thể tham gia lớp học không chỉ trên macOS mà còn trên cả Linux. Do đó, bạn có thể thiết lập môi trường phát triển và tham gia lớp học trên bất kỳ nền tảng nào bạn muốn trong số MS-Windows, Linux và macOS.

Lưu ý trước khi học

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

  • Hệ điều hành và phiên bản (OS): MS Windows, Ubuntu Linux, macOS

  • Phiên bản Qt: Khuyến khích sử dụng phiên bản 6.8 hoặc 6.5 là phiên bản LTS (Long Term Service).

  • Công cụ IDE: Khuyến khích sử dụng công cụ IDE QtCreator. Vui lòng tham khảo Phần 1 để biết thêm chi tiết.


Tài liệu học tập

  • Mã nguồn dự án được sử dụng trong bài học có thể được tải về tại mỗi phần.


Kiến thức tiên quyết và lưu ý

  • C++ cơ bản

  • Qt/QML


Bản quyền của bài giảng này (LICENSE)

Tất cả các tài liệu bao gồm video, ví dụ của bài giảng này được cung cấp trên Inflearn đều được bảo hộ bởi Luật Bản quyền Hàn Quốc. Việc sao chép một phần hoặc toàn bộ nội dung (bao gồm việc đăng tải lại trên trang web hoặc các phương tiện in ấn, sao chép dưới dạng tệp điện tử), ngoại trừ trường hợp sử dụng cho mục đích cá nhân theo quy định tại Điều 27 của Luật Bản quyền Hàn Quốc, bất kể có vì mục đích lợi nhuận hay không, đều phải có sự cho phép của người chia sẻ kiến thức Kim Dae-jin - chủ sở hữu bản quyền, theo Điều 42 của Luật Bản quyền Hàn Quốc.

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

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

  • Dành cho những ai muốn bứt phá từ lập trình viên Qt Junior lên Senior.

  • Những ai muốn tích lũy nhiều bí quyết thông qua các dự án.

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

  • C++

  • Qt/QML

Xin chào
Đây là

1,079

Học viên

109

Đánh giá

107

Trả lời

4.7

Xếp hạng

9

Các khóa học

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


Kinh nghiệm làm việc
Hiện tại: Trưởng nhóm phần mềm (SW Team leader) trong lĩnh vực Nhúng (Embedded)
LG Electronics, Bộ phận VS, Phát triển mô-đun/nền tảng tiên tiến IVI
SW Maestro, Cố vấn phần mềm (SW Mentor)

Kinh nghiệm giảng dạy
Samsung Electronics, Giảng dạy Qt & QML
LG Electronics, Giảng viên nội bộ lĩnh vực Qt & QML
Giảng dạy khóa học Qt tại Hancom Academy
Giảng dạy khóa học Qt tại nhiều doanh nghiệp CNTT (IT)


Sách đã xuất bản
Lập trình Qt
Lập trình Qt Quick
Hướng dẫn lập trình Qt5
Hướng dẫn lập trình MeeGo toàn tập
Lập trình Qt thực chiến

Vận hành cộng đồng SW
Quản trị viên cộng đồng nhà phát triển Qt ( www.qt-dev.com )

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

Tất cả

72 bài giảng ∙ (10giờ 44phú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ả

2 đánh giá

5.0

2 đánh giá

  • siroimono님의 프로필 이미지
    siroimono

    Đánh giá 26

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    Qwidget // QtQuick đây là bài giảng viết ví dụ bằng cách ứng dụng những nội dung đã học Đây là bài giảng tốt có ý định giúp bạn tự mình ứng dụng những gì đã học để có thể ghi nhớ lâu dài ++ Nội dung phiên bản mới nhất cũng được bao gồm trong bài giảng.

    • qtdev
      Giảng viên

      White, cảm ơn bạn rất nhiều vì đã đưa ra đánh giá tốt. :)

  • ljh2641님의 프로필 이미지
    ljh2641

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    61% đã tham gia

    • qtdev
      Giảng viên

      Chào bạn Lee Jun Hee, cảm ơn bạn vì đánh giá tốt ạ. ^^;

1.822.181 ₫

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

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!