📝 Situation(상황): 이번주 목표
외부API를 활용해 서비스를 만드는 아웃소싱 프로젝트
우리팀의 경우에는 지도 서비스(카카오map)를 지원하는 웹사이트를 만들기로 결정
위치기반 시스템으로 우리 동네 소모임을 검색, 생성 및 참여할 수 있다.
커밋 COME IT (community meeting service)
"다양한 취미를 함께 즐기며 새로운 친구들과 만날 수 있는 친목 모임, 함께해요!”
👀 Task(임무): situation 중 문제들
여러 문제들 중에서도
메인페이지와 소개페이지에서 쓰는 Slider 컴포넌트를 공용 컴포넌트로 사용 중이었는데
슬라이더의 내용이 될 아이템이나 크기, 한번 이동 시 움직이는 거리, 슬라이더 너비, 구조 등등
모두 다 다르다 보니까 처음 설계해놓은 슬라이더로는 한계가 있었다.
이 문제를 해결하는데에 가장 애를 먹었던 것 같다.
🔍 Action(접근방법): 해결시도
1] 슬라이더 화면에 보여질 아이템 갯수(showContentNum)와
2] 아이템 간의 간격(space),
3] 슬라이더 안에 내용이 될 배열(contents),
4] 클릭시 이벤트에 대한 동작 함수(onClickHandler)를 props를 전달하면 범용적으로 사용할 수 있는 Slider component를 만들었었는데,
위와 같이 들어오는 아이템 타입이 “string”이면 이미지 태그, 아니라면 item으로 설정해두니까
이미지 태그가 아닌 경우에는 대응할 수 없었다.
원래의 의도는 슬라이더 사용하는 컴포넌트에서 아이템 구조를 작성하고 props와 같이 전달하면 슬라이더에서는 받은 아이템들만 쏙쏙 받아서 넣으려고 하였으나,
슬라이더 전체 길이와 버튼 클릭 시 이동할 길이 등이 모두 받아온 props 기준으로 구성되어 있어서 슬라이더 컴포넌트 안에서 아이템 구조가 작성 되어야 했다.
우리팀 프로젝트의 경우 소개 페이지와 메인 페이지 2군데에서 사용중이었는데,
type을 props로 전달하여 타입이 “intro”일 때, “home”일 때를 나눠서 어떤 구조를 적용시켜줄지 지정해주었다.
renderContents 함수를 만들어서
슬라이더 컨테이너 안에 함수를 호출해주는 방식으로 변경했다.
이렇게 하면 공용 컴포넌트로서의 범용성을 상실하여 굉장히 아쉽지만, home과 intro 각각 따로 설정 가능하여 의도한 대로 움직이게 할 수 있었다.
📃 Result(결과): action 후 성과
결과물도 만족스럽지만 무엇보다 이번주 프로젝트를 하며 성장했다고 느낀 부분은
이 캠프에 참여한 이후 처음으로 팀으로 협업한다는 것이 무엇인지 알게된 한 주 인 것같다.
이전에 협업을 할 땐 말로써 이렇게하자 저렇게하자 대충 알아서 하는식이었다면 (그래도 굴러가긴했었지만)
계획단계부터 프로젝트 구성, 와이어프레임, 팀 내 커밋/코드 컨벤션, 역할분담 등
수치 하나까지 모든 것이 체계화 되어있고, 그 덕에 다른 팀원들의 작업량도 바로바로 한 눈에 확인 할 수 있으며,
프로젝트 진행사항이 바로 파악이 되면서 굉장히 "명료"한 느낌을 받았다.
그래서 조금 농땡이 치고 싶은 기분이 들더라도 그럴 수 없었다..유튜브 멈춰..
문제상황에 대한 소통도 활발하고 농담도 하면서 웃으며 작업하다 보니 늦게까지 남아서 하더라도 즐겁게 할 수 있었던 것 같다.
더 영리하게 코드를 작성하고, 클린코드, RESTful API 이런것들도 다 중요한 요소지만
팀으로 작업하면 소통이 참 중요하게 고려해야 할 사항이구나. 그걸 느낄 수 있었던 한 주여서 만족스럽다.
📓 Point(정리): 이번주 요약
KEEP
- 충분한 회의를 통한 프로젝트 계획과 설계
- 꼼꼼한 기록과 점검 (진행 상황, 에러 내용)
- 공통 컴포넌트 먼저 만들고 기능 작업 들어간 점
PROBLEM
- 설계를 꼼꼼하게 하지 못해서 코드를 깔끔하게 작성하지 못한 부분이 아쉬움
- 공용 컴포넌트를 범용성이 좋고 사용하기 편하게 만드는 것이 어려웠음
- 코드 작성에 있어서 재사용성, 모듈화 등 너무 많은걸 고려해 제작 일정이 늦춰짐
TRY
- 진행 상황을 고려해 제작 일정을 효율적으로 관리해야 겠다.
팀원들 느낀점
- 팀원1: 실력차가 났음에도 어느 한 사람 빠지지 않고 마감까지 최선을 다해 매달렸던 것 같다. 개개인의 장점들이 시너지가 되어 좋은 팀워크와 완성도 있는 결과물을 이끌어 낸 것 같아 참 뿌듯하다.
끈질기게 노력하는 동기들의 모습을 보니 나 개인의 감정과 피로감에 침체되지 않을 수 있었고 동기들과 합이 잘 맞다 보니 힘든 와중에도 농담도 치고 웃으면서 프로젝트를 진행할 수 있어 참 좋았다. 또 다들 실력자분들이라 많은 도움을 받을 수 있었고 무엇보다 믿음직해 프로젝트 내내 걱정이 없었다. 정말 감사한 시간이었다. - 팀원2: 이번 프로젝트를 진행하면서 누구 하나 잠수 없이, 다같이 열심히 집중해서 정말 ‘팀’으로서 작업을 할 수 있어서 정말 좋았던 것 같다. 팀 프로젝트는 이렇게 하는거구나 느끼고 많이 배웠다.
고수 분들이 많아서 어떤 아이디어도 다 구현할 수 있을거라는 믿음과 든든함이 있어서 평소라면 시간관계 상 포기했을 것 같은 부분도 더 완성도 높은 프로젝트를 위해 적용시킬 수 있었던 점이 좋았다.
내가 좀 피곤해서 쉬고 싶더라도 다른분들 열심히 하는거 보면서 같이 으쌰으쌰 따라가게 되는 시너지도 좋았던 것 같다. - 팀원3: 같이 팀프로젝트를 하면서 가장 많이 정이 든 조였고, 이야기도 가장 많 이하고 팀합도 가장 좋았던 조였다. 개개인의 실력과 열정, 승부욕이 넘쳐서 프로젝트에 대한 욕심이 많아서 좋았고, 그런것들을 체계화 해줄 실력자가 있으셔서 정말 많이 배우고 즐겁게 진행했던 것 같다.
- 팀원4: 지난 프로젝트에 비해 의지할 사람이 있어서 너무 든든했고, 다양한 기능 구현에 욕심 낼 수 있었던 것 같다. 각자의 장점으로 부족함 없이 프로젝트가 진행되어서 너무 좋았다. 각자의 위치에서 맡은 역할을 너무나도 성실히 수행했고 서로 도와가며 거의 완벽한 프로젝트가 되었던 것 같다.
지난 프로젝트를 성공적으로 마무리하지 못해 아쉬움이 컸는데 이번 프로젝트는 팀도 좋았고, 시너지도 좋았고, 결과물도 좋았다. 모든 것이 조화로웠다. - 팀원5: 지금까지 만난 팀 중에 가장 완벽한 팀이었습니다 !
제가 욕심이 과해서 프로젝트가 어렵게 굴러간 것 같아서 죄송스러웠습니다… 3주간 재미있게 공부할 수 있었고 다들 너무 열심히 하시는 분들이라 무사히 취업까지 성공하실 것 같습니다 !
남은 기간 항상 응원하겠습니다 !
'내일배움캠프 > Weekly I Learned' 카테고리의 다른 글
[WIL 2023.08.06] 내배캠 12주차 (0) | 2023.08.06 |
---|---|
[WIL 2023.07.30] 내배캠 11주차 (0) | 2023.07.31 |
[WIL 2023.06.25] 내배캠 6주차 (0) | 2023.06.25 |
[WIL 2023.06.18] 내배캠 5주차 (0) | 2023.06.19 |
[WIL 2023.06.11] 내배캠 4주차 (0) | 2023.06.12 |