Builder.shin
전체
1263개의 게시물
Python
FastAPI에서 Pydantic 모델로 요청 검증 자동화하기
Express에서 FastAPI로 API 서버를 마이그레이션하면서 Pydantic의 자동 검증 기능이 꽤 유용했다. 직접 validator를 작성하던 것에 비해 코드량이 크게 줄었고, 타입 안정성도 확보할 수 있었다.
2020년 9월 7일
Elasticsearch
Elasticsearch 한글 형태소 분석기 적용 및 검색 품질 개선
서비스 검색 기능에 Elasticsearch를 도입했지만 한글 검색 품질이 기대에 못 미쳤다. nori 형태소 분석기를 적용하고 인덱스 설정을 조정하여 검색 정확도를 개선한 과정을 정리했다.
2020년 9월 5일
React Native
React Native에서 Deep Link 처리 시 앱 상태에 따른 분기 처리
푸시 알림을 통한 Deep Link 처리 중 앱이 background/foreground/killed 상태일 때 각각 다른 동작을 보이는 문제를 겪었다. Linking API와 앱 상태 추적을 조합해서 해결한 과정을 기록한다.
2020년 8월 31일
Python
Python asyncio로 API 병렬 호출 최적화하기
외부 API를 순차적으로 호출하던 배치 작업이 30분 넘게 걸리는 문제가 있었다. asyncio와 aiohttp를 사용해 병렬 처리로 전환하니 5분 이내로 단축됐다.
2020년 8월 29일
React
React 컴포넌트에서 이전 props 값 참조하기
useEffect에서 props 변경을 감지할 때 이전 값과 비교가 필요한 경우가 있다. useRef를 활용해 이전 props를 저장하는 커스텀 훅을 만들어 해결했다.
2020년 8월 26일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리 최적화
10GB 규모의 CSV 파일을 메모리 오버플로우 없이 처리해야 하는 요구사항이 생겼다. Node.js의 Stream API를 활용해 메모리 사용량을 1/100로 줄이고 처리 속도도 개선한 경험을 정리했다.
2020년 8월 23일
React
React 17 RC와 점진적 업그레이드 전략
React 17 RC가 공개되었다. 새 기능이 없는 대신 점진적 업그레이드를 지원하는 것이 핵심이다. 레거시 프로젝트에 적용하며 고민했던 부분을 정리한다.
2020년 8월 21일
React
React 17 RC와 점진적 업그레이드 전략
React 17 RC가 공개되면서 새로운 JSX Transform과 점진적 업그레이드 기능을 검토했다. 레거시 프로젝트에 적용 가능성을 확인하고 마이그레이션 계획을 수립했다.
2020년 8월 18일
Flutter
Flutter 웹뷰에서 JavaScript 채널 구현하기
Flutter 앱에서 웹뷰를 사용하다가 네이티브와 JavaScript 간 통신이 필요한 상황이 생겼다. webview_flutter 패키지의 JavascriptChannel을 사용해서 양방향 통신을 구현한 과정을 정리했다.
2020년 8월 16일
React
React 17 RC와 이벤트 위임 변경사항
React 17 RC가 공개되었다. 새로운 기능은 없지만 이벤트 위임 방식이 document에서 root DOM으로 변경되어 레거시 코드와의 통합이 개선되었다. 프로덕션 적용 전 확인이 필요한 부분을 정리했다.
2020년 8월 14일
Previous
1
More pages
72
73
74
75
76
More pages
127
Next
카테고리