Builder.shin
Backend
426개의 게시물
Node.js
Node.js 이벤트 루프와 setImmediate, process.nextTick 차이
비동기 작업 스케줄링 중 setImmediate와 process.nextTick의 실행 순서가 예상과 달라 혼란스러웠다. 이벤트 루프 동작 방식을 정리하고 적절한 사용 시점을 정리했다.
2018년 1월 13일
Node.js
Node.js Express 미들웨어에서 에러 핸들링 구조 개선
프로젝트 전반에 흩어져 있던 에러 처리 로직을 중앙화하는 과정에서 겪은 문제들을 정리했다. try-catch 중복 코드를 제거하고 일관된 에러 응답 구조를 만들었다.
2018년 1월 11일
Python
Django ORM N+1 문제 해결하기
Django로 개발한 API 서버의 응답 속도가 급격히 느려지는 문제를 겪었다. 프로파일링 결과 ORM의 N+1 쿼리 문제였고, select_related와 prefetch_related로 해결했다.
2018년 1월 6일
Python
Python 딕셔너리 병합, 3.5+ 언패킹 연산자 활용
두 개 이상의 딕셔너리를 병합하는 작업이 필요했다. Python 3.5부터 지원하는 언패킹 연산자를 사용해 깔끔하게 해결했다.
2017년 12월 23일
Node.js
Node.js 8 LTS에서 async/await를 도입하며 겪은 점들
Node.js 8이 LTS로 전환되면서 프로젝트에 async/await를 본격적으로 도입했다. Promise 체이닝에서 벗어나면서 코드 가독성은 좋아졌지만, 에러 핸들링과 병렬 처리에서 주의할 점들이 있었다.
2017년 12월 17일
Node.js
Node.js 8 LTS에서 async/await 도입 후기
Node.js 8 LTS 업그레이드와 함께 콜백 지옥을 async/await으로 전환했다. Promise 체이닝보다 가독성이 크게 개선되었고, 에러 핸들링도 직관적으로 바뀌었다.
2017년 12월 10일
Node.js
Node.js 8 LTS로 마이그레이션하면서 겪은 이슈들
회사 프로젝트를 Node.js 6에서 8 LTS로 업그레이드했다. async/await 네이티브 지원과 성능 개선이 주요 목표였지만, 몇 가지 예상치 못한 문제들을 마주쳤다.
2017년 12월 7일
Python
Python 멀티프로세싱으로 대용량 CSV 처리 개선
단일 프로세스로 처리하던 300만 건의 CSV 데이터 파싱이 너무 오래 걸려서 multiprocessing 모듈로 개선했다. 처리 시간을 1/4로 단축할 수 있었다.
2017년 11월 29일
Java
Java 8 Stream API에서 예외 처리 패턴
Stream API 사용 중 Checked Exception 처리 문제를 마주쳤다. Lambda 표현식 내부에서 예외를 던지는 메서드를 호출할 때 발생하는 문제와 해결 방법을 정리했다.
2017년 11월 24일
Node.js
Node.js 8 LTS에서 util.promisify로 콜백 지옥 탈출하기
Node.js 8 LTS가 10월에 릴리즈되면서 util.promisify가 정식 기능으로 추가되었다. 레거시 프로젝트의 콜백 기반 코드를 Promise로 전환하면서 겪은 경험을 정리했다.
2017년 11월 23일
Previous
1
More pages
36
37
38
39
40
More pages
43
Next
카테고리
Builder.shin