본문 바로가기
일기/우아한테크코스 3기

[우아한테크코스 3기] 레벨 1 - 6주차 회고

by 검프 2021. 3. 20.

한 주 명언

“상태패턴은 3년차 때 쯤 부터 하세요. 지금 여러분에겐 쓰레기라 생각하세요 - Pobi"

미션을 진행하며 상태패턴을 적용했습니다.

솔직히 상태패턴을 적용하면서 어렵다는 생각을 했는데, 포비의 상태패턴을 쓰지말라는 말을 통해 힘이 났습니다.

페어 프로그래밍을 진행하다 회고가 늦어졌습니다.

 

5Fs란?

1. Facts(한 것)

실제로 했던 일이나 겪었던 일의 사실을 적습니다.

2. Feelings(느낀 것)

일을 하거나 겪으면서 느꼈던 감정이나 느낌을 적습니다.

3. Findings(배운 것)

일을 하거나 겪으면서 새롭게 배운 점이나 알게 된 점을 적습니다.

4. Future Actions(할 것)

배운 점을 토태로 이후엔 어떻게 유지하고 개선할 것인지 적습니다.

5. Feedbacks(시간이 지난후 결과)

적절한 기간 이후 (저는 1달로 정함) 결과가 어떘는지 적습니다.

 

1. Facts(한 것)

지노에게 1단계 블랙잭 피드백을 받았다.

  • 리팩토링을 진행했다
  • 질문을 많이했다.

지노에게 1단계 2번째 pr을 보냈다.

  • 리팩토링을 진행했다.
  • DM을 보내 질문했다.

화요일 모던 자바 인 액션 스터디를 진행했다.

블랙잭 피드백 수업을 들었다.

  • 상태 패턴에 관련된 수업을 들었다.

씨유에게 sorted, distinct 호출 순서에 따른 성능차이에 대해 물어봤다.

브라운에게 전략패턴에 대해 물어봤다.

수요일, 크루들과 만나서 밥먹고, 카페에 갔다.

instanceof, isInstance()에 관한 블로그를 썻다.

글쓰기(회고)에 관한 수업이 진행됐다.

  • 29일까지의 미션(우아한테크코스 한 달 생활기)이 시작됐다.

테코톡이 진행됐다.

  • 삭정이 웹 요청과 응답과정에 대한 주제로 발표를 했다.

지노에게 2단계 블랙잭 pr을 보냈다.

 

2. Feelings(느낀 것)

이전 피드백에서 지적당했던 부분들을 또 지적당할 때 부끄럽다.

  • 성장한다는 말만하는 사람이 되지 말자

언제가 정답을 바라는 질문을 하고 있는거 같다.

  • 본인만의 기준을 잡자. 정답은 없다.

질문을 할때 어떻게 해야하는지 더 고민해보자.

모던 자바 인 스터디를 하며 배우는 것이 많아서 좋다.

  • 같은 책을 읽어도 이해하고, 준비하는 예제가 다양하다는 것이 신기하다.
  • 사람들의 열정에 매번 놀란다(더 열심해 해야겠단 생각이 강하게 든다).
  • 더 좋은 예제를 만들 수 있게 노력해야겠다.

코치분들에게 질문을 하면 더 넓은 인사이트를 준다.

  • 시야가 많이 좁은거 같다.
  • 새로운 주제를 던져줘도 이미 아는데요? 할수있게 노력하자.

쉬운것을 찾아가려 하는거 같다.

  • 지금은 좀 어려워도 괜찮은게 좋다.
  • 잘못된 길을 가면 그것을 잡아주는 사람들이 있다. 행복하다.

테코톡을 더 열심히 들어야겠다는 생각을 했다.

  • 정리된 지식을 쉽게 얻을 수 있다. (너무 좋다)

몸관리 시간관리를 잘해야겠다. (너무 무리하지 말자)

 

3. Findings(배운 것)

일급컬렉션은 언제 사용하는게 좋을까?

일급컬렉션도 도메인 객체이고 도메인 객체에 역할과 책임 없다면, 굳이 사용할 이유는 없다고 생각한다.

메소드가 클래스 내부에서만 사용된다면 private화 하라

이건 항상 조심하자 ( 실수가 반복되면 실력이다 )

도메인에선 View를 위한 로직이 없어야한다.

toString은 디버깅을 위한 용도다. View를 위해 쓴다면 과감히 버려라.

역할과 책임을 더 생각하라

마땅한 객체가 없으면 하나더 생성해도 좋다!

Getter를 지양하자

View를 위한 getter는 좋다. 하지만 로직을 위한 getter라면 그 로직을 수행하게 하자.

만든 객체에 대해 고민이 많아야 한다.

캐싱의 이유를 잘 생각해라

테스트에서 사용되는 것을 위해 캐싱을 해둔다. 이 자체가 앞뒤가 안맞는 얘기다.

테스트가 아닌, 프로덕션에서의 관점을 더 생각해야한다.

캐싱은 마지막에 생각하자.

String.join()

https://user-images.githubusercontent.com/48986787/111870818-30334e80-89ca-11eb-9574-bcf7e77afc5a.png

List을 Join하기 위해 위와같이 사용하지말고 String.join()을 사용하자.

String.join(", ", cardStatus);

public으로 열려있는 테스트는 다 해라

이건 지난번에도 얘기했던거 같다!!

변수명을 신경써라

https://user-images.githubusercontent.com/48986787/111870741-c87d0380-89c9-11eb-9901-4857e99cfeaf.png

자주 사용하는 인스턴스는 미리 생성하라

블랙잭 게임에선 52장의 카드를 사용한다. 이를 미리 캐싱하면 성능상 이점을 누릴 수 있다.

상태패턴과 전략패턴

이는 이후에 정리해야겠다.

전략패턴은 상속을 제거하기 위해 사용하고, 상태패턴은 분기(if)문을 없애기 위해 사용한다.

상태패턴은 상태들이 자신들의 상태를 입맛에 맞게 변경했고, 전퍅패턴은 사용하는 즉 클라이언트 쪽에서 입맛에 맞게 사용한다.

즉, 용도가 조금 다른 패턴이라고 볼 수 있다.

스트래지티 패턴 - 사용자가 쉽게 알고리즘 전략을 바꿀 수 있도록 유연성을 제공. 상속의 한계를 해결하기 위하여 나온 패턴

스테이트 패턴 - 한 객체가 동일한 동작을 상태에 따라 다르게 수행해야 할 경우 사용하는 패턴

항상 글을 써라

글은 "나의 생각을 표현하는 일"

한 문장에는 하나의 정보만 담도록 한다.

능동형 문장을 쓰자

ex. 포비 캡틴의 강의가 진행되었다. → 포비 캡틴이 강의를 진행했다.

제대로 쓰려하지말고 무조건 쓰자

웹 ≠ 인터넷

웹:

웹의 존재 이유는 정보(자원)의 공유, 웹은 수많은 요청과 응답 사이클의 연속으로 이루어짐

인터넷:

컴퓨터 네트워크들을 서로 연결 지어주는 범지구적 네트워크

https://user-images.githubusercontent.com/48986787/111871522-e5b3d100-89cd-11eb-9154-80ec2fed0dec.pnghttps://user-images.githubusercontent.com/48986787/111871535-0714bd00-89ce-11eb-8b23-dc6170167366.png

http의 대표적인 특성, 비연결성, 무상태, http Method를 통해 목적을 명시

 

4. Future Actions(할 것)

상태패턴과 전략패턴 블로그 정리

웹 요청과 응답과정 블로그 정리

 

5. Feedbacks(시간이 지난후 결과)

댓글