2024. 10. 30. 00:13ㆍ우아한테크코스 - 프리코스/회고
중간 회고 및 소감문 내용 정리
- 저는 프리코스에서의 최대한의 성장을 최종 목표로, 세 가지 사항을 세부적인 목표로 삼았습니다. 메타인지를 돕기 위한 1) 기록과 2) 회고, 3) 커뮤니티를 활용한 코드 리뷰를 주고받는 것이었습니다.
- 기록은 노션을 통해 행하고 있습니다. 노션을 통해 일자 별로 매일의 단기 목표, 학습 내용 및 프리코스를 진행하면서 느꼈던 전반적인 사고 과정을 적고 있습니다.
- 주로, 세 가지 기능 요구사항을 분석하고 코드를 설계하면서 학습이 필요하다고 생각되는 내용을 적어두거나 떠오르는 생각들을 적습니다. 이를 통해 1주 차 프리코스를 진행하면서 생각해 내지 못했던 MVC 패턴에 대해 깊게 의문을 가지고 고민하며 적용해 볼 수 있는 기회를 가질 수 있었습니다. 구체적으로 말하자면, 2주 차 때 노션으로 코드 설계 과정을 기록하면서 객체지향 설계에 관해서 드는 의문을 적다가, MVC 패턴의 필요성을 인지하게 되었습니다.
- 처음에는 단일 책임 원칙에 의하여 역할, 책임, 상태에 대해 고민하다가 좋은 설계란 무엇일까 하는 생각이 문득 들었습니다. 지금까지 객체지향 프로그래밍을 학습한 것을 바탕으로 현재의 제가 고민을 해보자면, 현실에서 소프트웨어를 사용할 것을 고려하는 것이 중요한 것이라고 답을 내리게 되었습니다. 현실에서 사용하는 것이 서비스이든, 개발자가 다루는 코드든, 사용하기 편리하게 만들어 현실의 요구사항과 프로그래밍적인 설계 사이의 간극을 줄여야 사람이 사용하기 좀 더 좋은 설계를 할 수 있을 것 같았습니다. 그러므로 저의 입장에서는 개발자가 사용하기, 확장하기, 유지보수하기 좋은 코드를 설계하는 것에 좀 더 초점을 맞추는 것이 필요했습니다. 이렇게 깨달은 것을 바탕으로 객체지향프로그래밍을 조금이나마 이해하는 시간을 가질 수 있었습니다.
- 노션을 통한 의문점 및 깨달은 점 등의 사고 과정의 기록으로 배움을 잘 확장해 나갈 수 있어 도움이 많이 되었습니다.
- 다음으로, 블로그를 통해 매일 데일리 회고를 진행하고 있습니다. 이는 짧더라도 저의 생각을 좀 더 잘 표현해 낼 수 있고 그날 하루의 전반적인 학습 과정을 되돌아볼 수 있는 유의미한 시간입니다. 노션을 통해 학습과 사고 과정을 구체적으로 기록하는 반면, 블로그를 통한 회고는 오늘 하루를 전반적으로 되돌아보며 종합적으로 개선할 점은 없는지 되돌아본 것을 작성합니다. 하루하루를 되돌아보며 성취감과 혹은 분발해야겠다는 마음가짐이 쌓여 제가 더 학습을 열심히 할 수 있도록 도와주었습니다.
- 다음으로 커뮤니티를 통한 코드 리뷰 주고받기입니다. 사실 1주 차는 지원자들이 코드 리뷰를 어떤 식으로 주고받는지 살펴보았고, 2주 차부터 코드 리뷰를 나눠볼 생각입니다. 자바 학습 기간이 짧은 만큼 더 열심히 해야겠다는 마음가짐도 있지만 코드 리뷰를 서로 주고받기에는 부족한 부분이 있다는 생각이 들기도 하여 1주 차 때에는 어떤 식으로 코드 리뷰를 진행하는지 관찰하는 데에 투자를 많이 했습니다. 다른 진행자분들은 코드 리뷰를 어떤 식으로 하는지 유심히 살펴보았는데, 추가로 학습하면 좋을 부분을 알려주시기도 하고, 대부분 칭찬을 주고받거나 발전적인 방향으로 코드에 대한 생각을 이끌어주기 위해 도움을 주시려고 노력하는 모습이 보였습니다. 코드 리뷰를 주고받는 것의 장점을 1주 차 때 눈으로 지켜보고 체감했던 만큼 2주 차 때에는 모르는 부분에 대한 학습을 더 해서라도 코드 리뷰를 시행할 예정입니다.
- 제가 목표로 설정했던 일들에 대해 변경하고 싶은 마음은 들지 않습니다. 다만 어떻게 하면 더 효율적이고 저에게 맞는 방식으로 진행할 수 있을지 계속해서 고민하고 있습니다. 이제는 무작정 하는 노력이 아닌 저에게 맞고 효과적으로 작용할 수 있는 노력의 방식을 많이 겪어보며 찾아보고 싶습니다.
나는 2주차 미션에서 피드백을 잘 지켰는가?
- 2주차 피드백에서 못 지켰다고 생각되는 사항
[ 커밋 메시지를 의미있게 작성한다. ]
- 제목과 본문을 한 줄 띄워 분리하기
- 제목은 영문 기준 50자 이내로
- 제목 첫글자를 대문자로
- 제목 끝에 . 금지
- 제목은 명령조로
- 본문은 영문 기준 72자마다 줄 바꾸기
- 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기
위의 7가지는 우테코에서 권장하는 좋은 git 커밋 메시지를 작성하기 위한 7가지 약속이다. 급한 마음에 커밋 형식은 신경을 썼지만 커밋 내용에는 미처 신경을 제대로 못 썼던 것 같다. 다음 부터는 위의 7가지 사항에 알맞도록 커밋 형식 뿐만 아니라 내용까지 신경써서 작성해야겠다는 생각이 들었다.
[ 코드 포매팅을 사용한다 ]
우테코의 피드백에 따르면 코드 포맷팅은 클린코드와 코드 구조화를 위한 최소한의 요구사항이라고 하였다. 단순 단축키만 사용할 뿐만 아니라 코드 구조화와, 클린코드에 대해 좀 더 깊게 생각해보지 않았던 부분이 아쉬웠다.
[ 배열 대신 컬렉션을 사용한다 ]
위의 사항도 마찬가지로 각 컬렉션 구조에 대한 학습을 깊게 진행하지 못하여 컬렉션에 대한 깊은 이해없이 사용하였던 부분이 아쉬웠다.
가장 고려했던 점
코드 설계면에서 어떻게 하면 객체지향적으로 설계할 수 있을지 고민을 많이 했던 것 같다. 구체적으로 말하면, 책임과 역할, 상태의 세가지부터 확정짓는 단계와 객체간에 메시지를 주고 받는 협력과정에서 객체지향에 대한 생각이 많이 발전했던 것 같다. 이를 고민하는 과정에서 MVC 패턴에 대해 약간 알게되어 2주차부터 MVC 패턴을 적용했다. 객체지향적으로, 또 가독성있게, 객체 간의 협력을 어떻게 효과적으로 할 수 있을지를 고민한 나름의 결과 혹은 발전이라고 할 수 있을 것 같다. 원래 1주차에는 클래스 조차 사용하지 않고, 메인에 절차지향적으로 기능 구현만 하였던 나였는데 2주차에 MVC 패턴을 적용한 것도 나에게는 큰 발전인 것 같다.
또한 예외 처리를 할 때 예외를 세부적으로 여러개 작성하지 않으면서 포괄하는 범위가 넓은 예외 처리를 생각해내려고 노력했다. 포괄하는 범위가 넓은 것에서 세부적인 것으로 예외 처리를 진행하는 것이 가독성 면에서도, 효율 면에서도 좋다고 생각하였다.
개선할 점
테스트 코드를 작성할 때 작성된 기능들 전부를 테스트 할 수 없었고, 한정적인 범위 안에서 테스트 코드를 작성했던 것이 아쉽다. 다음부터는 잠을 줄이더라도 기술을 다양하게 학습해서 최대한 많이 활용해보려한다.
느낀 점
벌써 3주차에 이른만큼 기술적인 면에 대하여 좀 더 신경을 많이 써보려고 한다. 우테코에서 제시한 기능요구사항과 공통 피드백을 토대로 하여 나만의 학습을 쌓아올려가야겠다고 생각하게 되었다.
'우아한테크코스 - 프리코스 > 회고' 카테고리의 다른 글
프리코스 2번째 주 - 6일차 데일리 회고 (1) | 2024.10.28 |
---|---|
프리코스 2번째 주 - 5일차 데일리 회고 (0) | 2024.10.27 |
프리코스 2번째 주 - 4일차 데일리 회고 (0) | 2024.10.26 |
프리코스 2번째 주 - 3일차 데일리 회고 (0) | 2024.10.24 |
프리코스 2번째 주 - 2일차 데일리 회고 (0) | 2024.10.24 |