2023. 1. 30. 00:39, TIL
오늘 진행한 것들 🤔
- 토이 프로젝트 진행
- 뷰 템플릿 수정
- 해시태그 기능 수정
- Tagify 를 이용한 태그 분리
- 현재 존재하는 태그를 검색해 추천해주는 로직 구현
- 해시태그 기능 수정
- 뷰 템플릿 수정



오늘 겪었던 문제 🤔
- 문제라기보단 성능관련 문제가 있었다.
- Tagify의 옵션중 input이 자바스크립트의 keyup과 기능이 거의 똑같았는데, keyup 관련 기능을 구현할때, 매번 고민한던게 있었다.
- 글자마다 ajax 통신을 해버리면 안녕 이라는 결과를 검색할때 6번의 통신을 하게된다.
- 프론트에서 해결할 수 있을거같아서 스쳐지나가듯이 찾아봤던 기억중에 setTimeOut 이라는 메소드가 있었던거 같아서 엄청 검색을 했었다.
- 한글로 검색하기엔 적절한 태그를 찾지 못했고, 영어로 검색했을때 다행히 나같이 생각을 한 외국 개발자가 있었다.
- 전역변수로 timeout 변수를 만들어주고, 마지막 입력을 하기 직전까지 매 입력마다 변수에 메소드를 저장하고, 마지막 입력 직전까지는 실행되야하는 메소드를 모두 null처리 시켜서 없애주고, 마지막 메소드만 실행할 수 있도록 변경했다.
- 해당 로직은 나중에 검색어 로그 조회라던가, 비슷한 로직으로 캐릭터 검색등등 여러 부분에 쓰일 수 있을거같아서 기록을 해야겠다 다짐했었다.
- Tagify의 옵션중 input이 자바스크립트의 keyup과 기능이 거의 똑같았는데, keyup 관련 기능을 구현할때, 매번 고민한던게 있었다.
오늘 해결한 오류 🤔
오늘의 배운점🤔
- setTimeout 과 clearTimeout
- 좀더 효율적으로 이벤트를 다루기 위해서 알고있어야 할 것 같았다.
- 닉네임 중복조회 같은 로직에 keyup에 사용하면 좋을거같다.
- 노드 모듈을 스프링부트에서 사용하는법
- 기존에 꾸준히 제이쿼리 플러그인을 로드해서 사용중이었는데, npm을 스프링부트에 적용시키는 법도 있더라.
- 단순히 resources 폴더에 진입 후 npm init -> install 패키지 를 하고 핵심 js파일을 로드해오면 됐었다.
- 생성자가 클래스를 읽어오지 못해도 프론트에서 정상적으로 로드가 되더라... 앞으로는 npm으로 더 사용하기 쉽게 설치해야겠다.
'TIL' 카테고리의 다른 글
23-01-31 TIL (0) | 2023.02.01 |
---|---|
23-01-30 TIL (0) | 2023.01.30 |
23-01-25~26 TIL (0) | 2023.01.26 |
23-01-20~23 TIL (0) | 2023.01.25 |
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검 (0) | 2023.01.19 |
Comments, Trackbacks