개발 · 프로그래밍

/

데스크톱 앱 개발

[초급] 중급자로 도약하기 위한 Qt/QML 실전 프로그래밍

초급 개발자에서 중급자로 도약하기 위해서 실전 프로젝트를 중심으로 Qt/QML 프로그래밍 스킬 및 최신 기술을 배웁니다.

7명 이 수강하고 있어요.

Thumbnail

초급자를 위해 준비한
[데스크톱 앱 개발, Qt] 강의입니다.

이런 걸
배워요!

  • 초급에서 중급으로 도약하기 위해서 실전 프로젝트를 예제를 중심으로 Qt를 배웁니다.

  • 네트워크, 멀티미디어, 문서 핸들링, IPC 분야의 예제를 중심으로 Qt6를 배웁니다.

Qt/QML 중급자로 도약하기 위해 실전 프로젝트 중심으로 배우는 과정!

네트워크, 멀티미디어, IPC 등의 분야에서 주로 다룰 수 있는 실전 프로젝트를 중심으로 Qt 중급 과정을 배울 수 있습니다.

  • Qt/QML 초급자에서 중급자로 도약할 수 있는 프로젝트 중심의 내용으로 구성했습니다.

  • 이 강의는 한단계 업그레이드 된 실전 예제를 중심으로 Qt를 배울 수 있습니다.

Qt를 배우고 중급자 이상의 실력을 갖추고자 하는 분께 추천해요.

다양한 분야의 프로젝트를 중심으로 Qt를 배우고자 하는 분

Network, Multimedia, Documents, IPC등 다양한 분야를 이 강의를 실전 프로젝트를 중심으로 배우기 때문에 실력을 업그레이드 할 수 있습니다.

지식공유자와 함께 오프라인 강의처럼 함께 프로젝트를 구현하며 배우고 싶은 분

지식공유자의 모습을 보면서 같이 코딩하는 것과 같이 배울 수 있습니다. 또한 실시간 코딩으로 프로젝트가 차근차근 완성되는 것을 보실 수 있습니다.

수강 후에는

  • 이 수업을 통해서 중급자 이상의 실력을 갖춘 Qt/QML 개발자로 성장할 수 있는 역량을 키울 수 있습니다.

  • 좀 더 심도 있는 프로젝트를 통해서 문제를 해결할 수 있는 능력을 키울 수 있습니다.


강의구성 📖

섹션1. 강의를 시작하며
이번 섹션에서는 이 강의에서 배울 전반적인 내용을 살펴봅니다. 그리고 참고할 사이트 및 문서 등을 소개합니다.

섹션 2. Web server & Secure Web server 구현
Web server를 이용해 웹 서비스를 제공하기 위해서 Apache, IIS 등 많은 종류의 Web Server 가 있습니다. 그리고 Web browser를 이용해 Web server에 접속한 사용에게 원하는 정보를 제공하기 위해서 PHP, ASP.NET, JSP등과 같은 서버 사이드 스크립트를 사용해야 합니다. 상당히 번거로운 작업을 해야 합니다. 하지만 Qt에서는 이 모든 기능을 Qt 에서 제공하는 Web Server 모듈을 이용해 쉽게 구현 할 수 있습니다.
즉 사용자 에게 특정 요청을 받으면 그에 맞는 Signal 과 연결된 Slot이 실행 됩니다. 이와 같이 Qt 를 이용해 쉽게 Web server가 제공하고자 하는 웹 서비스를 쉽게 구현할 수 있습니다.
이번 섹션에서는 Web server 구현과 더불어 사용자로부터 요청 받은 Request를 구별해 서비스를 제공할 수 있는 방법에 대해서 배웁니다. 그리고 HTTP 와 더불어 Secure Web server를 위해서 HTTPS 를 구현하는 방법에 대해서도 배웁니다.

섹션 3. RESTful API를 사용하는 Client 구현
REST또는 RESTful API 라고 합니다. REST(Representational State Transfer) 라는 아키텍처를 준수하는 API이며 REST의 설계 원칙에 따라 구현하는 것을 의미합니다. 이번 섹션에서 REST API 설계 원칙에 따라 Qt 를 이용해 RESTful Client를 구현하는 방법을 배웁니다.

섹션 4. Simple Chatting 서버와 클라이언트 구현
Qt에서 제공하는 Network 모듈을 이용해 TCP Protocol기반의 다중 사용자가 접속해 채팅을 할 수 있는 Chatting Server서버를 구현하는 방법에 대해서 배웁니다. 그리고 Chatting Server 에 접속한 사용자들과 채팅을 할 수 있는 Chatting Client를 구현하는 방법에 대해서 배웁니다.

섹션 5. WebSocket 기반 Server 구현 및 HTML5를 이용해 Client 구현
HTTP 프로토콜은 Web server가 요청을 받고 사용자(Web browser)에게 서비스를 제공을 완료하면 Connection을 Close합니다. 매번 요청마다 Connection과 Close를 반복함으로써 낭비되는 네트워크 자원 및 접속 시간 지연 문제를 해결하기 위해서 HTTP프로토콜을 경유하면서 Connection이 계속 유지되는 것을 WebSocket을 개발했습니다.

이번 섹션에서는 Qt를 이용해 WebSocket 기반의 Chatting 서버를 구현하는 방법에 대해서 배웁니다. 그리고 Chatting Client 는 Web browser에서 동작할 수 있도록 HTML5와 JavaScript를 이용해 구현하는 방법에 대해서 배웁니다.

섹션 6. Audio Player
Qt에서는 다양한 멀티미디어 응용 어플리케이션을 쉽게 구현할 수 있습니다. 이번 섹션에서는 실전 프로젝트를 구현하기 전에 오디오의 Sample Rate와 Bit Rate의 개념을 배웁니다. 또한 MP3와 같인 Encoding(압축)된 데이터를 Decoding 되는 과정에서 Byte를 계산하는 방법에 대해서 배웁니다.
그리고 Qt 에서 제공하는 Multimedia 모듈을 이용해 MP3코덱으로 인코딩된 오디오 파일을 재생하는 어플리케이션을 구현하는 방법에 대해서 배웁니다.

섹션 7. 마이크 음성을 네트워크를 경유해 전송하는 미니 방송국 구축
이번 섹션에서는 Qt를 이용해 2개의 어플리케이션을 구현합니다. 첫 번째 어플리케이션은 마이크로부터 음성 데이터를 추출해 네트워크 UDP 프로토콜을 경유해 음성을 전달하는 어플리케이션을 구현하는 방법에 대해서 배웁니다. 두 번째는 UDP 프로토콜을 경유해 수신 받은 음성 데이터를 스피커로 출력하는 어플리케이션을 구현하는 방법에 대해서 배웁니다.

따라서 이번 시간에는 음성 데이터를 송신 및 수신 하는 어플리케이션을 구현해 봄으로써 미니 네트워크 라디오 방송국을 구현하는 방법에 대해서 배웁니다.

섹션 8. Video Player 구현
이번 섹션에서는 Qt에서 제공하는 Multimedia 모듈을 이용해 동영상 파일을 재생하는 어플리케이션을 구현하는 방법에 대해서 배웁니다.

섹션 9. 카메라를 이용한 영상 출력 어플리케이션 구현
이번 섹션은 Qt Network 모듈을 이용해 컴퓨터상에 연결된 Camera 디바이스를 핸들링 하는 방법에 대해서 배웁니다. 그리고 컴퓨터와 연결된 Camera 디바이스를 핸들링 어플리케이션을 구현하는 방법에 대해서 배웁니다.

섹션 10. PDF Viewer
Qt에서는 PDF를 쉽게 핸들링 하기 위해서 다양한 PDF 관련 클래스를 제공합니다. 이번 섹션에서는 PDF파일을 화면 상에 표시하는 어플리케이션을 구현하는 방법에 대해서 배웁니다.

섹션 11. Printer Support
컴퓨터상에 연결된 프린터로 텍스트 또는 이미지를 출력하는 방법에 대해서 배웁니다. 따라서 이번 섹션에서는 텍스트를 프린터로 출력하는 어플리케이션을 구현하는 방법에 대해서 배웁니다.

섹션 12. Google의 Protocol Buffer를 이용해 어플리케이션간 데이터 통신
Google에서 개발한 Protocol Buffer는 데이터를 직렬화(Serialization)해 Binary Data(2진 데이터)형식으로 변환하여 저장합니다. 또한 반대로 직력화된 Binary Data를 다시 구조화된 데이터(Structure) 로 변환해 Structure 형태로 다시 저장합니다. 다양한 어플리케이션에서 IPC로 Protocol Buffer를 활용할 수 있습니다. Protocol Buffer는 C++외에도 다양한 프로그램 언어에서 사용할 수 있습니다. Qt는 Google의 Protocol Buffer를 좀더 쉽게 사용할 수 있습니다.
이번 섹션에서는 Protocol Buffer를 이용해 어플리케이션간 데이터 교환하는 방법에 대해서 배웁니다.
그리고 네트워크로 데이터를 교환하는 어플리케이션을 구현하고 데이터 교환시 Protocol Buffer를 사용해 구현하는 방법에 대해서 배웁니다.

이 강의만의 특징을 
확인해보세요
📖

이론과 실전을 한번에

실전 능력을 향상시킬 수 있도록 강의를 구성하였습니다. 모든 섹션은 실전 프로젝트의 강의를 따라 직접 구현해가며 배울 수 있는 수업이 준비되어 실무 능력을 높일 수 있습니다.

온라인의 벽을 넘어서

지식공유자의 모습을 강의 화면에 함께 담았습니다. 생생한 라이브 코딩과 함께 진행되는 수업을 통해 마치 오프라인 수업을 듣는 느낌으로 언제 어디서나 학습하여 보세요.

궁금한 점이 있나요?

Q. 강의를 듣기 전 준비해야 할 것이 있나요?

강의에서 사용할 Qt버전을 섹션 1에서 설명하였습니다. 따라서 섹션 1을 참고 후 Qt를 설치해 주시면 됩니다.

Q. 수업에서 사용하는 예제를 다운로드 받을 수 있을까요?

네 가능합니다. 수업에서 사용하는 프로젝트 소스 코드를 각 세션에서 다운로드 받을 수 있습니다.

Q. 학습하는 강의 내용을 참고할 만한 자료나 교재가 있을까요?

Qt 개발자 커뮤니티(qt-dev.com)에서 운영자로 활동하고 있습니다. Qt 및 QML과 관련한 추가 자료를 이 사이트에서 얻으실 수 있습니다.

Q. 우분투 또는 macOS 플랫폼에서 Qt를 설치 후 수업에 참여가 가능할까요?

네 가능합니다. macOS 뿐만 아니라 Linux에서도 수업을 참여할 수 있습니다. 따라서 MS-Windows, Linux 그리고 macOS 중 원하는 플랫폼에서 개발 환경을 구축해 수업을 참여하실 수 있습니다.

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): MS Windows, Ubuntu Linux, macOS

  • Qt 버전: LTS(Long Term Service) 버전인 6.8 또는 6.5 버전을 사용하는 것을 권장합니다.

  • IDE툴: QtCreator IDE툴을 사용하는 것을 권장합니다. 자세한 사항은 섹션 1을 참고해주세요.


학습 자료

  • 수업에서 다루는 프로젝트 소스 코드는 각 섹션에서 다운로드 받을 수 있습니다.


선수 지식 및 유의사항

  • C++ 기초

  • Qt/QML


이 강의의 저작권 (LICENSE)

인프런 내에서 제공하는 이 강의의 영상, 예제 등 모든 자료는 한국 저작권법의 보호를 받습니다. 내용의 일부 또는 전부를 복제(홈페이지나 인쇄 매체에 전재하는 것, 전자 파일로 복사하는 것도 포함함)할 때는 한국 저작권법 제27조에 규정한 사적 사용을 제외하고, 영리목적 여부와 상관없이 한국 저작권법 제42조에 따라 저작권자인 지식공유자 김대진의 허락을 요구합니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 주니어에서 시니어 Qt 개발자로 도약하기 위한 분

  • 프로젝트를 중심으로 많은 노하우를 쌓고 싶은 분

선수 지식,
필요할까요?

  • C++

  • Qt/QML

지식공유자 소개 ✒️


근무경력
: Embedded 분야 Senior software developer
LG전자, VS사업부 IVI선행플랫폼/모듈개발
SW마에스트로, SW 멘토

강의경력
삼성전자, Qt & QML 강의
LG전자, Qt & QML 분야 사내 강사
한컴아카데미 Qt 강의 출강
다수의 IT기업 Qt 강의 출강


저서
Qt 프로그래밍
Qt Quick 프로그래밍
Qt5 프로그래밍 가이드
MeeGo 프로그래밍 완벽 가이드
Qt 실전 프로그래밍

SW커뮤니티 운영
Qt 개발자 커뮤니티 운영자 ( www.qt-dev.com )

커리큘럼

전체

72개 ∙ (10시간 44분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!