Builder.shin
전체
1263개의 게시물
TypeScript
TypeScript 5.0의 Decorator 메타데이터 적용기
TypeScript 5.0에서 정식 지원되는 Decorator를 기존 NestJS 프로젝트에 적용하면서 겪은 마이그레이션 과정을 정리했다. experimentalDecorators 플래그를 제거하고 표준 스펙으로 전환하는 과정에서 발견한 breaking change들을 기록한다.
2023년 10월 19일
RAG 시스템
LangChain으로 사내 문서 검색 시스템 구축하기
사내 Confluence 문서를 GPT-4로 검색할 수 있는 RAG 시스템을 구축했다. LangChain과 Pinecone을 활용해 벡터 검색 기반 QA 시스템을 만드는 과정을 정리한다.
2023년 10월 17일
React
React 18 Suspense로 데이터 페칭 개선하기
프로젝트에서 복잡한 로딩 상태 관리가 번거로워 React 18의 Suspense를 실제 데이터 페칭에 적용해봤다. TanStack Query와 조합하니 코드가 확실히 간결해졌다.
2023년 10월 16일
TypeScript
TypeScript 5.2 satisfies 연산자로 타입 안전성 높이기
TypeScript 5.0에서 도입된 satisfies 연산자를 프로덕션에 적용하면서 겪은 사례를 정리했다. as 타입 단언의 위험성을 줄이고 타입 추론을 유지하는 방법을 알아본다.
2023년 10월 15일
Golang
Go 1.21 제네릭으로 타입 안전한 Repository 패턴 구현하기
Go 1.18부터 도입된 제네릭을 실무에 적용해봤다. 기존 interface{} 기반 Repository를 제네릭으로 리팩토링하면서 타입 안전성과 코드 중복을 동시에 해결했다.
2023년 10월 13일
React
React Server Components 도입 검토 중 마주친 번들 사이즈 이슈
Next.js 13 app directory를 프로덕션에 적용하면서 발생한 클라이언트 번들 사이즈 증가 문제를 분석했다. Server Component와 Client Component 경계를 재설정하여 해결한 과정을 기록한다.
2023년 10월 7일
TypeScript
TypeScript 5.2의 using 선언으로 리소스 관리 개선하기
TypeScript 5.2에서 추가된 using 선언을 프로젝트에 적용해봤다. 파일 핸들이나 DB 커넥션 같은 리소스 정리 로직을 명시적으로 관리할 수 있어 실수를 줄일 수 있었다.
2023년 10월 1일
Flutter
Flutter 앱 성능 개선 - Skia 렌더링 병목 해결
복잡한 리스트 화면에서 프레임 드롭이 발생하는 문제를 겪었다. DevTools로 분석한 결과 과도한 rebuild와 Skia 렌더링 병목이 원인이었고, RepaintBoundary와 const 위젯 활용으로 해결했다.
2023년 9월 25일
Node.js
Node.js 스트림으로 대용량 CSV 파싱 메모리 문제 해결
500MB 이상의 CSV 파일을 처리하다가 메모리 부족 에러가 발생했다. fs.readFile 대신 스트림 기반 처리로 전환하여 메모리 사용량을 90% 이상 줄일 수 있었다.
2023년 9월 23일
React
React 18 useDeferredValue로 검색 입력 최적화하기
대량의 검색 결과를 렌더링하는 페이지에서 입력 지연 문제가 발생했다. React 18의 useDeferredValue를 적용해 입력 반응성을 개선한 과정을 정리했다.
2023년 9월 22일
Previous
1
More pages
28
29
30
31
32
More pages
127
Next
카테고리