RSS DEV 커뮤니티

음성 우선 할 일 목록을 실제로 빠르게 만든 방법 (그리고 왜 절반을 다시 작성했는지)

이 투두 앱은 처음에는 과도하게 설계되어 모든 작업을 백엔드를 통해 라우팅하여 과도한 API 호출로 인해 성능이 저하되었습니다. 개발자는 프론트엔드와 백엔드에 각각 네이티브 iOS와 NestJS를, 데이터베이스로 Firestore를 Google Cloud Run에 선택했습니다. 제어와 보안에 대한 욕구로 시작된 초기 아키텍처는 앱의 속도를 현저하게 늦췄습니다. 베타 테스트에서 속도 저하가 드러난 후, 개발자는 실시간 리스너 및 오프라인 지원과 같은 Firestore의 네이티브 기능을 활용하는 하이브리드 방식으로 전환했습니다. 이는 작업 읽기 및 업데이트에 직접 클라이언트 측 접근 방식을 사용하고, 백엔드는 음성 변환 및 할당량 관리와 같은 작업에만 사용한다는 의미였습니다. 이 변경으로 작업 완료 시간이 500-1000ms에서 50-100ms로 단축되면서 성능이 크게 향상되었습니다. 새로운 방식은 Firestore의 보안 규칙을 활용하여 권한 부여를 처리하여 광범위한 백엔드 검증의 필요성을 없앴습니다. 이러한 성능 향상은 조기 최적화의 함정과 플랫폼 기능을 활용하는 것의 장점을 강조했습니다. 이 이야기는 플랫폼의 강점을 활용하는 "지루한" 솔루션이 종종 최고의 결과를 제공한다는 점을 강조합니다. 이제 앱은 더 빠른 작업 완료와 함께 더욱 반응적인 사용자 경험을 제공합니다. 개발자는 과도한 설계가 속도를 저해할 수 있으며, 가장 직접적인 방법을 선택하는 것이 중요하다는 것을 배웠습니다.
favicon
dev.to
How I Made a Voice-First Todo List That's Actually Fast (And Why I Rewrote Half of It)
기사 이미지: 음성 우선 할 일 목록을 실제로 빠르게 만든 방법 (그리고 왜 절반을 다시 작성했는지)
Create attached notes ...