개요테디 노트님 Decorator 강의를 너무 재밌게 봐서 이렇게 블로그 글로 다시 작성하게 되었습니다.https://www.youtube.com/watch?v=03r7sloAyOY 1. func을 받아서, wrap을 씌워서 뭔가를 처리를 해주고 ( = wrapper)2. 사용자가 호출할 시에는, 다른 코드 수정 없이 그냥 평소 처럼 func을 호출3. 그럼 적용되는 게 Decorator인 것 같습니다. wrapper를 담고 있는 decorator만 만들어주면,decorator 기능에 대해 서로 다른 여러 func에 적용할 수 있습니다. (재사용성) 다시 말해서,함수 호출 부분 코드는 전혀 건들지 않은 상태에서함수 구현부만 수정하면, 사용자에게 색다른 경험을 선사할 수 있다는 겁니다. 이해를 돕기 위한 ..
AboutPython
파이썬 패키지 만들기: 협업을 위한 코드 모듈화 소개협업 프로젝트에서 우리가 만든 코드를 다른 팀에서 쉽게 사용할 수 있도록 패키지화하는 방법에 대해 알아보겠습니다. 이를 통해 pip install package_name 형태로 간편하게 설치하고 사용할 수 있는 패키지를 만들 수 있습니다. # 사전 설치pip install setuptools 패키지 구조 만들기package_name/├── package_name/│ ├── __init__.py│ └── function.py├── README.md├── requirements.txt└── setup.py 패키지 구조 설명위의 패키지 구조는 Python 패키지를 만들기 위한 기본적인 틀입니다. 각 파일과 디렉토리가 어떤 역할을 하는지 하나씩 살펴보겠..

Poetry를 사용하는 이유같이 작업하는 개발자들끼리 같은 버전의 패키지들을 설치하여, 환경을 일치시키게 됩니다.의존성 충돌 문제를 알아서 해결해주고, 패키지를 최신 버전으로 알아서 관리해줍니다. Poetry 설치Python3.8 이상이어야한다. 아래 가이드 보고 설치 진행https://python-poetry.org/docs/#installing-with-pipx Git 저장소에 Poetry 초기화하기poetry init 레포 내에서 init을 하면 다음과 같이 초기 세팅과 관련한 메뉴얼이 나옵니다.Main Dependencies 는 Production 전용,Develop Dependencies 는 Dev 전용으로 필요한 패키지를 분리하여 설치하면 된다고 합니다.pyproject.toml이 생성..

본 글은 https://hyperconnect.github.io/2023/05/30/Python-Performance-Tips.html#2-built-in-list는-충분히-빠르지-않다-필요시-array나-numpy를-사용하자 의 내용을 공부하며 정리한 글 입니다. 어떤 상황에서 Array나 Numpy를 쓰는 것이 적절할까? 내부에 PyObject (객체)를 들고 있는 list PyObject **ob_item; 부분을 보면, 값을 조회하기 위해 참조를 두번 타고 들어가는 것으로 볼 수 있다. 아래는 cpython에서 파이썬 list를 정의하는 부분이다. https://github.com/python/cpython/blob/main/Include/cpython/listobject.h /* Python b..