기록2
11월7일
-
팀 프로젝트 - 제품 상세페이지 css 작업 완료
- 프론트엔드 개발자 회의
- 각자 해야할 파트 상세하게 적기 (노션)
- 프론트엔드 개발자 회의
-
모던 자바스크립트 공부(객체: 기본 파트 공부완료)
- 가비지 컬렉션 : 눈에 보이지 않는 메모리 관리 수행
- this: 화살표함수의 this와 메서드의 this는 동작방식이 다름
- 옵셔널 체이닝 ’?’: ?. 앞의 대상이 undefined나 null이면 평가를 멈추고 undefined을 반환한다.
-
모던 자바스크립트 공부(자료구조와 자료형 파트중에서 다음의 섹션들 공부)
- 원시값의 메서드 : 원시값의 종류는 string,number,bigint,boolean,symbol,null,undefined 등 총 일곱가지다.
- 숫자형
- 문자열
- 배열 : 배열의 끝부터 요소를 추가하고, 빼내는 push,pop 메서드와, 배열의 맨 앞에서부터 요소를 추가하고 빼내는 shift,unshift메서드가있다.
일반적으로 맨 끝에서부터 요소를 추가하고 뺴내주는
push,pop
메서드가 더 빠르다.
11월 8일
-
모던 자바스크립트 사이트에서 공부
-
Map, Set : 키가 있는 데이터를 저장한다는 점에서 객체와 유사하다. 다양한 자료형을 허용한다.
-
WeakMap,WeakMap.Set : Map 사용법과 동일하지만,가비지 컬렉션이 일어난다. 반복작업(keys(),values(),entries() ..등등) 메서드를 지원하지 않는다.
-
각종 배열관련 메서드
- Object.keys(obj) : 객체의 키만 담은 배열을 반환한다.
- Object.values(obj) : 객체의 값만 담은 배열을 반환한다.
- Object.entries(obj) : [키, 값] 쌍을 담은 배열을 반환한다.
-
구조 분해 할당 : 객체나 배열을 변수로
분해
할 수 있게 해준다. ex)// 이름과 성을 요소로 가진 배열 let arr = ['Bora', 'Lee']; let [firstName, surname] = arr; alert(firstName); // Bora alert(surname); // Lee
-
Date 객체와 날짜
-
11월 9일~12일
휴식
11월 13일
팀 플젝중 깃 충돌이 일어났다. 각자 브랜치를 따고 푸쉬후 pr을 날려서 자신이 수락하는 형태였는데 이 방식이 문제였다. 앞으로 이런 상황을 방지하고자 프론트엔드 리더분이 다음과 같은 방안을 제시했다.
- 다같이 온라인으로 만나서 1주일 단위로 pr 할 것 (일요일 회의 끝나고 하는걸로)
- pr하기전 정해진 리뷰어가 코드를 확인후 수락해줄것
깃 충돌을 말로만 들었는데 이렇게 광범위한 충돌을 경험한게 갚진 경험인 것 같고 프론트엔드 리더분이 헤쳐나가고, 소통하는거를 지켜보는 것 만으로도 커뮤니케이션 방식과 깃 충돌에 대처하는 것 등등에대해서 한단계 도약한거 같은 기분이다.
11월 14일
팀 플젝 작업
-
제품 리스트 페이지 디자인 변경사항 css적용
- 폰트사이즈, 마진값, 패딩값 기타 등등 적용
- 폰트사이즈, 마진값, 패딩값 기타 등등 적용
-
제품 리스트 페이지 카테고리 api통신 적용
-
postman에서는 문제없었으나, 로컬(브라우저 환경)에서 api통신할때 401에러 발생
- 프록시 문제였다. 프론트엔드 리더분이 해결해주셨다. 현재 플젝 환경이 vite+리액트 환경인데 vite 환경설정 및 axios 설정으로 해결했다.
axios 환경설정한 코드 첨부.
import axios from 'axios';
axios.defaults.withCredentials = true;
const instance = axios.create({
baseURL: '/api',
timeout: 1000,
headers: {
'Content-Type': `application/json;charset=UTF-8`,
Accept: 'application/json',
'Access-Control-Allow-Origin': `http://localhost:주소`,
'Access-Control-Allow-Credentials': 'true',
withCredential: true,
},
});
export default instance;
11월 15일
팀 플젝 작업
-
axios를 사용해서 카테고리 목록을 불러오는 것을 react-query로 바꿧다.
-
향수 데이터 불러오는것을 react-query로 바꿧다.
-
react-query 개념을 다시 짚고 넘어갔다.
- useQuery:일반적으로 데이터 get할때 사용
- useMutation:put,post,delete할때 사용
- 카테고리를 선택하면 url에 query로 찍히는게 어떻겠냐는 제안을 받아서 임시로 구현을 했다.
Ex)
http://localhost:5001/perfumes?category='프루티'
지금 현재는 useState에 카테고리 값이 저장되어있는 상태라, 새로고침을 하면 초기의 카테고리로 돌아가게된다. 이것은 사용자가 불편을 초래할 수 도 있다는 의견인데.. 나도 이에 동의해서 구현을 해봤다. 프론트엔드 리더가 참고하면 좋을만한 링크들을 보내줘서 그것을 보고 구현을 해봤다. useSearchParams을 활용했다.
11월 16일
팀 플젝 작업
프론트 리더분이 CI/CD 작업중 이미지 경로때문에 에러가 났다고해서, 경로 수정을 해줬다. 리액트에서 이미지 경로는 public에 넣어주면된다고 알고있었는데, api통신 전에 임시로 pages폴더에 넣어둔 image가 문제였다.
11월 17일
팀 플젝 작업
제품 상세 페이지 1200그리드로 다시 제작된 UI CSS작업.