본문 바로가기
카테고리 없음

TIL 77일차 (2023-08-31) 리팩토링의 날

by seungbeom35 2023. 8. 31.

<오늘 작업 한 것들>

1. refactor. post Mutation, return문 

2. Globe 파일 함수 정리

3. Globe 파일 없을 때 아무것도 안 띄우기 적용

4. Globe Cluster cluster 클릭 시 그쪽으로 이동

5. Globe Cluster 에러 수정

6. SearchList return문 파일 정리

7. Figma Cluster로 이미지 변경

8. myData 관련 수정, 삭제시 즉시 반영

9. LikeList className -> ref로 변경


[면접 질문]

브라우저의 작동방식에 대해서 설명해주세요

 

대답: 사용자가 URL을 입력하면 브라우저는 서버에 HTTP 요청을 보내고 데이터를 수신합니다.
받은 HTML, CSS는 파싱되어 DOM과 CSSOM 트리를 생성해 렌더 트리로 병합됩니다. 렌더 트리를 기반으로 레이 아웃 단계에서 각 요소와 크기와 위치를 계산하여 계산된 정보로 화면에 페이지를 그립니다.
그 다음 JavaScript 코드가 실행되어 추가적인 컨텐츠나 기능이 로드되며, 페이지가 완전히 로드됩니다.

 

[Trobule Shotting]

[문제점]

1.파일 중 작업을 하는데 수정을 하고 나서 보니 즉시 반영이 아니라 새로 고침을 해야 작업에 대해 반영이 된다.

2. Globe에서 회원가입을 하고 my로 갔을때 아무것도 나타나지 않는게 아니라 검색에 있는 모든 데이터가 나타나는 오류가 발생한다.

[고민의 흔적]

1. data가 반영이 되는지 먼저 확인을 위해 직접 console로 찍어본다.

1-1. 리팩토링을 하기 전에 제대로 작업이 되었나 먼저 확인한다.

 

2. data가 반영이 되는지 먼저 확인을 위해 직접 console로 찍어본다.

2-1.Globe에서 글을 등록 해보니 1개 등록시 my에 있을때 나의 글 1개가 나타 난다.

2-2. if문에 빈 배열도 true로 나오는데 빈 배열로 된 것을 타입 설정을 따로하 힘들다.

 

[해결 과정]

1. 리팩토링 전에 결과 값이 잘 나왔어서 리팩토링을 할 때 매개변수로 가져갈 것을 잘 고르고 가져간다.

1-1. 따로 파일에 빼줄 함수는 밑의 함수를 같이 가져가는것을 제외하고 하자.

 

2. 빈 배열로 작업되는 파일을 length === 0일 경우에도 발생하게 하여서 문제를 해결했다.