Builder.shin
전체
1263개의 게시물
gRPC
gRPC 도입 후 REST API와 성능 비교
마이크로서비스 간 통신을 REST에서 gRPC로 전환했다. Protocol Buffers 기반의 바이너리 통신으로 레이턴시가 크게 개선됐고, 타입 안정성도 확보할 수 있었다.
2019년 4월 29일
TypeScript
TypeScript 3.4에서 const assertion 활용하기
TypeScript 3.4에 추가된 const assertion을 프로젝트에 적용해봤다. 리터럴 타입을 보존하면서 불필요한 타입 선언을 줄일 수 있었다.
2019년 4월 27일
React Native
React Native에서 iOS Safe Area 대응하기
iPhone X 이후 노치 디바이스가 늘어나면서 Safe Area 처리가 필수가 되었다. react-native-safe-area-context를 도입하여 기존 하드코딩된 패딩 값들을 제거하고 일관된 레이아웃을 구현했다.
2019년 4월 26일
TypeScript
TypeScript 3.4 const assertion으로 타입 안전성 높이기
TypeScript 3.4에서 추가된 const assertion을 프로젝트에 적용했다. literal type을 더 정확하게 추론할 수 있게 되어 타입 안전성이 개선되었다.
2019년 4월 22일
Golang
Go의 context 패키지로 HTTP 요청 타임아웃 처리하기
외부 API 호출 시 무한 대기 문제가 발생해 서비스 전체가 느려지는 현상을 겪었다. Go의 context 패키지를 활용해 타임아웃을 적절히 처리하는 방법을 정리했다.
2019년 4월 20일
React
React Hooks 도입 후 Custom Hook으로 폼 로직 정리하기
프로젝트에 React Hooks를 본격 도입하면서 반복되는 폼 처리 로직을 Custom Hook으로 추상화했다. Class 컴포넌트 대비 코드량이 30% 이상 줄었고, 로직 재사용이 훨씬 수월해졌다.
2019년 4월 18일
Rust
Rust 첫 프로젝트: CLI 도구를 만들며 배운 소유권 개념
Node.js로 만들던 CLI 도구를 Rust로 재작성하며 소유권 시스템을 처음 접했다. 컴파일러 에러와 씨름하며 배운 기본 개념들을 정리한다.
2019년 4월 15일
React Native
React Native에서 FlatList 성능 개선하기
대량의 데이터를 렌더링할 때 FlatList의 성능 이슈가 발생했다. getItemLayout과 keyExtractor를 적용해 스크롤 성능을 개선한 과정을 정리했다.
2019년 4월 11일
React Native
React Native 0.59 업그레이드 후 Android 빌드 오류 해결
React Native 0.59로 업그레이드 후 Android 빌드가 실패하는 문제가 발생했다. Gradle 버전 충돌과 AndroidX 마이그레이션 이슈를 해결한 과정을 기록한다.
2019년 4월 9일
Python
Python 멀티프로세싱으로 이미지 리사이징 속도 개선
사용자가 업로드한 수천 장의 이미지를 리사이징하는 배치 작업이 너무 오래 걸려서 멀티프로세싱을 적용했다. CPU 코어를 활용해 처리 시간을 1/4로 단축했다.
2019년 4월 6일
Previous
1
More pages
92
93
94
95
96
More pages
127
Next
카테고리
Builder.shin