우아한테크코스 - 프리코스 3주차

주노·2022년 11월 16일
5
post-thumbnail

서론

우테코 3주차 미션 로또 주제를 보고 바로 복권을 사러갔다.

생전 복권을 처음사봐서 복권방 아저씨에게 어떤 방식으로 구매할수있냐고 물어봤다.
1천원에 6개의 번호를 추첨할 수 있고 보통은 5천원씩 많이 산다고 하길래 5천원어치 한장 구매했다.

정말 우연하게도 1등에 당첨되고 포르쉐도 한대 뽑았다.

...


라는 꿈을 꾸었습니다.. 포르쉐도 지나가다가 있어서 찍어봤습니다😅

진짜 서론

최근 코이의 법칙에 대한 이야기를 듣고 많은 생각을 했다.

코이의 법칙(Koi's Law)

코이가 자라는 물에 따라 크기가 달라지듯 사람 또한 주변 환경과 의지에 따라 자신이 발휘할 수 있는 능력과 꿈의 크기가 달라진다는 법칙

학교라는 작은 어항에서 우테코 프리코스라는 큰 어항으로 옮겨온 지금 몸집을 더 키우는데 집중해보기로 하자. 우테코에 참여하는 다른 분들 또한 큰 어항에서 몸집을 키워나갔으면 좋겠다.

이번주차는 미션 해결과정보다는 느낀점을 위주로 작성됩니다.
미션과 관련된 큰 인사이트를 기대하신분들께는 죄송하지만 다른분들의 좋은 회고록이 많으니 둘러보시는것을 추천드립니다.

미션 - 🚀

이번주차에서 크게 고려할 사항은 다음과 같다.

  1. 함수 분리
  2. 함수별로 테스트를 작성
  3. 클래스(객체)를 분리하는 연습
  4. 도메인 로직에 대한 단위 테스트를 작성하는 연습

함수명, 나머지는 세부적으로 고려해야할 부분들이다.

이번주차에서는 정신없는 삽질을 너무 많이했기에 너무 많은 TMI는 자제하려고 노력해보겠다.

미션에 대한 설명을 하기엔 하고싶은 이야기가 많기 때문에 미션설명은 생략한다.
미션 보러가기!🚀

삽질 🚧

처음에 클래스를 분리한다 == 요구사항 목록을 잘 정리한다 로 이해해버린 탓에 요구사항에 너무 많은 힘을 쏟았다.

사실 힘을 쏟은것에 비해 많이 부족하긴하지만 ㅎㅎ;;

아무튼 시간을 들여 나온 구조는 이렇게 생겼다.

지금 보면 참 마음에 안든다.

근데 Lotto는 어디에 써?

주어진 Lotto 클래스를 다음과 같은 조건을 고려해서 사용해야한다.

  • 제공된 Lotto 클래스를 활용해 구현해야 한다.
  • Lotto에 매개 변수가 없는 생성자를 추가할 수 없다.
  • numbers의 접근 제어자인 private을 변경할 수 없다.
  • Lotto에 필드(인스턴스 변수)를 추가할 수 없다.
  • Lotto의 패키지 변경은 가능하다.

로또를 검증하는 Checker, 발행하는 Publisher, 수익률을 관리하는 MoneyManager
그렇다면 Lotto 클래스는 뭘 해야할까?

1, 2주차동안 github discussion을 배회하면서 많은 사람들의 회고록을 봤던 기억에서부터 누군가 언급했던 일급컬렉션이라는 개념이 떠올랐다.

지난주차에 느꼈던 코난의 추리급은 아니지만 그래도 작게나마 뭔가 반짝했다.

Lotto를 가지고 뭔가를 하려고하지않고 List<Integer>를 Lotto라고 표현하기로했다.

이 고민을 하는데만 시간을 굉장히 많이썼기 때문에 객체를 더 분리하고 예외를 더 생각하는데에는 미처 신경을 못썼다😵‍💫

그래서 뭘 했는데?

이번주차에서는 객체분리에 끙끙 고민하면서도 번뜩이는 아이디어가 생각나지않아 할수 있는거라도 집중하자는 마음에 지난 주차들로부터 할 수 있다고 여기게된 함수를 읽기쉽게 정리하는것에 집중했다.

이 글을 보는 분들에게 해결과정에 대한 인사이트를 드리지못해 아쉬울 따름이다.

비루한 실력이지만 PR을 보고 일침을 날려주신다면 굉장히 감사한마음으로 받겠습니다🙇‍♂️

💬 주저리

뭔가 할말이 없을까 해서 학습 방향성에 대한 나의 의견을 이야기해보려고한다.

어디까지나 개인적인 이야기이므로 정답은 아니니 이런 사람도 있구나~ 하는 마음으로 가볍게 봐주시면 될거같습니다.🙇‍♂️

뭔가 아쉬운데 그 뭔가가 뭔지 모르는 참 안타까운 상황을 맞이했다.
사실 예전에 스프링을 처음 공부할때도 이런 상황이 많았다.
내가 뭘 모르는지 몰라서 검색도 못하고 질문도 못하는 애매한... 참으로 공허한 상황이다.

사실 해결방법은 간단하다. 공부를 많~~이 해서 모르는게 없게 만들면된다.
근데 사람은 컴퓨터가 아니다. 다 외울수가 없다.

나는 뭘 모르는지 모르는 이런 공허한 상황을 방지하기위해 나만의 학습방법을 찾고자 노력했었다.
밑바닥 지식부터 공부도 시도하고, 하루에 2시간씩 자면서 잠을 줄여보기도하고 참 별짓을 다했었다. 게다가 그만한 효율이 나왔다고 생각하지도 않는다.

그렇게 찾다..찾다.. 이거다! 싶은 방법을 찾았는데 바로 다른 사람들의 흥미를 쫒는 방식이다.

간혹 블로그를 보거나 사람들과 대화를 하다보면 그 분야 혹은 대상에 엄청난 관심과 흥미를 가지는 사람의 말투 혹은 눈에서 광기에 가까운 무언가가 보인다.
신나서 자기자신이 알게된내용 혹은 알고있는 내용을 막 이야기하는 모습을 보는게 참 재미있다.
흔히말해 덕후라고 표현하기도하는 이 사람들를 보고 누군가는 열등감을 표출하기도 하고, 달갑게 보지 않는 사람도 있겠지만 나는 이 사람들의 경험과 지식을 듣는게 참 즐겁다.

이런 사람들과 대화를 나눠보거나 작성한 글을 보면 배울것도 참 많다.
만약 주변에 이런 사람이 있다면 절대 놓치지말고 한번 대화를 계속 유도해보는것을 추천한다.
지식을 뽑아먹기(?) 좋은 절호의 기회다.
그리고 듣다보면 어느덧 나도 이런 광인이 되어가고있는 모습도 간간히 볼 수 있다는것도 하나의 매력포인트인것같다.

우테코에서도 참 많은 정보를 뽑아먹었다고 생각한다

성장에 미쳐있는 여러분 항상 고급 정보를 뿌려주셔서 감사합니다 😆

리액션의 힘

내가 신나서 이야기하는 광인이 되는 과정은 다음과 같은 과정이 한몫 하는것 같다.


잘한다 잘한다 내새끼!

내가 공유한 글 혹은 지식에 대해 리액션이 달리고 댓글이 달리면 어어어엄청 행복하다!
뭔가 칙칙한 방에 밝은 등불하나 켠 느낌이다. 나 혹시 관종인가?😅
리액션이 달리고 응원의 글이 보이면 괜히 더 공유하고싶어지기도 한다.

열심히 작성하고 번뜩하고 깨어난 지식일수록 공유했을때 받는 리액션의 효과는 배가된다.

다른 사람들도 같은 마음이길 바라며 최대한 모든 사람들에게 리액션을 달아주려고 노력하고있지만 몸이 한개인지라 모든 글에는 반응해드리지 못해 아쉬울 따름이다...🥺

결국 하고싶은말은 리액션이 많을수록 공유의 장은 활발해지고 위에서 주절댄 이야기가 선순환으로 이어지는 현상이 이뤄질 것을 기대해볼 수 있다는것이다

결론

3주간 우테코 프리코스의 github discussion 혹은 슬랙을 통해 서로가 공유하고 독려하고 함께 나아가려는 문화를 경험할 수 있어서 좋았다.

그동안 얻어온 지식을 나의 것으로 만들고, 사람들이 최대한 즐기면서 상호 협력하는 문화를 즐길 수 있으면 좋겠다는 생각으로 마지막 주차 과정에 임할 예정이다.

profile
안녕하세요 😆

8개의 댓글

comment-user-thumbnail
2022년 11월 16일

와 회고록도 이렇게 재밌을 수가 있나요??? ㅋㅋㅋㅋㅋㅋㅋ 담에 또올게요

1개의 답글
comment-user-thumbnail
2022년 11월 16일

준호님은 항상 열정적이신거 같네요
꼭 합격하셨으면 좋겠습니다!

1개의 답글
comment-user-thumbnail
2022년 11월 16일

코이의 법칙 잘 배우고 갑니다 ㅎㅎ.. 몸집 함께 키워요!

1개의 답글
comment-user-thumbnail
2022년 11월 19일

벨로그 메인글 축하드립니다..ㅎㅎㅎ
재밌게 보고 갑니다!! 마지막 주차 화이팅입니다 👍🏻

1개의 답글