Builder.shin
Backend
426개의 게시물
Python
Python 딕셔너리 기본값 처리 3가지 방법
API 응답 파싱 중 KeyError가 빈번하게 발생해서 딕셔너리 기본값 처리 방법을 정리했다. get(), setdefault(), defaultdict 세 가지 방식을 비교하고 실무에서 어떻게 선택하는지 기록한다.
2017년 11월 19일
Java
Java 8 Stream에서 예외 처리 깔끔하게 하기
Stream API를 사용하다 보면 람다 내부에서 checked exception 처리가 까다롭다. 실무에서 사용한 몇 가지 패턴을 정리했다.
2017년 11월 14일
Node.js
Node.js 멀티코어 활용을 위한 Cluster 모듈 적용기
단일 스레드로 돌아가는 Node.js API 서버의 성능 한계에 부딪혔다. CPU 코어를 제대로 활용하기 위해 Cluster 모듈을 도입한 과정을 정리했다.
2017년 11월 13일
Python
Python 3.6 f-string으로 마이그레이션
기존 프로젝트의 문자열 포맷팅을 f-string으로 전환했다. % 포맷팅과 .format()이 혼재된 코드를 정리하면서 가독성이 크게 개선됐다.
2017년 11월 6일
Python
Python 멀티프로세싱으로 CSV 대용량 처리 속도 개선
200만 건의 CSV 데이터를 처리하는 배치 작업이 4시간 넘게 걸려서 병목을 분석했다. multiprocessing 모듈로 전환해 처리 시간을 1시간 이내로 단축했다.
2017년 11월 4일
Node.js
Node.js 프로젝트에 ESLint + Prettier 도입하기
팀 프로젝트의 코드 스타일 통일을 위해 ESLint와 Prettier를 도입했다. 설정 충돌 문제와 해결 과정을 기록한다.
2017년 11월 2일
Node.js
Node.js 클러스터 모드로 멀티코어 활용하기
단일 스레드로 동작하는 Node.js의 한계를 극복하기 위해 클러스터 모드를 도입했다. PM2 없이 직접 구현하면서 마스터-워커 프로세스 관리 방법을 정리했다.
2017년 10월 28일
Python
Python 딕셔너리 병합 방식 정리
Python 3.5+ 환경에서 딕셔너리를 병합하는 여러 방식을 비교했다. 상황에 따라 성능과 가독성이 다르기 때문에 각 방식의 특징을 정리해둔다.
2017년 10월 26일
Node.js
Node.js 8 Async/Await를 실무에 도입하며
Node.js 8 LTS로 업그레이드하면서 콜백 지옥에 시달리던 코드를 async/await로 전환했다. Promise chain보다 가독성이 좋지만, 에러 핸들링에서 주의할 점들이 있었다.
2017년 10월 15일
Node.js
Node.js 8에서 async/await 적용하며 겪은 콜백 지옥 탈출기
레거시 프로젝트에 Node.js 8 LTS를 도입하면서 Promise와 async/await으로 콜백 패턴을 전환했다. 중첩된 콜백 구조를 리팩토링하며 마주친 에러 핸들링 이슈와 해결 과정을 정리했다.
2017년 10월 11일
Previous
1
More pages
37
38
39
40
41
More pages
43
Next
카테고리
Builder.shin