본문 바로가기
728x90

개발10

[Python] @wraps 설명 @wraps는 Python에서 표준 라이브러리의 functools 모듈에 포함된 데코레이터입니다. 주로 데코레이터를 만들 때 사용되며, 원본 함수의 메타데이터(예: 함수명, 문서화 문자열 등)를 데코레이터로 감싸진 함수에 복사하는 역할을 합니다.@wraps의 사용 이유데코레이터를 사용할 때, 원래 함수의 이름이나 문서 문자열(__name__, __doc__ 등)이 덮어씌워지는 문제가 발생할 수 있습니다. 이를 방지하고, 원래 함수의 메타데이터를 유지하기 위해 @wraps를 사용합니다.예시: @wraps 사용from functools import wraps def my_decorator(func):     @wraps(func)     def wrapper(*args, **kwargs):         p.. 2024. 9. 2.
[Python] @classmethod vs getter, setter 사용 Python에서 @classmethod 데코레이터를 사용하는 이유와 일반적인 getter와 setter 메소드를 사용하는 것의 차이를 알아보겠습니다.@classmethod@classmethod 데코레이터는 메소드가 클래스의 인스턴스가 아닌 클래스 자체에 속하도록 지정합니다. 이 메소드는 클래스의 인스턴스를 생성하지 않고도 호출할 수 있으며, 첫 번째 파라미터로 클래스 객체인 cls를 자동으로 받습니다. 이는 클래스 변수를 수정하거나 클래스 수준에서 데이터를 처리할 때 유용합니다.예를 들어, 코드에서 get_flag와 increment_flag 메소드는 __flag라는 클래스 변수에 접근하고 수정합니다. 이 메소드들은 클래스 레벨에서 작동하기 때문에 인스턴스의 상태와 독립적으로 동작합니다.class MyC.. 2024. 7. 4.
[C++] Tesseract OCR, OpenCV 다운로드 방법 vckpg를 설치해줍니다. Step 1: Clone the vcpkg repo git clone https://github.com/Microsoft/vcpkg.git Make sure you are in the directory you want the tool installed to before doing this. Step 2: Run the bootstrap script to build vcpkg .\vcpkg\bootstrap-vcpkg.bat 아래 방법으로 tesseract OCR, OpenCV이외에 다른 라이브러리들을 설치 가능합니다. Install libraries for your project vcpkg install [packages to install] Using vcpkg with MS.. 2024. 4. 21.
Python - 내가 만든 모듈, 다른 사람들이 사용하도록 패키징하기 1. setup.py 를 내 작업공간에 만든다 2. 프로젝트의 메타데이터(이름, 버전 등)을 아래와 같이 작성한다. (패키징 작업) from setuptools import find_namespace_packages, setup setup( name='test', version='3.2.1', description='Test', author='SungJun', author_email='xxxxx@naver.com', url='깃허브주소', #파일들이 존재하는 깃허브 주소 packages=find_namespace_packages(where='src', include=['SungJun*']), package_dir={'': 'src'}, install_requires=[ 'numpy', 'pandas', .. 2024. 3. 15.
Python 정적 메소드(@staticmethod) Python에서 Class에 담겨있는 함수를, 인스턴스 생성 없이 생성하는 방법이 있다. @staticmethod - 클래스의 인스턴스를 생성하지 않고 메서드에 접근 가능 - 메서드 내부에서 클래스 변수나 인스턴스 변수에 접근하지 않는다. 즉, 'self'나 'cls' 매개변수를 매서드에서 사용하지 않음 - 클래스나 인스턴스의 상태와 독립적인 기능을 수행하는 함수 내부에 정의할 때 사용 사용예제 class MathUtility: @staticmethod def add(a, b): return a + b @staticmethod def multiply(a, b): return a * b # 클래스 인스턴스를 생성하지 않고 메서드 호출 result_add = MathUtility.add(5, 3) resul.. 2024. 3. 14.
C++, Visual Studio에서 MFC 설치하기 Step 1. Visual Studio Installer를 실행하기. Visual Studio Installer를 실행하여 아래 빨간 박스에 있는 수정을 클릭하면 된다. 혹시 저기 부분이 "업데이트"라고 되어있으면 클릭하여 업데이트를 한 후 수정을 누르면 된다. Step 2. MFC를 설치하자. 아래 박스 쳐져 있는 부분(C++를 사용한 데스크톱 개발)을 클릭하면 된다. 클릭하면 오른쪽에 설치 세부 정보가 보일 것이다. 옵션 중에 이미 클릭 되어있는 것은 안 건들여도 되고 아래 사진과 같이 Visual C++ MFC에 체크가 안되어 있으면 클릭한다. 위를 클릭 했다면 아래 사진에 있는 것처럼 오른쪽 아래에 설치 버튼이 보일 것이다. 그것을 클릭하면 설치가 진행된다. Step 3. 설치가 제대로 됬는지 확.. 2024. 3. 12.
728x90