프로젝트 초기 개발, 기획서 제출
spinner까지...👍👍
기획서는 늘 어려우면서도 쉽다.
쉬운 부분은 미리 정했던 부분, 컨벤션이라던지 유저스토리, 와이어 프레임, 플로우 차트 등 프로젝트를 하면서 자연스럽게 필요로 하는 부분을 기술하면 된다.
하지만 초기 개요, 기획 의도와 효과를 쓰는 부분이 어렵다.
그래서 어제 쓰다가 지우다를 반복했는데..오늘 아침 스크럼에서 팀원들과 함께 작성해서 나름 깔끔하게 작성했다.
몇 가지 고민했던 부분이 구체적인 자료를 탑재해야하나?
와 비슷하면서도 다른 개요와 기획 의도, 기대효과를 어떻게 잘 흐름있게 쓸 것인가?
였는데 팀원분들도 프로젝트는 아니여도 업무를 하면서 이런 경험들을 하셨어서 이런 부분에서 좋은 아이디어를 내주시고 좋은 문장과 흐름을 작성해주셨다! 그래서 해결했다.
프로젝트를 진행하며 여러 개선방안들이 나오고 최대한 반영할 예정인데 그러한 개념에서 오늘 팀원이 제시한 2가지 방식이 나왔다.
첫 번째로 이미지 최적화이다. 이미지를 어느 시점에서 불러와서 데이터를 절약해줄 것인가의 주 목적을 두고 있는데, 가장 간단한 방법은 img태그의 lazy 기능을 사용하는 것이다. 다행히도 우리의 타겟층이 젊은 세대라서 최신 기능임에도 사용을 고려하기는 충분했다.
하지만 조금 더 원하는 방향으로 정확하게 쓸 수 있는 intersection observer API 기능도 나왔는데 이 부분은 고민을 해봐야겠지만 후자를 선택하는 것이 좋지 않을까 하는 생각이다. 요즘 이런 기능들에 대해서 면접에서 많이 물어본다고 하는데 그런 경험 측면에서도 intersection observer API 기능으로 해보는 것이 나을 것 같다는 생각이다.
두 번째로 FC 사용 지양이다.
간단하게 원인을 말해보자면 자식 prop이 옵셔널 속성으로 명시되어서 굳이 명시하거나 명시하지 않아도 되는데 에러가 나기도 하고, 제네릭이나 defaultProps 속성이 적용되지 않는 많은 문제가 있다.
그래서 사용을 지양하려고 하는데 어렵지 않다. 간단하게 props의 타입만 잘 지정해주면 문제 없이 진행할 수 있다.
팀원 중 한 분이 오늘 PR을 보내는 과정에서 conflict가 발생했다. 그런데 에러가 너무나도 어이가 없었다.
일단 발생한 문제점을 자세히 분석하자면 다음과 같았다.
일단 근본적인 문제 해결책보다 발생한 conflict를 해결하고 PR을 정상화 시키는데에 목적을 두었다. 가장 간단한 방법은 conflict가 발생한 파일들을 직접 해결해주는 것이였고, 몇 가지 파일들을 수정하니 정상적으로 PR을 생성 가능했다.
이후에 나도 동일한 문제를 겪었다. 조금 과장을 보태면 일부러 비슷한 상황을 만들어봤고, 이번에는 코드가 더 많아져서 그런지 많은 부분에서 conflict가 났다. 그래서 일단 git을 통해서 merge 명령어를 실행하기 전 커밋으로 되돌린 뒤 git pull --rebase origin dev
가 아닌 git pull origin dev
를 사용했다.
--rebase를 사용하는 이유는 지금까지 알고 있기로는 이력을 남기는 지 아닌지로 나뉘는 것으로 알고 있다. 그래서 이번에는 일부러 이력을 남기도록 --rebase 명령어를 빼고 했더니... 너무 잘 동작했다. 왜일까? 솔직히 이해가 잘 가지 않았다. 차이점을 찾아봤는데도... 잘 모르겠어서 이 부분은 멘토님께 질문사항으로 남기려고 한다.
너무너무 감사드립니다..!
사실 팀장을 맡기는 했지만 디테일하게 챙기지 못했다는 생각이 계속 든다. 여러 이유가 있는데...여튼 그런 고해성사는 나중에 해보도록 하고 결론은 나의 부족함 때문이다. 그런 부족함 때문에 더 열심히하려고 하고, 특히 외적인 부분에서 팀원들이 신경쓰지 않았으면 하는 바람이 있어서 그런 디테일을들 혼자 했는데 오늘 팀원들이 이런 멘트를 남겨줬다.
음...오히려 더 미안하기도 했다. 팀원의 입장에서 팀장이 저렇게 안시키고 하면 불편할테니까.
이 자리는 참 쉽지 않다. 미안함도 많아지고 고민도 많아지는 자리인 것 같다. 그럼에도 불구하고 항상 응원해주는 팀원들에게 정말 감사하다. 잘하지..!🔥🔥🔥
TIL 작성 소요시간 약 30분