2025/09/18 7

C# WPF/WinForms GUI 개발: MVVM, 데이터 바인딩, 커스텀 컨트롤 활용

C# WPF/WinForms GUI 개발: MVVM, 데이터 바인딩, 커스텀 컨트롤 활용C#에서 GUI 애플리케이션 개발은 WPF(Windows Presentation Foundation)와 WinForms 두 가지 주요 기술을 통해 이루어집니다.사용자 인터페이스(UI) 구성, 이벤트 처리, 화면 전환 등 다양한 기능을 효율적으로 구현하려면 MVVM 패턴, 데이터 바인딩, 커스텀 컨트롤 활용이 필수적입니다. 이번 글에서는 실무 예제와 함께 WPF/WinForms GUI 개발 핵심 개념과 구현 방법을 소개합니다. 1. WPF와 WinForms 비교WinForms: 빠른 UI 구성, 단순한 이벤트 기반, 레거시 프로젝트 활용WPF: XAML 기반, MVVM 패턴, 데이터 바인딩 지원, UI 커스터마이징 용이..

c# 2025.09.18

C# Entity Framework(Core)와 데이터베이스 연동

C# Entity Framework(Core)와 데이터베이스 연동C#에서 데이터베이스 연동은 거의 모든 애플리케이션에서 필수입니다. Entity Framework(Core)는 ORM(Object-Relational Mapping) 라이브러리로, 객체 지향 코드로 DB CRUD를 처리할 수 있어 생산성과 유지보수성을 크게 향상시킵니다. 이번 글에서는 LINQ + DB CRUD, Code First와 Database First, SQL Server와 SQLite 연동 방법에 대해 알아봅니다. 1. Entity Framework(Core) 소개EF Core는 .NET Core와 .NET 5/6/7에서 사용하는 ORM 라이브러리입니다.데이터베이스 테이블과 C# 클래스를 매핑하고, SQL을 직접 작성하지 않아도..

c# 2025.09.18

C# 디자인 패턴 – Singleton, Factory, Observer 사용법

C# 디자인 패턴 – Singleton, Factory, Observer 사용법C#에서 디자인 패턴(Design Pattern)은 소프트웨어 설계 문제를 효율적으로 해결하기 위한 재사용 가능한 코드 구조입니다.실무 프로젝트에서는 객체 생성, 이벤트 처리, 모듈 간 결합도를 낮추는 데 많이 활용됩니다. 이번 글에서는 싱글톤(Singleton), 팩토리(Factory), 옵저버(Observer) 패턴을 예제 중심으로 살펴보겠습니다. 1. 싱글톤 패턴(Singleton)싱글톤 패턴은 애플리케이션 내에서 클래스의 인스턴스를 하나만 생성하고, 어디서든 접근할 수 있도록 보장합니다.주로 설정 관리, 로그 관리, DB 연결 객체 등에 활용됩니다.public class Logger { private static ..

c# 2025.09.18

Visual Studio C++ MFC CRect 사용법

Visual Studio C++ MFC에서 CRect 사용법MFC 프로그래밍에서 **사각형(Rectangle)** 영역을 다루어야 할 때 매우 유용한 클래스가 있습니다.바로 CRect 클래스입니다.CRect는 윈도우 좌표 기반의 사각형 정보를 관리하고, 다양한 편의 함수를 제공하여 GUI 프로그래밍을 쉽게 만들어줍니다. CRect란?CRect는 MFC에서 제공하는 사각형 클래스입니다.네 개의 정수 좌표 left, top, right, bottom으로 사각형을 정의하며,크기 계산, 이동, 충돌 검사 등 다양한 기능을 제공합니다. CRect 기본 선언CRect rect(10, 20, 200, 150); // left, top, right, bottom left : 사각형 왼쪽 좌표top : 사각형 위쪽 좌..

c++ 2025.09.18

Visual Studio C++ SendMessage 사용법 정리

Visual Studio C++ SendMessage 사용법 정리Windows 프로그래밍에서 메시지(Message)는 프로그램 동작의 핵심입니다.키보드 입력, 마우스 클릭, 윈도우 이동 등 모든 이벤트가 메시지로 전달됩니다.Win32 API에서 메시지를 다룰 때 자주 쓰이는 함수 중 하나가 SendMessage입니다. SendMessage란?SendMessage는 지정한 윈도우 프로시저(WndProc)에 메시지를 즉시 보내고, 그 결과가 처리될 때까지 기다리는 함수입니다. 즉, SendMessage는 동기적(synchronous)으로 동작하며, 메시지가 처리된 후 리턴 값을 돌려줍니다. 함수 원형LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wPara..

c++ 2025.09.18

Visual Studio C++ PostMessage 사용법 정리

Visual Studio C++에서 PostMessage 사용법 정리Windows 프로그래밍에서 메시지(Message)는 매우 중요한 개념입니다.버튼 클릭, 키보드 입력, 윈도우 이동과 같은 모든 동작이 사실상 메시지로 전달되기 때문입니다.Visual Studio C++ 환경에서 Win32 API를 사용할 때 자주 접하는 함수 중 하나가 바로 PostMessage입니다. PostMessage란?PostMessage는 지정한 윈도우의 메시지 큐에 메시지를 넣어주는 함수입니다.즉시 메시지를 처리하지 않고 큐에 비동기적으로 전달한다는 점이 특징입니다.반대로 SendMessage는 메시지를 즉시 처리할 때 사용합니다. 함수 원형BOOL PostMessage( HWND hWnd, UINT Msg, W..

c++ 2025.09.18

Visual Studio C++에서 libcurl로 JSON 요청/응답 처리하기

Visual Studio C++에서 libcurl로 JSON 요청/응답 처리하기C++ 프로젝트에서 외부 REST API 서버와 통신할 때는 보통 JSON을 이용합니다.이때 가장 널리 사용되는 라이브러리가 libcurl입니다.이번 글에서는 Visual Studio 환경에서 libcurl을 활용해 JSON 요청을 보내고 응답을 처리하는 방법을 단계별로 설명합니다.STEP 1. libcurl 설치하기vcpkg 사용: vcpkg install curl 실행 후 자동으로 프로젝트와 연동됩니다.수동 설치:libcurl 공식 다운로드 페이지에서 Windows용 패키지 다운로드Visual Studio 프로젝트 속성 → 추가 포함 디렉터리, 추가 라이브러리 디렉터리 등록링커 → 추가 종속성에 libcurl.lib 추가S..

c++ 2025.09.18