본문 바로가기

DEVELOP_NOTE/Python

Garbage Collection(가비지 컬렉션, GC)은 어떻게 동작할까? 개발업무를 진행하다보면, 불필요한 작업 또는 데이터로 인해 메모리 리소스가 부족할때가 종종 있다. 이때문에 개발자는 항상 할당중인 메모리를 지속적으로 모니터링하고 관리해야 한다. 오늘 알아볼 Garbage Collection, 이하 GC라는 개념은 프로그래밍에서 자동으로 메모리 관리를 수행하는 프로세스를 의미한다. 프로그램이 실행되는 동안 동적으로 할당된 메모리(힙 메모리)영역에 객체들이 생성되는데, 이 중 *더 이상 필요하지않게 된 메모리(아래에서 구체적으로 설명하겠다)와 같은 garbage, 즉, 쓰레기가 된 메모리를 자동으로 식별하고 회수하는 역할을 한다. 1. 그런데, '어떤 객체'를 '어떤 근거'로 garbage로 판단하게 되는걸까? 먼저, GC의 기본 원리는 '도달 가능성(reachabilit.. 더보기
Python Decorator @ 사용방법 완벽 이해하기! 오늘은 Python의 데코레이터를 사용하는 방법에 대해 정리해보자. @decorator_ # 더보기
Python Generator (a.k.a. 'yield') 오늘은 파이썬의 generator 개념을 한번 정리해보도록 하겠다. Python Generator란? 먼저 파이썬에서 generator란, 반복자(iterator)와 유사한 개념으로, 한번에 ‘하나’의 항목을 생성하는 객체를 의미한다. 일반함수와는 다르게, ‘yield’문을 사용해서 값을 반환하는데, 하나의 값을 반환 후 함수의 실행상태를 유지하며, 필요할때마다 값을 생성할 수 있는데, 이전에 생성한 다음부터 이어서 생성하는 특징이 있다. 먼저, yield문을 활용한 간단한 파이썬 제너레이터 예시를 살펴 보자. def simple_generator(): yield 1 yield 2 yield 3 # 제너레이터 생성 gen = simple_generator() # 제너레이터에서 값을 하나씩 가져오기 pri.. 더보기
[REFACTORING] dictionary에 'key' 존재 유무에 따른 데이터 채우기 As-Is : 데이터프레임에서 특정 컬럼들의 값을 for문을 통해 불러와, 특정 key(patient_code, seq_no)의 유무를 체크해 dictionary내의 값을 채움 # 조회용 Dict 생성 search_col = ['patient_code', 'seq_no', 'disease_code', 'atc_set', 'prescription_date', 'diagnosis_date', 'sex', 'age', 'weight', 'bmi', 'a1c', 'scr', 'egfr'] transform_dict = {} for patient_code, seq_no, disease_code, atc_set, prescription_date, diagnosis_date, sex, age, weight, bmi,.. 더보기