Today I Learned
- 오늘은 프로젝트의 잔 오류를 수정했다.
Wait for User to Stop Typing
- Netflix는 User가 검색창에 한 글자를 입력할 때마다 검색 결과를 화면에 보여주는데, 약간의 텀이 있어 사용자 경험이 부드러웠다.
- 나는 처음에 Keyup Event Handler에서 input value를 가져와 조건에 따라서 검색을 시켰는데, Search component에 쿼리를 붙여서 라우팅 하는 방식으로 구현하다 보니까 검색어가 완성되지 않았을 때 오류가 나며 깜빡이는 이슈가 생겼다.
- User가 원하는 검색어를 입력할 때까지 기다리는 일이 필요했다! !wait for user to stop typing ◀ 이 글을 참고해서 훨씬 부드러운 검색 화면을 구현했다.
- setTimeout을 이렇게 쓸 수 있다니 굉장히 유용한 스킬을 배운 것 같아 기분이 좋다.
Module 분리
파이널 프로젝트의 구현이 거의 끝나서 모듈을 분리하는 작업을 할 것이다.
Feature module, Shared module, Core module로 분리한다.
- Feature module : 기능 모듈. 특정 화면을 구성하는 구성 요소
- Shared module : 공유 모듈. App 전역에서 사용하는 Component, Directive, Pipe 등
- Core Module : 핵심 모듈. App 전역에서 사용하는 Data Service, Authentication Service, Authentication Guard 등