원티드 프리온보딩 프론트엔드 챌린지 - 2월
TypeScript
기간: 2023.2.6 ~ 2023.2.19
실질적인 강의가 끝이 났다. 확실히 짧게 진행하는 강의이다 보니 부담도 적고 가볍게 듣기 괜찮았다.
강사님이 다른 분이라 스타일이 다른 게 느껴졌다. 그리고 강사님께서 추구하는 느낌대로 강의도 진행되었다. 나는 원래 1월 강사님의 스타일을 선호하는 사람이라 2월 강의를 들으며 당황하기도 했는데, 곧바로 적응한 것 같다.
2월 강의도 충분히 매력적이었고, 많은 걸 생각해볼 수 있었다. 주제만 던져주고 어떻게 풀어나갈 건지는 내가 하는 느낌? 물론, 1월 강의에서 떠먹여주었다는 게 아니다. 아마 이렇게 생각하는 이유는 1시간 정도 취업에 관한 이야기를 나누었기 때문인 거 같다. 강의가 짧은 느낌? 취업에 관해 물어볼 수 있어서 좋았던 거 같다.
- JSDoc > API 문서화
- TypeScript로 설계부터 시작하기
- TypeScript 설계로 구현하기
다른 개발자의 설계로 구현
우선, JSDoc가 있다는 걸 깨달았다. API 문서를 작성할 수도 있구나. 처음 다뤄보는 거라 강사님께서 제공해주는 템플릿을 사용했다. 그리고 설계를 이것저것 생각하며 작성했는데, 이게 나름 어렵다. API는 사용만 해봤지 설계는 해본 적이 없다.
Todo API 설계라고 해서 거창한 무언가 일 줄 알았는데 생각보다 빠르게 끝나서 당황했다. 정말 이게 맞는 걸까? 다른 분의 결과물을 참고차 방문해서 살펴보니 이게 맞는 거 같다. 설계가 잘 했든 못 했든 간에...
그리고 이 JSDoc를 ts로 바꾸는 단계를 거쳤다. TypeScript의 interface를 이용해 타입을 설명해주었다. 당연히 나는 평소에 함수 인자를 설명하는 용도로 사용했기에 그렇게 썼다. 다른 분의 코드를 참고하니 나처럼 사용하는 분은...없더라.
코드에 정답은 없지만 다음 설계를 한다면 저렇게 해보리라 생각했다.
ts로 함수 설계가 끝나면 다른 분이 한 설계를 가지고 구현해보는 단계를 거쳤다. 다른 사람이 짠 설계로 구현하는 것도 쉬운 게 아니었다. 이렇게 설계를 한 의도를 파악하는 게 어렵다. 어떤 걸 기대하고 만들었을까를 고민하고 함수 인자로 어떤 것이 들어오는 지 파악하고 API의 요구사항에 따라 만들어주어야 했다.
설계를 수정하지 않고 어떻게든 구현하는 것이 과제였기에 다른 조건 생각 안하고 구현에 집중했다. 어떻게든 만든 것 같은데 쓰다 보며 나라면 여기서 이렇게 하지 않았을까? 생각이 들었다. 다른 것들과 통일하기 위해서 여기는 이걸 쓰면 좋지 않았을까? 이거 말고 이런 방법도 있지 않았을까? 이런 생각을 많이 했다.
(물론, 피드백 남겨드림 > 과제 요구 사항이었다.)
다른 개발자와 소통하는 건 꽤 재밌었다. 처음엔 무섭기도 하고... 처음이라 다가가기 힘들었는데 한 번 말을 트니 신선한 경험이다. 그렇지만 여전히 사람과 대화하는 건 어렵다...
(사람과 대화를 못한다는 게 아니라 서로 공통점을 찾아내고 대화를 하고 협조하고 등등... 이런 의미로. 그래서 개발자에게 커뮤니케이션이 중요하겠지.)
2월 챌린지를 참여한 분들과 링크드인을 공유할 수 있는 시간이 있어서 냅다 계정을 생성했다. 부랴부랴 사진도 바꾸고 여러 개발자 분과 1촌을 맺었다.
(나도 이제 개발자 1촌 있어!)
TypeScript를 알기 위해 어떤 식으로 공부해야하는 지, 이것에 대해 알 수 있었다. 또, 완전 초보용은 아니었고 어느정도 TypeScript를 아는 사람이 들어야 하는 수준? (적어도 타입이 어떤 게 있는 지 아는) 책도 추천받고 취업에 관한 조언도 받을 수 있어서 유익했다.
그나저나... 3월 챌린지도 나왔던데...