한달 동안 기본기를 다지고, 실제 현업에서의 업무 방식을 그대로 적용하여 진행하는 1차 프로젝트!
프로젝트 시작할 때 멘토님들이 강조했던 "결국엔 모든 것이 태도와 소통의 문제입니다." 라는 이 한줄의 중요성을 깨닫는 기간이었다.
프로젝트 초기에 우리팀은 어떤 팀인가?에 대한 질문에 '능력있고 분위기 좋은 팀'이라고 답한 적이 있는데,
이 생각은 프로젝트가 끝난 지금도 변함이 없을 정도로 우리 팀은 소통, 배려, 실력 어느 한 부분 모자람 없는 팀원들이 모였고, 그래서 결과물도 굉장히 만족스럽다!
2주 동안 고생한 평생 친구 LIFE FRIENDS! 그대들과 함께해서 행복했습니다💜
백엔드와 협업하는 1차 프로젝트인 라인프렌즈 클론 코딩
Trello란 팀 프로젝트 진행 시 유용하게 사용 되는 프로젝트 관리 프로그램
setinterval을 활용한 상단 구현
💬 메인을 담당하게 되고.. 가장 어려울 것이라 생각했던 부분. 생각처럼 시간은 오래 걸리지 않았던 것 같다. 다만 컴포넌트 언마운트 후의 처리를 하지 않아 멘토님의 리뷰를 보고 후에 반영했다.
clearInterval
처리를 하지 않으면 컴포넌트가 언마운트 되어도 계속 실행되므로 성능상 좋지 않다Prev, Next Btn 구현
한 페이지씩 넘기기
💬 여기도 생각보다 오래걸리진 않은 것 같다. 데이터를 배열로 가져와서 Btn 클릭 시 index값을 설정해주면 된다. 고려해야 할 내용은 배열의 첫과 끝에 다다랐을 때에 index의 값을 setstate로 값을 설정해서 무한으로 페이지가 넘겨질 수 있도록 구현
카드가 화면에 보일수 있는 개수만 보여주고 NextBtn클릭시 그 다음 개수 보여주기
💬 이 부분은 좀 까다로웠다. 우선 반응형으로 구현해두었기에, 화면에 따라 보여지는 카드의 수를 가져오는 것이 필요했는데 document.documentElement.clientWidth
를 처음 사용해보며 화면 사이즈에 대한 개념을 배울 수 있었다
page Btn 구현
무한스크롤 기능 구현
💬 처음에는 백엔드에서 100개의 이미지를 한 번에 받아 온 후 스크롤될 때마다 일부 데이터를 보여주도록 구현했는데, 성능저하의 문제로 백엔드로부터 스크롤 될 때마다 10개씩의 데이터를 받아오는 방법으로 바꿨다. 그래서인지는 모르지만;; 스크롤 될 때 이미지가 로딩되는 속도가 좀 빨랐던 것 같다;;
로그인 회원 쿠폰 데이터 받아오기
💬User가 로그인하면 User의 이름 받아오기. 백엔드와 API 주고 받기. 토큰 받아와서 백엔드에 보내주면 user 여부 체크해서 다시 보내주기
리뷰 기능
리뷰 평점
💬 소수점 단위의 평점을 표현하는 스타일링에서 많이 헤맨...ㅠ 멘토님의 도움받아 살릴 수 있었던 기능..🥲 문제는 결국 lifecycle의 문제였는데, 이번 프로젝트하면서 가장 많이 배운 점이기도 하다. 오류가 발생할 때마다 거의 대부분의 이유는 lifecycle이었다... 🥲🥲 오류 덕분에? lifecycle은 질리도록 익혔다;;ㅎㅎㅎ
리뷰 등록
💬 1차 프로젝트에서 젤 애정하는 코드💜 생각보다 시간 오래걸리지 않아서 더 뿌듯했던 코드!
this.myRef = React.createRef();
를 사용해본 코드! react에서 요소 선택시 사용한다.
평점 선택 전 마우스가 over될 때 dataset 값을 가져와서 색 변경해주고, leave될 때 색 변경된 효과를 초기화 하기!
유림님 !!! 프로젝트 너무 수고하셨어요 ❤️
분위기 좋은 라인프렌즈팀 보면서 저도 덩달아 기분이 좋았습니다!
PM으로서의 유림님의 모습 정말 멋졌어요 ! 다음 프로젝트도 화이팅입니다👍🏻