Builder.shin
Python
142개의 게시물
Python
Python 멀티프로세싱으로 대용량 이미지 처리 최적화하기
사용자 업로드 이미지를 여러 해상도로 리사이징하는 작업이 병목이 되어 멀티프로세싱을 도입했다. CPU 코어를 활용해 처리 속도를 3배 이상 개선한 과정을 정리했다.
2018년 10월 7일
Python
Python asyncio로 API 병렬 호출 성능 개선
레거시 데이터 마이그레이션 스크립트에서 외부 API 호출이 병목이었다. asyncio를 도입해 순차 처리 대비 5배 성능 개선을 달성했다.
2018년 9월 5일
Python
Python 딕셔너리 병합 시 성능 비교
레거시 API 응답을 병합하는 과정에서 딕셔너리 병합 방법별 성능 차이를 측정했다. Python 3.5+에서 사용 가능한 여러 방법을 비교하고 실무에 적용한 내용을 정리했다.
2018년 7월 17일
Python
Python 멀티프로세싱으로 데이터 처리 속도 개선
단일 스레드로 처리하던 대용량 CSV 파싱 작업이 너무 오래 걸려서 멀티프로세싱을 도입했다. GIL 제약을 우회하고 4배 이상 성능 향상을 얻었다.
2018년 7월 12일
Python
Python Decorator를 이용한 API 요청 로깅
사내 레거시 API 서버의 디버깅을 위해 요청/응답 로깅을 추가했다. Decorator 패턴을 활용하여 기존 코드를 최소한으로 수정하면서 로깅 기능을 적용한 과정을 정리한다.
2018년 7월 3일
Python
Python 멀티프로세싱으로 대용량 CSV 처리 속도 개선
100만 건 이상의 CSV 데이터를 처리하는 배치 작업이 너무 느려서 멀티프로세싱을 적용했다. 단순 반복문 대비 4배 가까운 성능 향상을 얻었고, 메모리 관리에서 몇 가지 주의사항을 발견했다.
2018년 6월 8일
Python
Python 멀티프로세싱으로 크롤러 성능 개선
단일 스레드로 동작하던 크롤러의 성능 문제를 멀티프로세싱으로 해결했다. GIL 우회와 프로세스 간 통신 처리 방법을 정리했다.
2018년 2월 22일
Python
Python 딕셔너리 기본값 처리 패턴 정리
API 응답 파싱 작업 중 KeyError 처리가 반복되어 딕셔너리 기본값 처리 방법들을 정리했다. get(), setdefault(), defaultdict() 각각의 사용 케이스를 비교한다.
2018년 2월 14일
Python
Python 멀티프로세싱으로 데이터 처리 성능 개선
대량의 이미지 리사이징 배치 작업이 너무 오래 걸려 멀티프로세싱을 도입했다. CPU 바운드 작업에서 GIL 제약을 우회하면서 처리 시간을 1/4로 단축할 수 있었다.
2018년 1월 25일
Python
Django ORM N+1 문제 해결하기
Django로 개발한 API 서버의 응답 속도가 급격히 느려지는 문제를 겪었다. 프로파일링 결과 ORM의 N+1 쿼리 문제였고, select_related와 prefetch_related로 해결했다.
2018년 1월 6일
Previous
1
More pages
11
12
13
14
15
Next
카테고리