개발 · 프로그래밍

/

데스크톱 앱 개발

MFC Windows 프로그래밍 - 응용

MFC를 이용해 Windows OS 전용 응용 프로그램을 개발하는 분들에게 꼭 필요한 기법을 핵심만 모아서 담았습니다.

136명 이 수강하고 있어요.

Thumbnail

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

이런 걸
배워요!

  • GUI와 작업자 스레드를 연동하는 적절한 방법 및 레거시 코드 수정을 위한 대응방법

  • MFC를 이용한 시스템 프로그래밍 기법

  • CDatabase, CRecordset 클래스 및 Win32 API를 이용한 ODBC를 이용한 데이터베이스 연동

너무나 오래됐지만 왜 아직도 MFC는 사용되는 걸까요? 🤔

아주 오래 전에 사실상 완성된 프레임워크이기 때문입니다. 무엇보다 C/C++기반의 응용 프로그램은 아직도 만들어지고 있으며 여전히 Windows OS는 우리의 일상에 큰 영향을 주고 있습니다. 특히 영상처리, 방위산업, 공장자동화 업무 분야에서는 그 특수성 때문에 MFC가 여전히 중요합니다.


MFC로 Windows OS용 프로그램을 개발하고 싶은데 이 강의를 꼭 들어야 하는 걸까요? 🤔

네, 반드시 공부해야 합니다. C/C++ 기반의 MFC는 Win32 API를 별다른 제약 없이 즉시 호출해 연동 할 수 있습니다. 이 때문에 GUI를 가진 사용자 모드 응용 프로그램임에도 불구하고 시스템에 큰 영향을 줄 수 있습니다. 이는 때로 단점이지만 반대로 MFC가 여전히 사용되는 이유가 되어주기도 합니다.

MFC로 GUI 개발에 어느 정도 자신감이 생겼다면 이제는 백그라운드 시스템 개발에 필요한 이론들을 배워서 보다 완성도 높은 응용 프로그램을 개발할 수 있는 기법들을 익혀야 합니다.

이 강의의 특징

📌 불필요한 내용을 빼고 실전에서 사용되는 가장 중요한 내용 세 가지(멀티스레딩, 작업자 스레드와 GUI 연계 기법, ODBC 등)를 알차게 담았습니다 .

📌 작업자 스레드를 이용해 백그라운드 작업을 수행하면서 그 과정이나 결과를 GUI에 표시하기 위해 사용되는 프로그래밍 방법과 그 과정에서 발생할 수 있는 문제에 대응 할 수 있는 편법을 가장한 기법까지 몽땅 알려드립니다.

📌 Visual Studio가 더 이상 ODBC 위저드를 제공하지 않는 상황이지만 그럼에도 불구하고 MFC를 이용한 ODBC 연동 방법을 배웁니다. 나아가 Win32 API를 직접 이용하는 방식으로 백그라운드 서버 시스템을 개발하는데 꼭 필요한 이론들도 함께 배울 수 있습니다.

이런 분들께 추천해요

윈도우 데스크톱 응용 프로그램을 개발해야 하는 분

  • C/C++기반 윈도우 응용 프로그램을 개발해야 하는 분들을 위한 강의로 꼭 필요한 최소한의 내용을 빠르게 배울 수 있습니다.

  • 보안 소프트웨어 개발이나 간단한 윈도우용 유틸리티를 개발 해야 하는 분들께 유용합니다.

게임 클라이언트 개발을 목적으로 학습을 이어가시는 분

  • C++를 공부한 후 GUI가 있는 윈도우 응용 프로그램을 개발하려는 게임 클라이언트 학습자가 꼭 알아야 할 기법과 구조를 배울 수 있습니다.

  • 게임의 원활한 구동을 위해 윈도우 시스템을 다루거나 관련 정보를 수집 할 수 있는 응용 프로그램을 개발하기 위한 기초 이론을 배울 수 있습니다.

영상처리, 방산관련 개발 등 윈도우를 이용하는 기업 연구소 임직원

  • 연구소에서 사용 할 하드웨어 제어 및 모니터링 소프트웨어를 C/C++로 개발하는 분들이 꼭 알아야 할 내용을 담았습니다.

  • Visual C++ 6.0 기반 Windows XP 응용 프로그램을 유지보수 해야 하는 분에게도 유용합니다

이런 내용을 배워요.

GUI와 작업자 스레드 연동

멀티스레드 환경을 지원하지 않는 MFC UI 구조를 이해하고 적절히 작업자 스레드와 연동하는 방법을 배웁니다. 이를 통해 느린 입/출력의 진행을 GUI에 표시하는 적절한 방법을 알 수 있습니다.

MySQL RDBMS를 활용하는 방법

ODBC 인터페이스를 이용해 DB를 다루는 방법을 알 수 있습니다. DB 활용에 앞서 내부적으로 응용 프로그램이 DB와 연결되어야 하며 그 과정에서 적절한 연결 문자열을 어떻게 기술하면 되는지 알 수 있습니다.

수강 후에는

  • MFC를 이용해 GUI를 갖는 멀티스레드 기반 응용 프로그램을 개발하는 방법을 제대로 알 수 있어요.

  • 작업자 스레드를 생성, 제어, 동기화 하는 등 시스템 프로그래밍 이론 중 스레드에 관련된 내용 중 핵심만 뽑아 간결하게 배울 수 있어요.

  • MFC CDatabase, CRecordSet 클래스를 VS 위저드 없이 사용할 수 있는 방법을 알 수 있으며 ODBC를 이용해 RDBMS를 관리하는 응용 프로그램을 스스로 개발 할 수 있어요.

  • 시스템 서비스나 백그라운드 응용 프로그램처럼 GUI 없이 작동하는 서버 개발 시 ODBC를 어떻게 다뤄야 하는지 알 수 있어요.

이 강의를 만든 
지식공유자
👨‍💻

널널한 개발자 TV의 ‘널널한 개발자’ 최호성입니다.

  • (모두가 싫어하는) 국내 최초 PC 방화벽 개발자

  • 1992년부터 C언어를 공부한 30년 묵은 C/C++ 개발자

  • 다수 국책과제 수행 경험자이자 15년 이상 개발 강의 경력을 함께 보유한 아저씨!

  • C언어 인기 입문서 『독하게 시작하는 C 프로그래밍』 저자

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows OS(10이상 권장)

  • 사용 도구: Visual Studio 2022 Community, MySQL v8.x 및 connector

  • PC 사양: Visual Studio 및 MySQL 서버가 구동 될 수 있는 수준의 하드웨어

학습 자료

  • 강의자료 PDF

  • 전체 예제를 하나의 솔루션으로 묶어서 제공

선수 지식 및 유의사항

  • 강의 '독하게 시작하는 C 프로그래밍', 'C개발자를 위한 최소한의 C++'를 수강했거나
    최소 그에 준하는 C/C++ 언어 이해도

  • Visual Studio Community 2022기반 프로그래밍 경험(디버깅 능력 포함)

  • 연결 리스트, 2진 트리, 해시 등 자료구조에 관한 기초적 이해와 프로그래밍 경험

  • MFC를 기반으로 단일 문서 구조 응용 프로그램 GUI를 개발 할 수 있는 정도의 경험

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • MFC로 응용 프로그램을 개발해야 하는 실무 개발자

  • MFC 기본 이론에 이어 보다 깊이 있는 기법을 알고 싶은 개발자

선수 지식,
필요할까요?

  • MFC

  • C언어

  • C++

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^

 

커리큘럼

전체

30개 ∙ (5시간 52분)

수업 자료

가 제공되는 강의입니다.

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

수강평

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