Builder.shin
전체
1263개의 게시물
React
React Context API로 Redux 없이 전역 상태 관리하기
프로젝트 규모가 작은 경우 Redux 도입이 오버엔지니어링일 수 있다. React 16.3에서 개선된 Context API를 활용해 Redux 없이 전역 상태를 관리한 경험을 정리했다.
2018년 10월 3일
JavaScript
Promise.allSettled 폴리필 구현하기
여러 API를 동시에 호출하되 일부 실패해도 나머지 결과를 받아야 하는 상황이 생겼다. Promise.all은 하나만 실패해도 전체가 reject되어 사용할 수 없었고, 직접 allSettled를 구현했다.
2018년 10월 1일
JavaScript
Object.entries()로 폼 데이터 검증 리팩토링
레거시 폼 검증 로직을 Object.entries()로 리팩토링했다. for...in 루프 대신 함수형 접근으로 코드 가독성이 개선됐고, 검증 규칙 추가가 간편해졌다.
2018년 9월 28일
TypeScript
기존 JavaScript 프로젝트에 TypeScript 점진적으로 도입하기
레거시 React 프로젝트에 TypeScript를 한 번에 적용하기엔 리스크가 컸다. allowJs 옵션을 활용해 점진적으로 마이그레이션한 과정을 정리했다.
2018년 9월 23일
JavaScript
Promise.all 오류 하나 때문에 전체가 실패하는 문제 해결
여러 API를 병렬로 호출할 때 Promise.all을 사용했는데, 하나만 실패해도 전체가 reject되는 문제가 있었다. 일부 실패를 허용하면서도 성공한 데이터는 받아올 수 있는 방법을 정리했다.
2018년 9월 20일
TypeScript
TypeScript 컴파일러 옵션 strict 모드 적용 후기
레거시 프로젝트에 TypeScript strict 모드를 적용하는 과정을 기록했다. 단계적 마이그레이션 전략과 주요 이슈 해결 방법을 정리했다.
2018년 9월 19일
React
React 16.5 프로파일러를 실무에 적용해본 후기
React 16.5에서 추가된 Profiler API를 프로덕션 코드에 적용했다. DevTools만으로는 파악하기 어려웠던 실제 사용자 환경의 렌더링 성능을 측정할 수 있게 되었다.
2018년 9월 18일
TypeScript
기존 Express 프로젝트에 TypeScript 점진적으로 도입하기
운영 중인 Express API 서버에 TypeScript를 단계적으로 적용했다. JavaScript와 TypeScript를 혼용하면서 안정적으로 마이그레이션하는 방법을 정리했다.
2018년 9월 15일
Node.js
Node.js API에서 BigInt 다루기 - MySQL BIGINT 변환 이슈
MySQL BIGINT 컬럼을 Node.js에서 조회할 때 JavaScript Number의 안전 범위를 벗어나는 문제가 발생했다. 이를 해결하기 위해 mysql2 드라이버의 supportBigNumbers 옵션을 적용했다.
2018년 9월 14일
JavaScript
JavaScript 비동기 에러 핸들링 정리
프로젝트에서 async/await 사용 중 에러 핸들링이 일관되지 않아 문제가 발생했다. Promise rejection을 놓쳐 unhandled rejection 경고가 계속 뜨는 상황을 정리하며 비동기 에러 처리 방법을 다시 정리했다.
2018년 9월 11일
Previous
1
More pages
100
101
102
103
104
More pages
127
Next
카테고리