프로젝트를 하며 FE는 React를 BE는 Django를 새롭게 배우고 협업툴 또한 새롭게 써보게 되는데 그게 바로 trello
우리팀은 trello에 Sprint Meeting, Daily Meeting에서 다뤘던 얘기들과 처음부터 프로젝트 필수 구현 사항
/
추가 구현 사항을 구분 지어 놓고 진행상황과 BF가 모델링한 데이터가 대략적으로 어떻게 들어갈 것이라든 코드를 적어놓아 trello에만 들어가도 총 상황을 한눈에 볼 수있게 하였다.처음 사용해봐서 활용을 잘 하지는 못하였고 FE가 2명이라 나누는게 명확했기에 크게 단위를 잡아 티켓을 누르면 보이는 check list를 활용하여 적어나갔지만
멘토님께서 많은 사람들과 프로젝트를 할 때에는 티켓을 잘게 나누어 작성하는 것이 오히려 더 명확하고 자기 일이 무엇인지 알 수 있다고 조언해주셨다
내가 한 구현은 🙋♀️로 표시 하였다.
React가 뭔가요?,,, 나는 React에 대해서 정말 무지했었다. 무슨 값을 주든 변수를 활용해야한다고 생각을 하지 않고 state에 다 넣었었다.
멘토님의 변하지 않는 값들은 굳이 state에 넣을 필요가 없고 전역변수, 지역변수를 잘 활용하라는 말씀을 따라 그 이후 생각하면서 쓸려고 노력한다.
isLogin
은render
의 지역 변수임으로render
밖에서 쓸 수 없다
&&
사용을 지양한다코드를 계속 줄이는건 가독성과 협업에 용이함 등 많은 이유가 있어
&&
을 활용하려고 노력했었다. 그러므로Link
태그 안에 true면 함수를 불러내는 조건을 걸었는데 계속 개발자 도구에서 warning이 뜨는 것이다.
개발자 도구에 error가 아닌 warning이 뜨는건 참 마음이 찝찝하여 구글링해보니 함수를 넣을 때는 false 조건일 때는 삼항연산자를 써서 null이라던지 다른 값을 넣어야 한다는 것이다.
&&
은 true일 때는 내가 원하는 값을 보여주고 false면 null을 자동적으로 값이 넣어진다고 알았는데 함수라서 그게 안되는 것 같다.
Sign state
Sign function
Sign truthy, falsy 활용
Sign에서 주는 component값
Sign button onClick
0과 1을 truthy, falsy값으로 활용하자!
바뀌는 값으로 조건을 넣을 때
isGenderValue
같은 state값을 따로 만들고 사용해야하는 줄 알았는데 애초에 0, 1이 false이고 true 값이여서 0으로 설정해두고 그 값을 HTTP 통신 body에 담아 주면 불필요한 state를 만들 필요가 없어지게 된다.
Sign state
,Sign truthy, falsy 활용
사진을 참고
바뀌어야하는 데이터 객체는 state에 저장한다
맨 처음 전역 변수 사용하는 법을 몰랐을 때 state에로 넣었더니 불필요한 state는 지양한다는 피드백을 받고 map을 돌릴 값들을 변수에 넣어 사용했는데 로직을 파헤쳐 보니 state에 넣는게 훨씬 간편할 것같다는 피드백을 받아 변경하였다.
어느 것이든 꼭 불필요하다고 매번 안쓰는게 아닌 필요할 때는 적절히 사용할 줄 아는 지혜로운 개발자가 되어야겠다.😎
객체 안 요소를 바꿀 때에는 spread operator
나 concat
을 사용하자
유사배열 특성상 기존 배열을 바꿀 수 없어 바꿀 때는
spread operator
를 추가할 때는concat
을 사용하여 문제를 해결한다.
모든 객체의 요소가 같을 때만이라는 가정일 때는 메소드 every()
를 활용하자
state(바뀐 값)에 의해 fetch()
를 불러내야한다면 callback
을 사용하자
Login과 Sign을 CommonInput컴포넌트를 함께 쓰기에 다른 유효성 조건과 text가 있기에 각 부분에
category: login
category: sign
을 넣어주어 조건을 걸어주었다.
📃 회고록을 마치며
우리 21기는 다른 기수와 다르게 FE가 BE보다 더 적은 특징있었기 때문에 화면 구성을 하는데 힘들 것같다고 생각은 했지만 우리 팀은 FE가 2명의 실력도 둘다 월등한지 않아 서로 의지하며 했던 것 같다. (다른 분들과 비교하는 버릇 좀,,, 😂)
거기에 더하여 내가 Login, Sign의 유효성 때문에 진도를 빨리 나가지 못하고 일주일 이상 거기에 머물러 민폐덩어리일 것이다라고 생각해서 기분이 우울했지만
단 한명도 타박하지않고 첫 번째 프로젝트인만큼 화면 구현보다 하고싶은 기능 구현이 우선이라는 말을 들었을 때 정말 고마웠다.
- 나의 성격을 받아주고 친절했던 윤성님
다음에 다시 팀 만나면 더욱 같이 힘을 나눠서 좋은 페이지 만들어봐요~ 적은 팀원끼리 페이지 만든다고 고생했어요- 많은 경력과 찐 어른답게 저희 팀을 이끌어 줬던 병건님
인스타 login, sign 이후에 또 만나게 되었는데 그 때도 지금도 정말 기다려주시고 초보자 눈높이 맞게 설명 잘해주시고 배려있는 코드란 소통이랑 이런 것이란걸 고맙게 알려주신분! 감사의 말씀 드립니다- 나이와는 다르게 항상 묵직하게 기다려주시는 승원님
승원님과 같이 데이터를 맞춰보는 경우가 많았는데 제가 해매고 있을 때 작은 것 하나하나 알려주셔서 너무 감사했습니다- 문제가 풀릴 때까지 도전하시던 창효님
계속해서 문제를 풀릴 때까지 고심하던 창효님이 생각나네요 다음에는 서로 더욱 좋은 모습으로 만나요~잔잔한 파도같았던 우리 팀들 비록 태풍같은 변수를 맞설 기회는 없었지만 소통이란, 배려란, 협업이란 것을 배웠습니다 너무 감사드리고 저도 더욱 열심히 공부하여 다음에 만나게 된다면 좋은 모습으로 프로젝트 해봐요😉
저는 로그인/회원가입에 유효성검사 못넣어서 참고가 되었습니다! 감사합니다 유정님! 👏🏻 1차 프로젝트 고생많았고 2차때도 화이팅 해요~~