강의

멘토링

커뮤니티

Programming

/

Desktop Application

[初級] 中級者へステップアップするためのQt/QML実践プログラミング

初級開発者から中級者へとステップアップするために、実践プロジェクトを中心にQt/QMLプログラミングスキルおよび最新技術を学びます。

難易度 初級

受講期間 5か月

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

受講後に得られること

  • 初級から中級へ飛躍するために、実践プロジェクトの例題を中心に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サーバーを利用してWebサービスを提供するために、ApacheやIISなど、多くの種類のWebサーバーがあります。そして、Webブラウザを利用してWebサーバーに接続したユーザーに、目的の情報を提供するためには、PHP、ASP.NET、JSPなどのサーバーサイドスクリプトを使用する必要があります。これには、かなり煩雑な作業が必要です。しかし、Qtでは、これらすべての機能をQtが提供するWeb Serverモジュールを利用して簡単に実装できます。
つまり、ユーザーから特定の要求を受け取ると、それに対応するSignalと接続されたSlotが実行されます。このように、Qtを利用することで、Webサーバーが提供しようとするWebサービスを簡単に実装できます。
今回のセクションでは、Webサーバーの実装に加え、ユーザーからのリクエストを判別してサービスを提供する方法について学びます。また、HTTPに加えて、Secure Web serverのためのHTTPSを実装する方法についても学びます。

セクション 3. RESTful APIを使用するクライアントの実装
RESTまたはRESTful APIと呼ばれます。REST(Representational State Transfer)というアーキテクチャを遵守するAPIであり、RESTの設計原則に従って実装することを意味します。このセクションでは、REST APIの設計原則に従って、Qtを利用してRESTfulクライアントを実装する方法を学びます。

セクション 4. Simple Chatting サーバーとクライアントの実装
Qtが提供するNetworkモジュールを利用して、TCPプロトコルに基づいた複数ユーザーが接続してチャットができる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ベースのチャットサーバーを実装する方法について学びます。また、チャットクライアントはWebブラウザで動作するように、HTML5とJavaScriptを用いて実装する方法について学びます。

セクション 6. Audio Player
Qtでは、さまざまなマルチメディア応用アプリケーションを簡単に実装できます。このセクションでは、実践プロジェクトを実装する前に、オーディオのSample RateとBit Rateの概念について学びます。また、MP3のようにEncoding(圧縮)されたデータをDecodingする過程で、バイトを計算する方法について学びます。
そして、Qtが提供するMultimediaモジュールを利用して、MP3コーデックでエンコードされたオーディオファイルを再生するアプリケーションを実装する方法について学びます。

セクション 7. マイクの音声をネットワークを経由して転送するミニ放送局の構築
今回のセクションでは、Qtを利用して2つのアプリケーションを実装します。1つ目のアプリケーションは、マイクから音声データを抽出し、ネットワークUDPプロトコルを経由して音声を伝送するアプリケーションを実装する方法について学びます。2つ目は、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)形式に変換して保存します。また、逆にシリアル化されたバイナリデータを再び構造化されたデータ(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. Ubuntuまたは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)

インフラン(Inflearn)内で提供される本講義の映像、例題などのすべての資料は、韓国著作権法の保護を受けています。内容の一部または全部を複製(ホームページや印刷媒体への転載、電子ファイルとしてのコピーも含む)する場合、韓国著作権法第27条に規定された私的使用を除き、営利目的の有無にかかわらず、韓国著作権法第42条に基づき、著作権者である知識共有者キム・デジンの許諾を必要とします。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ジュニアからシニアQt開発者へと飛躍したい方

  • プロジェクトを中心に多くのノウハウを積み上げたい方

前提知識、
必要でしょうか?

  • C++

  • Qt/QML

こんにちは
です。

1,079

受講生

109

受講レビュー

107

回答

4.7

講座評価

9

講座

講師紹介 ✒️


職歴
: Embedded分野 SW Team leader
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分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • siroimono님의 프로필 이미지
    siroimono

    受講レビュー 26

    平均評価 5.0

    5

    31% 受講後に作成

    Qwidget // QtQuick で学んだ内容を活用して例題を作成する講義です 学んだ内容を自分で活用して記憶に長く残るようにする意図の良い講義です ++ 最新バージョンの内容も講義に含まれています。

    • qtdev
      知識共有者

      White様、良い評価をいただき、本当にありがとうございます。:)

  • ljh2641님의 프로필 이미지
    ljh2641

    受講レビュー 2

    平均評価 5.0

    5

    61% 受講後に作成

    • qtdev
      知識共有者

      こんにちは。イ・ジュニ様、良い評価をありがとうございます。^^;

¥10,825

qtdevの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!