Builder.shin
Backend
426개의 게시물
Node.js
Express.js에서 async/await를 사용하며 마주친 에러 핸들링 문제
Node 8에서 async/await가 정식 지원되면서 Express 미들웨어에 적용해봤다. try-catch를 빼먹으면 서버가 그냥 멈춰버리는 문제가 있어서 해결 방법을 정리했다.
2017년 5월 26일
Python
Python 2와 3 혼용 환경에서 virtualenv로 프로젝트 관리하기
레거시 프로젝트는 Python 2.7, 신규 프로젝트는 Python 3.6을 사용하는 환경에서 virtualenv로 독립된 개발 환경을 구성했다. 각 프로젝트별로 패키지 의존성을 분리하여 관리하는 방법을 정리했다.
2017년 5월 25일
Node.js
Node.js 프로젝트에서 PM2로 무중단 배포 구성하기
회사 API 서버를 배포할 때마다 서비스 중단이 발생하는 문제가 있었다. PM2의 클러스터 모드와 reload 기능을 활용해 무중단 배포 환경을 구축한 과정을 정리했다.
2017년 5월 21일
Python
Python 2.7에서 3.6으로 마이그레이션 작업 정리
레거시 프로젝트를 Python 2.7에서 3.6으로 마이그레이션하면서 겪은 주요 이슈들을 정리했다. unicode 처리와 print 문법 변경이 가장 큰 작업이었고, 의외로 third-party 라이브러리 호환성 문제가 많았다.
2017년 5월 12일
Node.js
Node.js 8 LTS에서 util.promisify로 콜백 지옥 탈출하기
Node.js 8에서 추가된 util.promisify를 활용해 콜백 기반 API를 Promise로 변환했다. 기존 프로젝트의 복잡한 콜백 체인을 async/await 패턴으로 리팩토링한 과정을 정리했다.
2017년 4월 25일
Node.js
Node.js 비동기 에러 핸들링 - Promise catch 놓쳐서 서버 죽은 이야기
프로덕션 서버가 간헐적으로 죽는 문제를 겪었다. Promise rejection을 제대로 처리하지 않아 발생한 문제였고, unhandledRejection 이벤트로 해결했다.
2017년 4월 20일
Node.js
Node.js 비동기 에러 핸들링 - Promise 체이닝 vs try-catch
API 서버에서 비동기 에러가 제대로 잡히지 않아 서버가 크래시되는 문제를 겪었다. Promise 체이닝과 async/await의 에러 핸들링 방식을 비교하고, 실무에서 안정적인 패턴을 정리했다.
2017년 4월 18일
Node.js
Express 미들웨어 체이닝에서 에러 핸들링 처리
프로젝트에서 Express 미들웨어 체이닝 중 에러 핸들링을 제대로 하지 않아 문제가 발생했다. async 작업에서 발생한 에러가 제대로 전파되지 않아 서버가 응답 없이 타임아웃되는 현상을 해결한 과정을 정리했다.
2017년 4월 9일
Java
Java 8 Stream API에서 예외 처리 패턴
Stream API 사용 중 checked exception 처리 문제를 마주쳤다. 람다 내부에서 발생하는 예외를 어떻게 처리할지 정리했다.
2017년 4월 5일
Java
Java 8 Stream API 실무 적용 후기
레거시 프로젝트에 Java 8 Stream API를 도입하면서 겪은 시행착오를 정리했다. 특히 for문을 무분별하게 Stream으로 변환하면서 발생한 성능 이슈와 해결 과정을 기록한다.
2017년 3월 24일
Previous
1
More pages
40
41
42
43
Next
카테고리
Builder.shin