자바스크립트와 리엑트로만 진행 하였을때 구현 속도와 타입스크립트를 도입하여 진행하는 프로젝트는 아무래도 차이가 난다. 컴파일 단계에서 오류를 발생시키고 타입검사를 엄격이 하기 때문에
코드를 천천히 칠 기회가 생겼고 타입스크립트에 대한 공부도 직접 만들면서 하니까 훨씬 잘되는 느낌이다.
타입스크립트는 컴파일 단계에서 오류를 포착하기에 가독성은 매우 좋아진다. 그리고 자바스크립트에서 타입 변환이 자동으로 이뤄지는 것이 타입이 하나라도 다르다면 타입에 대해 엄격하게 에러를 발생시켜주기에 나의 가장 큰 관심사이다.
프로젝트 시작할때 타입스크립트가 너무 미숙하다고 생각이 들어서 강의를 한바퀴 돌고 프로젝트를 진행 했던 때가 생각이 난다. 지금 생각해보면 도움이 되긴 하지만 구현해가면서 배우는게 가장 빠르게 배우는 길 같다. 잠깐 유튜브를 보았는데 실력이 가장 크게 늘 수 있는 방법은 두가지이다.
모르는 무엇인가를 마주했을때 가장 먼저 공식문서를 보고 정보를 찾아내는 습관을 가져라.
직접 구현해보고 궁금해하고 고민해보아라.
위 두가지이다. 실제로 초반에 코딩 시작했을 때 for문도 어려웠던 나는 오랫동안 코드를 치다보니 지금은 for문은 익숙한 것이 되었다.
무엇인가 만들면서 코드에 익숙해지고 내껄로 만드는 그런 단계는 항상 필요한 것 같다.
프로젝트에서 가장 크게 느끼는 부분은 팀원들간에 협력 및 대화이다. 팀원들간에 협력은 서로간에 커뮤니케이션이다. 나에게 있어서 느끼는 거지만 내 의사와 목적을 전달하면서 상대방이 알아듣게 하며
상대방과 의견이 다를시에 이쁘게 내 생각을 말하며 나와 반대된 생각을 가진 팀원들도 존중한다라는 의사를 표시해야 한다.
이 능력은 정말 생각보다 많이 어려웠다. 특히 심적으로 힘든 프로젝트 기간에 항상 평점심을 가지고
좋게 말한다는것은 쉽지 않은 일이다. 그렇지만 우리는 앞으로 고객사와 대화도 할 것이고 어려사람을 만나서 내가 어떻게 했고 어떤목적으로 일을 하였는지 확실하게 말을 할줄 알아야 한다.
말을 잘하는 방법에 대해 생각해 보았다. 먼저 나에게 맞는 화법을 찾아야 하고
생각을 많이하고 말을 해야 한다, 또한 개발자가 아닌 분들도 알아들을 수 있게 상대방을 위한 언어 선택을 해야한다.
가장 크게 어려웠던 구간은 map 함수를 어려번 사용해야 할때 그리고 이것을 어떻게 하면 상태관리에 적용시켜 어려 컬럼들을 유저와 묶어서 보여줄 수 있을까 였다.
게시판에 유저이름 게임명 게시판 내용을 묶어서 구현하며 스타일링 하는 부분에서 어려움이 있었지만 데이터로 뿌려지기 전에 복사된 유저 id와 컬럼의 uuid로 pk로 연결된 id를 비교하여 속성과 값이 일치할 경우 데이터로 뿌려지게 만들었고 타입스크립트의 타입 선언에 대한 어려움은
공식문서를 찾아가며 하나하나 고쳐나갔다.
프로젝트에서 로그인 로그아웃 상태관리는 redux-toolkit을 이용해 authSilce를 만들어 로그인 상태 로그아웃 상태를 만들었고 글쓰기 버튼 같은 경우 로그인된 유저에게만 글쓰기창으로 이동하게 만들며 비회원일 시 로그인 창으로 이동 할 수 있도록 만들었다.
그 과정에서 시행착오를 격으며 하나하나 배우는 느낌이었고 무엇보다 뭐부터 구현할지 햇갈렸을 경우에는 주석으로 어떤것을 해야할지 필기하고 하나하나 채워가며 구현중이다.