반응형

프로그래밍 44

WPF MVVM RelayCommand 사용법: ICommand 구현부터 활용까지 완벽 가이드

RelayCommand란 무엇인가?RelayCommand는 WPF의 ICommand 인터페이스를 구현하여 MVVM 패턴에서 ViewModel의 메서드를 View의 Command에 바인딩할 수 있도록 돕는 클래스입니다. 버튼 클릭, 메뉴 선택 등 UI 이벤트를 ViewModel로 깔끔하게 연결해 주며, 코드 비하인드(code-behind)를 최소화하여 유지보수성을 높입니다.주요 특징:커맨드 실행 로직과 실행 가능 여부를 분리하여 관리매개변수(Parameter) 전달 지원CanExecuteChanged 이벤트를 통해 UI 활성화/비활성화 자동 반영RelayCommand 구현하기1. RelayCommand 클래스 정의/// /// MVVM 패턴에서 사용하는 릴레이 커맨드 클래스/// public class R..

WPF MVVM에서 NotifyPropertyChanged 작동 방식과 구현 예제

WPF MVVM에서 NotifyPropertyChanged 작동 방식과 구현 예제목차개요NotifyPropertyChanged란?작동 원리구현 예제최적화 팁결론개요WPF MVVM 패턴에서 데이터 바인딩을 사용할 때, ViewModel의 프로퍼티가 변경되면 View에 즉시 반영되어야 합니다. 이를 위해 .NET에서는 INotifyPropertyChanged 인터페이스와 PropertyChanged 이벤트를 활용합니다.NotifyPropertyChanged란?NotifyPropertyChanged는 ViewModel에서 속성(Property)이 변경될 때 View에게 알려주는 메커니즘입니다. .NET의 INotifyPropertyChanged 인터페이스를 구현하면, 바인딩된 UI 요소가 자동으로 업데이트됩니..

WPF에서 MVVM 패턴과 DataContext 설정 가이드

WPF(Windows Presentation Foundation)는 강력한 데이터 바인딩(DataBinding) 기능을 제공하는 UI 프레임워크입니다. MVVM(Model-View-ViewModel) 패턴을 적용하면 UI(View), 비즈니스 로직(ViewModel), 데이터(Model) 간의 결합도를 낮춰 유지보수성과 테스트 가능성을 높일 수 있습니다. 이 글에서는 특히 DataContext를 통해 View와 ViewModel을 연결하는 5가지 방법을 코드를 통해 자세히 알아봅니다. MVVM 패턴 핵심 요소Model도메인 데이터와 비즈니스 로직을 표현ViewModelINotifyPropertyChanged 구현View에 바인딩할 속성(Property)과 명령(ICommand)을 정의ViewXAML 기반..

[Python / glob] 파이썬 glob 모듈로 파일 및 디렉토리 검색

파이썬 glob 모듈은 경로와 패턴을 사용하여 파일 및 디렉토리를 검색하는 데 사용됩니다. glob 모듈은 다음과 같은 기능을 제공합니다. 지정된 경로와 패턴에 일치하는 모든 파일 및 디렉토리 목록을 반환 지정된 경로와 패턴에 일치하는 첫 번째 파일 또는 디렉토리를 반환 지정된 경로와 패턴에 일치하는 모든 파일 또는 디렉토리를 반복하여 처리 glob 모듈 사용법 glob 모듈을 사용하여 파일 및 디렉토리를 검색하는 예시입니다. import glob # 현재 디렉토리의 모든 파일 목록을 반환 files = glob.glob("*") # 현재 디렉토리의 모든 텍스트 파일 목록을 반환 text_files = glob.glob("*.txt") # 현재 디렉토리의 모든 디렉토리 목록을 반환 directories ..

[Python / Selenium] 파이썬 셀레니움 모듈로 웹 브라우저를 자동화 하는 법 최신 완전 정리

Selenium 이란? Selenium은 웹 브라우저를 자동화하는 라이브러리입니다. Selenium을 사용하면 웹 브라우저를 통해 웹 페이지를 조작하고, 웹 사이트에서 데이터를 수집하고, 웹 사이트에서 작업을 수행할 수 있습니다. 설치 방법 Selenium 설치 pip install selenium webdriver_manager 설치 pip install webdriver_manager 예제 구글에서 파이썬을 검색하는 코드 입니다. from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverMa..

[Python / Matplotlib] 파이썬 Matplotlib을 사용하여 점 그래프를 만드는 방법 - 데이터 시각화

Matplotlib을 사용하여 점 그래프를 만드는 방법 - 데이터 시각화 예시 코드 import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.scatter(x, y) plt.show() 실행 결과 plt.scatter() 함수는 다양한 옵션을 제공하여 점 그래프의 모양을 변경할 수 있습니다. 다음은 점 그래프의 옵션에 대한 설명입니다. c: 점의 색상을 지정합니다. s: 점의 크기를 지정합니다. marker: 점의 모양을 지정합니다. alpha: 점의 투명도를 지정합니다. linewidths: 점의 테두리 너비를 지정합니다. edgecolors: 점의 테두리 색상을 지정합니다. plt.scatter(x, y, c='red',..

[Python / Matplotlib] 파이썬 Matplotlib을 사용하여 선 그래프를 만드는 방법 - 데이터 시각화

Matplotlib을 사용하여 선 그래프를 만드는 방법 - 데이터 시각화 파이썬의 Matplotlib 라이브러리는 다양한 종류의 그래프와 차트를 생성할 수 있는 모듈입니다. 그 중에서도 선 그래프는 시간에 따른 데이터의 변화를 시각적으로 표현하는 데 가장 많이 사용되는 그래프입니다. 1. Matplotlib을 설치방법 pip install matplotlib 2. 데이터 준비 import numpy as np # 0과 10 사이의 100개의 균일하게 분포된 값을 생성합니다. x = np.linspace(0, 10, 100) y = x**2 linspace 함수를 사용하여 데이터를 준비했습니다. linspace 함수 사용법 확인하기 [Python] 파이썬 NumPy 모듈의 linspace 함수로 균일하게 ..

[Python] 파이썬 NumPy 모듈의 linspace 함수로 균일하게 분포된 값을 생성하는 방법

linspace 함수로 균일하게 분포된 값을 생성하는 방법 linspace는 파이썬의 NumPy 모듈에 포함된 함수로, 시작점과 끝점 사이의 균일하게 분포된 배열을 생성하는 데 사용됩니다. linspace 함수의 사용법 import numpy as np # 0과 10 사이의 100개의 균일하게 분포된 값을 생성합니다. x = np.linspace(0, 10, 100) print(x) 실행결과 [ 0. 0.1010101 0.2020202 0.3030303 0.4040404 0.50505051 0.60606061 0.70707071 0.80808081 0.90909091 1.01010101 1.11111111 1.21212121 1.31313131 1.41414141 1.51515152 1.61616162 ..

[Python / statistics] 파이썬 리스트의 평균 구하기 sum, len, statistics, mean

파이썬 평균 구하기 파이썬에서 평균을 구하는 방법은 크게 두 가지가 있습니다. sum() 함수와 len() 함수를 조합하여 구하는 방법 statistics 모듈의 mean() 함수를 사용하여 구하는 방법 1. sum()함수와 len()함수를 조합하여 구하는 방법 sum() 함수는 리스트의 모든 요소의 합을 구하는 함수이고, len() 함수는 리스트의 요소 개수를 구하는 함수입니다. 이 두 함수를 조합하여 리스트의 평균을 다음과 같이 구할 수 있습니다. # 리스트 생성 list = [1, 2, 3, 4, 5] # 평균 구하기 average = sum(list) / len(list) # 평균 출력 print(average) 실행결과 3.0 2. statistics 모듈의 mean() 함수를 사용하여 구하는 ..

[Python] 파이썬 append 함수로 리스트 끝에 요소 추가하기

파이썬 append 함수로 리스트 끝에 요소 추가하기 파이썬의 append() 함수는 리스트의 끝에 새로운 요소를 추가하는 함수입니다. 다양한 상황에서 활용할 수 있으므로, 파이썬을 배우는 과정에서 잘 익혀두는 것이 좋습니다. append() 함수는 다양한 상황에서 사용할 수 있습니다. 다음은 append() 함수를 사용하는 몇 가지 예입니다. 로그 데이터를 기록하는 경우: 로그 데이터를 기록할 때마다 append() 함수를 사용하여 로그 데이터를 리스트에 추가할 수 있습니다. 장바구니를 구현하는 경우: 장바구니에 상품을 추가할 때마다 append() 함수를 사용하여 상품을 리스트에 추가할 수 있습니다. 메모를 작성하는 경우: 메모를 추가할 때마다 append() 함수를 사용하여 메모를 리스트에 추가할 ..

반응형