본문 바로가기
728x90
반응형

Python290

Hook 이란? hook: 특정 S/W나 framework의 실행 중간 과정에 사용자가 만든 코드를 끼워 넣어 실행하게 하는 디자인 패턴임. 참고로, 음악에서의 hook는 노래에서 청취자의 귀를 사로잡아 기억에 남도록 만드는 짧은 구절 또는 후렴구 를 의미함. 청취자의 관심과 귀를 사로잡는다는 개념에서 hook이 사용됨.1. 비유: '갈고리'일상의 '갈고리(hook)'에 비유하면 개념을 이해하기 쉬움.벽: 핵심 기능을 하는 소프트웨어 또는 framework.갈고리(hook): 소프트웨어가 "여기에 무언가 걸 수 있음"이라고 약속하고 만들어 둔 지점.옷, 모자 등: 우리가 갈고리에 거는 것. 즉, 사용자가 직접 만든 추가 기능임.벽 자체를 수정할 필요 없이, 이미 있는 '갈고리'에 원하는 것을 걸면 됨. 프로그래밍의 'h.. 2026. 2. 23.
Python Class Definition and Object Model 1. Object-Oriented Programming (OOP)에서의 Class 개념1.1 Class의 역할Class = State + Behavior Class는 Object-Oriented Programming에서 State와 Behavior를 함께 정의하는 추상화 단위임State는 Object가 보유하는 데이터의 집합임Behavior는 Object가 수행하는 동작의 집합임Class는 동일한 구조와 동작을 공유하는 Instance를 생성하기 위한 설계도 역할임1.2 Instance의 의미Instance는 Class로부터 생성된 개별 Object임각 Instance는 독립적인 State를 가짐같은 Class의 Instance들은 Behavior를 Class 정의에 따라 공유Instance는 runti.. 2025. 12. 24.
PyPI에 wheel을 업로드하기 0. 전체 workflow 개요PyPI에 wheel을 업로드하는 과정은 다음 단계로 구성됨.PyPI account 생성project metadata 준비wheel build 수행upload tool 준비PyPI로 upload 수행각 단계는 독립적으로 수행됨. 1-3 은 다음을 참고해도 됨:2025.12.21 - [Python] - 개발 디렉토리를 pip package로 설치하기 - pip install -e . 개발 디렉토리를 pip package로 설치하기 - pip install -e .0. pyproject.toml 과 pip install -e . 사용 튜토리얼이 글은 개발 중인 Python code directory를 pip package로 install하는 방법을 정리함.pyproject.to.. 2025. 12. 21.
개발 디렉토리를 pip package로 설치하기 - pip install -e . 0. pyproject.toml 과 pip install -e . 사용 튜토리얼이 글은 개발 중인 Python code directory를 pip package로 install하는 방법을 정리함.pyproject.toml을 이용한 package metadata 정의 와pip install -e .를 활용한 editable install workflow를conda virtual environment 기반 튜토리얼로 설명함.TOML = Tom’s Obvious, Minimal Language- 설정(configuration) 파일을 작성하기 위한 language임 - 사람이 읽고 쓰기 쉽도록 설계되었음 - JSON보다 명확하고, YAML보다 단순함을 목표로 함 https://dsaint31.tistory.c.. 2025. 12. 21.
Typing: dynamic vs. static and strong vs. weak 타입 검사는 프로그램의 type safety를 보장하기 위한 장치이며, 언제(컴파일/실행 시점) 검사하느냐와 얼마나 엄격하게 검사하느냐에 따라 프로그래밍 언어가 분류됨:Static vs Dynamic: 언제 타입을 검사하느냐Strong vs Weak: 얼마나 엄격하게 타입을 검사하느냐 Static Typing (정적 타입 언어)변수의 타입이 컴파일 시점(compile time)에 결정한 번 선언된 타입은 변경 불가예: Java, C, C++, Scala장점:오류를 개발 초기에 발견 가능더 빠르고 최적화된 실행 코드 생성단점:개발 초기 속도가 느리고 코드가 길어지기(장황해지기) 쉬움.유연성이 부족.Dynamic Typing (동적 타입 언어)변수의 타입이 실행 시점(run time)에 객체에 따라 결정동일.. 2025. 12. 9.
Python의 함수에서 return 의 이해 1. return 사용하기: function call 은 expression이므로 하나의 값으로 evaluate됨.def 함수이름(매개변수): 실행할 코드 return 반환값return은 다음 두 가지 일을 수행:함수 실행을 즉시 종료호출한 곳으로 결과를 전달: 해당 function call을 해당 결과로 reduction.예제:def add(a, b): return a + bresult = add(3, 4)print(result) # 7위의 동작은 흔히 다음과 같이 언급됨:“함수는 값을 return 한다” 하지만 엄밀히 애기하면 값에 해당하는 객체를 참조하고 있는 reference가 반환되는 것임2. return이 생략된 경우다음 코드를 보자.def f(): x = 10resu.. 2025. 12. 7.
728x90
반응형