Builder.shin
Backend
426개의 게시물
Python
FastAPI에서 비동기 DB 쿼리 최적화하기
API 응답 속도가 느려져서 원인을 찾아봤더니 비동기 처리가 제대로 안 되고 있었다. SQLAlchemy 비동기 세션과 connection pool 설정을 조정해서 해결한 과정을 기록한다.
2022년 12월 24일
Golang
Go 1.19 제네릭 도입 후 공통 유틸 리팩토링
Go 1.18에서 제네릭이 도입되고 반년이 지났다. 기존 프로젝트의 타입별로 중복되던 유틸 함수들을 제네릭으로 통합하면서 겪은 시행착오와 실제 개선 사례를 정리했다.
2022년 12월 22일
Node.js
Node.js 18 LTS 마이그레이션 후기
10월에 LTS로 전환된 Node.js 18로 프로젝트를 마이그레이션했다. fetch API 내장과 test runner가 가장 큰 변화였고, 일부 deprecated API 대응이 필요했다.
2022년 12월 13일
Golang
Go에서 context.Context 타임아웃 처리 패턴
외부 API 호출 시 타임아웃을 제대로 처리하지 않아 서비스 전체가 느려지는 문제가 발생했다. Go의 context 패키지를 활용해 타임아웃과 취소를 안정적으로 처리하는 방법을 정리했다.
2022년 12월 1일
Node.js
Node.js 18 LTS로 마이그레이션하면서 겪은 이슈들
프로젝트를 Node.js 14에서 18 LTS로 업그레이드하면서 마주친 문제들을 정리했다. fetch API 기본 탑재, OpenSSL 3.0 관련 이슈, 그리고 deprecated된 API들을 처리한 과정을 기록한다.
2022년 11월 29일
Node.js
Node.js 18 LTS에서 내장 fetch API 사용하기
Node.js 18이 LTS로 전환되면서 내장 fetch API를 프로덕션에서 사용할 수 있게 되었다. 기존 axios, node-fetch 의존성을 제거하고 네이티브 fetch로 마이그레이션한 경험을 기록한다.
2022년 11월 27일
Python
FastAPI에서 비동기 DB 커넥션 풀 관리하기
FastAPI 프로젝트에서 asyncpg를 사용하면서 커넥션 풀 관리 문제를 겪었다. 요청이 몰릴 때마다 커넥션이 고갈되어 타임아웃이 발생했고, 이를 해결한 과정을 기록한다.
2022년 11월 24일
Rust
Rust로 CLI 도구 만들며 배운 소유권 시스템
프로젝트 템플릿 생성 CLI 도구를 Rust로 만들면서 소유권 시스템과 씨름했다. Node.js에서는 고민하지 않았던 메모리 관리를 명시적으로 다루면서 느낀 점들을 정리했다.
2022년 11월 23일
Node.js
Node.js 18 LTS 전환하면서 fetch API 도입한 경험
Node.js 18이 LTS로 전환되면서 프로덕션 환경에 적용했다. 기존 axios 의존성을 줄이고 native fetch API를 일부 도입하면서 겪은 경험을 정리했다.
2022년 11월 22일
Golang
Go 1.19의 메모리 모델 변경과 동시성 버그 수정기
프로덕션에서 간헐적으로 발생하던 race condition을 추적하던 중 Go 1.19의 메모리 모델 변경사항을 발견했다. sync.Map과 atomic 패키지 사용을 개선하며 문제를 해결한 과정을 기록한다.
2022년 11월 9일
Previous
1
More pages
11
12
13
14
15
More pages
43
Next
카테고리
Builder.shin