Builder.shin
전체
1263개의 게시물
Python
Python 비동기 처리에서 asyncio.gather()와 as_completed() 선택 기준
API 크롤러 리팩토링 중 asyncio.gather()와 as_completed()의 차이를 정확히 파악하게 됐다. 결과 순서 보장 여부와 메모리 효율성 측면에서 명확한 차이가 있었고, 각 상황에 맞는 선택 기준을 정리했다.
2023년 6월 23일
React
React Server Components 도입 검토하다 보류한 이유
Next.js 13에서 정식 지원되기 시작한 React Server Components를 프로젝트에 도입하려 했으나, 생태계 성숙도와 마이그레이션 비용 문제로 보류하게 되었다. 실제 검토 과정에서 마주친 제약사항들을 정리한다.
2023년 6월 20일
React
React Server Components 도입 검토하며 느낀 점
Next.js 13 app 디렉토리를 프로덕션에 적용하기 위해 RSC를 학습했다. 기존 CSR 중심 사고방식에서 벗어나는 과정이 쉽지 않았지만, 번들 사이즈와 초기 로딩 속도 개선 효과는 확실했다.
2023년 6월 18일
Node.js
Node.js 스트림으로 대용량 CSV 처리 최적화
월간 정산 배치 작업에서 메모리 부족 에러가 발생했다. 5GB 크기의 CSV 파일을 스트림으로 처리하도록 리팩토링하여 메모리 사용량을 90% 줄였다.
2023년 6월 15일
Golang
Go 1.21 베타 제네릭 개선점 정리
Go 1.21 베타에서 제네릭 타입 추론이 개선되었다. 기존에 명시적으로 타입을 지정해야 했던 상황에서 컴파일러가 자동으로 추론하게 되어 코드가 간결해졌다.
2023년 6월 12일
RAG 시스템
LangChain과 Pinecone으로 사내 문서 검색 시스템 구축
GPT-4 API를 활용해 사내 기술 문서 검색 시스템을 만들었다. 단순 키워드 검색의 한계를 임베딩 기반 유사도 검색으로 해결하고, LangChain으로 컨텍스트를 주입해 답변 품질을 높였다.
2023년 6월 10일
TypeScript
TypeScript 5.1의 undefined 반환 함수 타입 체크 개선
TypeScript 5.1에서 개선된 undefined 반환 함수의 타입 체크를 업무에 적용하면서 겪은 경험을 정리했다. 기존에 암묵적으로 허용되던 패턴이 더 엄격해지면서 발생한 이슈와 해결 방법을 다룬다.
2023년 6월 7일
Cursor
GPT-4 API를 활용한 코드 리뷰 자동화 실험
GitHub Actions에 GPT-4 API를 연동해 PR 코드 리뷰를 자동화하는 실험을 진행했다. 완벽하진 않지만 명백한 버그나 컨벤션 위반을 찾아내는 데는 유용했다.
2023년 5월 31일
Python
FastAPI에서 Pydantic V2 마이그레이션 대응하기
Pydantic V2 베타가 출시되면서 FastAPI 프로젝트에서 호환성 문제가 발생했다. 당장 마이그레이션은 어려워 V1으로 고정하고, 주요 변경사항을 미리 파악해두었다.
2023년 5월 28일
Python
FastAPI 비동기 처리 중 DB 커넥션 풀 고갈 이슈
FastAPI로 마이그레이션 후 트래픽 증가 시 DB 커넥션 풀 고갈 현상이 발생했다. SQLAlchemy의 비동기 엔진 설정과 커넥션 라이프사이클 관리를 통해 해결한 과정을 기록한다.
2023년 5월 20일
Previous
1
More pages
33
34
35
36
37
More pages
127
Next
카테고리
Builder.shin