비전공자 && 자바 어린이의 백엔드 프리코스 회고
1주차에 이어 2주차에도 많은 것을 배우고 느꼈다.
그도 그럴 것이 있는 시간 없는 시간 모으고 모아 열심히 몰입하고 있다.
그에 비해 얻은 것들을 곱씹을 시간은 적었기에,
기억이 휘발되기 전에 회고를 적어보려 한다.
프리코스 1주차 후기 👇👇
기술적인 배움
메서드 분리
함수를 분리하는 것이 이번 주차의 요구사항 중 하나였다.
메서드를 분리하는 버릇은 원래도 (조금) 있었는데,
이번에는 메서드를 분리하는 것이, 어떤 효과를 불러오는지에 집중해보기로 했다.
- 코드의 재사용성 증가
작게 분리된 메서드는 다른 곳에서 재사용될 수 있다는 것을 발견했다.
남의 예시 코드가 아닌, 나의 코드에서 직접 발견한 것이라 훨씬 와닿았다.
여기서 고민되는 것이 있었는데,
새로운 유틸리티 클래스를 만들어, 서로 다른 클래스 내에서 반복되는 코드를 옮겨야 하나?
라는 것이었다.
코드의 반복을 줄일 수 있겠지만,
유틸리티 클래스가 객체지향적 관점에서 어떤 책임을 하는지가 애매했고
많은 클래스가 유틸리티 클래스에 의존하는 구조 또한 좋은 구조인지가 궁금했다.
(-> 관련 내용을 담은 커뮤니티 아고라 링크!(클릭))
- 코드의 가독성 증가
메서드가 작아질수록 네이밍이 수월했고, 가독성 증가로 이어졌다.
생각해보니, 메서드 규모가 클수록 여러가지 일을 하고 있을 확률이 높으니 네이밍이 어려운 것은 당연했다.
- 객체지향적인 설계
메서드를 분리하려고 노력하다보니, 자연스럽게 객체에 메시지를 보내게 되었다.
상태를 직접 가져와서 지지고 볶는 것이 아니라, 메시지를 보내고 그 응답을 사용하게 된 것이다.
함수별 테스트
함수별 테스트 또한, 이번 주차 요구사항 중 하나였다.
테스트 코드에 대한 경험이 많이 없어 두려웠지만, 일단 부딪혀보며 배우기로 마음을 먹었다.
- 유닛테스트와 통합테스트
미션 기본 파일에 주어진 코드를 보며, 기본적인 테스트 기능을 공부했다.
그리고 바로 테스트 코드를 구현하려했는데, 몇 시간이 지나도 구현이 되지 않았다.
알고 보니, 나는 '통합 테스트'를 구현하고 있던 것이었다..
테스트의 정의와 종류를 공부하면서, '유닛테스트'가 뭔지 알게 되었고,
작은 단위부터 테스트하며 테스트에 대해서 조금씩 배워나갈 수 있었다.
- 어노테이션 활용
BeforeEach를 사용해 각 테스트가 의존하지 않도록 구현할 수 있었다.
Nested로 테스트의 계층 구조를 설계할 수 있었으며,
DisplayName로 테스트 결과의 가독성을 높일 수 있었다.
- TDD의 첫 적용
테스트 코드를 작성하니, 기능 단위로 성취감을 느끼고
구현에 문제가 없는지 그때그때 확인할 수 있어서 너무 좋았다.
하지만 테스트 코드를 먼저 작성하는 TDD 방식은 너무 아득하게 느껴졌다.
미션 구현 중반부 쯤에서는 기본적인 테스트 코드 활용에 자신감이 붙었고,
테스트 코드를 먼저 작성해보자고 마음을 먹었다.
개념만 알고 있던 TDD를 직접 적용해보니,
먼저 작성한 테스트 코드가 문제 해결의 나침반이 되어준다는 느낌을 받았다.
하지만 해당 메서드에 대해 테스트 케이스를 완벽하게 구현할 수 있는 게 아니라면,
확실히 어렵겠다는 생각을 했다.
테스트 코드의 실력을 늘리면서, 차차 익숙해져보는 것을 목표로 해야겠다.
테스트 코드를 공부하면서,
한 번 잘 짜놓은 테스트 코드가 디버깅 시, 리팩토링 시 얼마나 많은 단계를 줄여주는 지 체감할 수 있었다.
이제 테스트 없는 개발은 불가능하다.. 초록 불빛에 중독되어 버렸기 때문..
가장 익숙한 언어가 된 자바
자바의 존재를 처음 알게된 것은 위의 짤이었다.
파이썬으로 개발 공부를 시작한 나는,
이유도 잘 모르고 여러 사람들의 농담 섞인 말에 휘둘려
자바가 꼰대 같고, 딱딱하고, 재미가 없을 거라는 편견을 가지게 되었다..
그래서 자바를 처음 공부했을 때는 다른 언어에 비해 두려웠다!
그런데 지금은..
불과 2주만에 자바는 나에게 가장 익숙한 언어가 되었다.
체계적으로 공부를 시작한 첫 언어이기 때문도 있는 것 같고..
이제는 어떤 문제를 해결하려고 생각하면,
자바 언어로 추상화된 객체를 먼저 구상하게 되고,
자료형과 메서드도 떠오른다.
이제 자바 없는 나를 떠올릴 수 없다(?)
자바를 꽉 자바야겠다. ㅋ
프리코스 커뮤니티
언급하지 않을 수 없다.. 정말 많은 도움을 얻고 있기 때문.
얼굴 한 번 본 적 없는 동료들과 함께 걸어가고 있는 기분이다.
- 피어 리뷰
이번 미션을 마치고는 피어 리뷰에 집중해보고 싶었다.
리뷰 경험이 거의 없는데다, 사실 남의 코드를 읽고 공부해본 경험도 많이 없다.
남의 코드를 읽는 것이 어색하다.
그래서 경험을 쌓기 위해서라도 피어 리뷰에 집중해보고 싶었다.
9~10명 정도의 피어 분들께 리뷰를 남긴 것으로 기억하는데,
리뷰가 거듭될수록 코드를 읽는 실력이 올라감이 느껴졌으며,
처음에는 보이지 않던 부분들이 보이기 시작했다.
피어 리뷰는 도움을 주면서, 동시에 나도 도움을 구해가는
정말 좋은 시간이었다.
- 북클럽 가입
지원자 한 분께서 기획해주신 북클럽에 가입했다.
읽고 있는 책에서 얻은 인사이트를 서로 공유하는 모임이다.
개발 관련 서적이 많은데, (나는 객체지향의 사실과 오해.. ㅋㅋ)
다른 분들은 글쓰기나 좋은 개발자가 되는 방법에 대한 고민이 담긴 책까지
다양한 책을 읽고 계신다.
북클럽까지 참여하실 정도로 우테코에 진심인 사람들과 교류할 수 있게 되어 기쁘다.
- 아고라
프리코스 커뮤니티 중 '깃허브 디스커젼'에는 아고라 카테고리가 있다.
프로그래밍 중 생각난 쟁점에 대해 공유하고,
다양한 의견을 나누는 장소이다.
정말 많은 것을 배우고 있다.
지식적인 부분도 많이 배웠지만,
참여자들이 의견을 교류할 때 갖추는 태도(예의, 설득 방식 등)도 배울 점이 많고,
어떤 쟁점들은 하나의 결론으로 모이지 않고, 다양한 의견이 존재한다는 것도 흥미로운 지점이었다.
인간적인 배움
지속가능한 페이스
프리코스를 시작하면서, 4주 동안 미친듯이 몰입하자고 마음을 먹었다.
사실 그 전 주부터 몰입했으니 총 5주인 셈이다.
그런데 이번 주는 약간의 번아웃을 겪었다.
아무리 용을 써도 머릿속이 하얘졌다.
생각해보니, 지난 2주 반 동안 한 순간도 쉬지 않았다..
다음 할 일을 위한 잠깐의 쉬는 시간 외에는, '쉬는 시간'이라고 규정된 시간 자체가 존재하지 않았던 것이다.
내가 좋아하는 러닝에서,
기록을 위해 가장 중요한 것은 '지속가능한 페이스'를 유지하는 것이다.
하지만 나는 10km를 달려야 함에도, 1km 밖에 가지 못 할 페이스로 전력질주를 하고 있었다.
잠시 모든 것을 내려 놓고, 잠깐의 휴식을 가졌다.
금방 회복했고 다시 몰입할 수 있었다.
4주는 짧지 않고, 남은 2주도 결코 짧은 시간이 아니라고 생각한다.
하루, 이틀만 바라 보고 내내 밤을 새기 보다는 (물론 4주차에는 그럴 예정 ㅋㅋ)
2주라는 기간이 최대의 퍼포먼스를 가질 수 있도록 노력해야겠다.
그리고 그것이 10개월이라는 긴 시간 동안 몰입하기 위한 연습이 되어줄 거라는 기대감도 든다.
요구사항에 집중하자! - 나만의 페이스
아 그리고 꼭 기록하고 싶은 것이 있는데,
요구사항에 집중하자는 것이다!
이번 코치들의 수다 타임(코수타)에서
남들이 말하는 어려운 키워드에 신경쓰지 말고
요구사항에 집중하라는 말씀을 해주셨다.
나도 모르게 TDD, 객체지향 생활체조 등..
남들이 얘기하는 키워드들을 따라가려고 애썼던 것 같다.
마치 공원에서 러닝할 때, 내 옆을 지나가는 고수를 따라가려고 스퍼트를 내듯이..
그럼 2~300m도 가지 못해 지치고 만다는 것을 안다.
나는 자바를 거의 처음 공부하는 자린이고,
객체지향이나 자료구조 수업도 들어보지 못한 비전공자라는 사실을 인정하자.
미션의 요구사항에 집중해서 프로그램이 의도하는 방향대로 성장하는 것을 목표로 하겠다!
는 다짐이 너무 중요한 것 같아 기록해둔다.
마지막으로 미션 제출 소감에도 적었지만,
이번 한 주도 지원자들의 성장을 위해 힘써주신 많은 분들께 감사의 인사를 전하고 싶다.
덕분에 프로그래밍이 더 재밌어지고 있음에 너무 감사하다.
'우아한테크코스 5기 백엔드' 카테고리의 다른 글
합격하고 적는 우아한테크코스 5기 최종 코딩테스트 #준비방법 #시험후기 #백엔드과정 (5) | 2022.12.29 |
---|---|
프리코스 4주차 회고 - 곧은 철학의 개발자가 되리라 다짐하며.. (우아한테크코스 5기 백엔드 프리코스) (2) | 2022.11.23 |
프리코스 3주차 회고 - 돌아보는 것의 중요성 (우아한테크코스 5기 백엔드 프리코스) (1) | 2022.11.17 |
프리코스 1주차 회고 - 더도 말고 덜도 말고 1주차만 같아라~ (우아한테크코스 5기 백엔드 프리코스) (2) | 2022.10.31 |