Builder.shin
전체
1263개의 게시물
Python
Python 멀티프로세싱으로 데이터 처리 속도 개선
단일 스레드로 처리하던 대용량 CSV 파싱 작업이 너무 오래 걸려서 멀티프로세싱을 도입했다. GIL 제약을 우회하고 4배 이상 성능 향상을 얻었다.
2018년 7월 12일
Golang
Go 1.10 컨텍스트 타임아웃 처리 패턴
외부 API 호출이 많은 서비스에서 타임아웃 처리를 위해 Go의 context 패턴을 적용했다. 기존 채널 기반 타임아웃보다 명확하고 전파가 용이했다.
2018년 7월 4일
Python
Python Decorator를 이용한 API 요청 로깅
사내 레거시 API 서버의 디버깅을 위해 요청/응답 로깅을 추가했다. Decorator 패턴을 활용하여 기존 코드를 최소한으로 수정하면서 로깅 기능을 적용한 과정을 정리한다.
2018년 7월 3일
TypeScript
TypeScript 도입 검토 - 프로젝트에 적용할 수 있을까
팀 내에서 TypeScript 도입 논의가 시작됐다. 기존 JavaScript 프로젝트에 점진적으로 적용 가능한지, 러닝커브는 어느 정도인지 검토한 내용을 정리했다.
2018년 7월 2일
React
React 컴포넌트 성능 최적화: shouldComponentUpdate vs PureComponent
대시보드 프로젝트에서 불필요한 리렌더링으로 인한 성능 저하가 발생했다. shouldComponentUpdate와 PureComponent를 적용해 해결한 과정을 정리했다.
2018년 6월 25일
JavaScript
Promise.all과 에러 핸들링 - 일부 실패해도 계속 진행하기
여러 API를 동시에 호출할 때 Promise.all을 사용했는데, 하나만 실패해도 전체가 중단되는 문제가 있었다. 일부 실패해도 성공한 요청은 처리할 수 있도록 개선한 과정을 정리했다.
2018년 6월 21일
CSS
CSS Grid와 Flexbox 혼용하여 복잡한 레이아웃 구성하기
관리자 대시보드 리뉴얼 작업 중 CSS Grid와 Flexbox를 적절히 혼용해 반응형 레이아웃을 구현했다. 각각의 특성을 이해하고 적재적소에 활용하는 것이 중요했다.
2018년 6월 19일
Node.js
Node.js 비동기 처리 중 발생한 메모리 누수 해결
대용량 CSV 파싱 API에서 메모리 사용량이 지속적으로 증가하는 문제를 겪었다. stream을 제대로 종료하지 않아 발생한 메모리 누수였고, 이를 해결한 과정을 기록한다.
2018년 6월 16일
JavaScript
Promise.allSettled 폴리필 구현
Promise.all은 하나라도 reject되면 전체가 실패한다. 모든 Promise의 결과를 성공/실패 여부와 상관없이 받아야 하는 상황에서 allSettled 패턴을 구현했다.
2018년 6월 15일
React
React 16.3 Context API로 다국어 시스템 리팩토링
기존에 props drilling으로 구현했던 다국어 처리를 React 16.3의 새로운 Context API로 마이그레이션했다. Redux를 쓰기엔 과한 상황에서 좋은 대안이 됐다.
2018년 6월 12일
Previous
1
More pages
103
104
105
106
107
More pages
127
Next
카테고리