Builder.shin
Backend
426개의 게시물
Golang
Go에서 context 취소 시 goroutine 정리 패턴
API 서버에서 요청 취소 시 goroutine이 정리되지 않아 메모리 누수가 발생했다. context.Context를 활용한 graceful cleanup 패턴을 적용해 문제를 해결했다.
2022년 5월 21일
Node.js
Node.js 서버에서 메모리 누수 추적하기
프로덕션 환경에서 Node.js 서버의 메모리가 계속 증가하는 문제를 겪었다. heapdump와 Chrome DevTools를 활용해 원인을 찾고 해결한 과정을 정리했다.
2022년 5월 18일
Node.js
Node.js 18의 Fetch API 도입과 마이그레이션 경험
Node.js 18에서 기본 탑재된 Fetch API를 프로젝트에 적용하면서 겪은 경험을 정리했다. axios에서 fetch로 전환하며 주의해야 할 점과 실제 코드 변경 사례를 다룬다.
2022년 5월 15일
Rust
Rust로 CLI 도구 만들어보기 - clap 라이브러리 사용기
Node.js로 작성한 내부 배포 도구의 성능 문제로 Rust로 재작성했다. clap 라이브러리를 사용해 CLI 인터페이스를 구성하면서 배운 점들을 정리한다.
2022년 5월 7일
Rust
Rust로 CLI 도구 만들며 배운 소유권 개념
프로젝트 파일 검색 도구를 Rust로 만들며 소유권과 빌림 규칙을 실전에서 이해하게 됐다. Node.js로 10분이면 만들 걸 3시간 걸렸지만, 컴파일러 에러 메시지가 좋은 선생님이었다.
2022년 4월 26일
Python
FastAPI에서 Pydantic 모델 검증 실패 시 커스텀 에러 처리
API 서버를 FastAPI로 마이그레이션하면서 Pydantic 검증 에러를 프론트엔드에 맞는 형식으로 변환해야 했다. RequestValidationError를 커스텀 핸들러로 처리해 일관된 에러 응답을 구현했다.
2022년 4월 23일
Rust
Rust로 CLI 도구 만들어보며 배운 것들
Node.js로 작성했던 사내 배포 스크립트를 Rust로 재작성했다. 실행 속도와 배포 편의성 측면에서 확실한 이점이 있었고, 소유권 시스템에 대한 이해도 높일 수 있었다.
2022년 4월 18일
Node.js
Node.js 16에서 17로 마이그레이션하며 겪은 OpenSSL 3.0 이슈
Node.js 17 업그레이드 후 빌드 파이프라인이 깨졌다. OpenSSL 3.0으로 인한 레거시 암호화 알고리즘 지원 중단이 원인이었고, 환경변수로 임시 해결했다.
2022년 4월 13일
Python
Python FastAPI에서 동기 DB 라이브러리 async로 전환하기
FastAPI 프로젝트에서 psycopg2를 사용하다가 성능 이슈로 asyncpg로 전환했다. 동기 방식의 DB 호출이 ASGI 서버의 이벤트 루프를 블로킹하면서 발생한 문제와 해결 과정을 기록한다.
2022년 4월 12일
Python
FastAPI에서 Pydantic 모델 검증 실패 시 커스텀 에러 응답 처리
FastAPI에서 Pydantic 검증 실패 시 기본 에러 메시지가 프론트엔드에서 사용하기 불편했다. 커스텀 exception handler를 구현해 일관된 에러 응답 포맷을 적용했다.
2022년 4월 9일
Previous
1
More pages
15
16
17
18
19
More pages
43
Next
카테고리
Builder.shin