이 주의 해야 할 일

  • 면접 스터디 정리하기
    • 인터페이스
    • HTTP
    • ATDD
    • Context Switching
    • GIT의 PR과 Branch
  • MVC 구현 미션 1 단계 피드백 반영하기
  • MVC 구현 미션 2 단계 구현하기
    • 리뷰 요청하기
    • 추가 미션 해보기

그냥 한 일

  • 퀀텀 독서법 책을 읽었다.
    • 도서 리뷰겸 독서를 어떻게 할지에 대해 블로그 포스팅

Daily Retrospective

2019-1O-O8 화요일

포비 강의

  • 서블릿은 힙 메모리에 올라간다.
  • 인스턴스 필드가 반드시 필요한 경우
    • JPA 엔티티
  • 인스턴스 필드가 있는 경우 쓰레드마다 해당 인스턴스를 만들면 된다.
  • 상태가 없으면 쓰레드가 여러 개라도 하나의 인스턴스를 재사용해도 된다.

  • view를 가기 전에 view resolver가 있다.
    • view resolver는 적절한 뷰를 선택한다.
  • 커다란 프레임워크를 공부할 때 큰그림을 그려야한다.
    • 인터페이스를 기반한 큰그림
    • 구현체는 크게 중요하지 않음
  • 레거시를 없애고 새로 만든다고 해도 똑같다.
    • 유지보수하기 힘듬
  • 레거시를 잘 고치는 것이 중요하다.
    • 레거시는 반드시 존재한다.
    • 빠르게 리팩토링하는 연습이 필요
    • 경험이 쌓이면 리팩토링이 불가능하고 재개발해야 한다는 느낌을 받을 수 있다.
  • 점진적인 리팩토링 중요
    • 리팩토링 재밌다.(재밌어야함)
  • 레거시 코드와 새로운 코드가 공존하려면 추상화한 녀석이 필요하다.
    • 컨트롤러에서 레거시와 새로운 코드 중 어디로 가야할 지 분배해줘야 한다. 이 역할이 추상화한 녀석이 함.
  • if-else 문을 없애는 패턴 -> 인터페이스로 추상화 -> supports()와 같은 메서드를 가진 인터페이스
  • 스프링 DI도 중요하지만 프로그래밍 자체 DI 연습이 더 중요하다.
    • 자바 진영은 스프링에 의존하다보니 스프링 DI에 너무 의존함
    • DI 개념만 맞다면 어떻게 구현하든지 상관없음
  • 언어를 바꿔야 할 때 점진적인 리펙토링해야 하는 경우
    • 물리적 서버를 분리한다.
    • proxy 서버가 필요하다. (해당 언어를 선택하는 분기 역할)
    • 시간이 오래 걸리지만 안정적임
  • 점진적인 리펙토링은 서비스를 중간에 멈출 필요가 없는 큰 장점이 있다.
  • 점진적인 리펙토링은 어느 환경에도 가능하다. 방법을 찾으면 있음 근데 오래 걸림

  • 남을 설득해야 할 때(TDD추천, 새로운 기술 추천 등등)
    • 설득하기 힘듬, 자기가 걸린 시간만큼 남도 그 시간을 줘야함
    • 설득 전 그 사람과 신뢰를 쌓는게 먼저다.
    • 관심을 가지는 사람에게 더 많은 에너지를 쓰는게 좋다.

  • 프레임워크의 메서드 시그니처는 매우 중요하다.
    • 특히, 인터페이스 설계
  • 인터페이스의 메서드 수는 적은 것이 좋다.
  • 인터페이스들이 사용하는 것의 개수가 제각각일 경우 부모 인터페이스로 분리하는 경우가 생긴다.
    • 여러 인터페이스를 상속하는 경우 아무런 메서드가 가지지않은 인터페이스도 의미가 있다.

2019-10-10 목요일

  • 인수 테스트를 할 떄 JUnit에서 서버를 자동으로 실행해주고 싶다. 이때 서버를 다른 쓰레드로 실행해야 테스트가 정상적으로 동작한다. 생각해보면 당연하다. 테스트 클래스에서 하나의 쓰레드에서 서버를 시작하면 그 쓰레드는 서버에서 계속 요청을 기다리고 있다. 그러면 테스트에 있는 요청을 해당 서버에 보낼 수 없다. 당연히 다른 쓰레드에서 구현한 테스트에 대한 요청을 보내야 한다.

2019-10-11 금요일

씨유 강의 - System 학습하기

  • 왜 공부해야하는지 알아야함
  • 처음에는 단일 호스트에 집중
  • 단일 호스트에 대한 이해가 되면 여러 개가 되어도 이해하기 쉬워진다.
  • 튜닝이란 부하 의 원인을 알고 이를 해결하는 것이다.
  • 책으로보단 코드를 직접 살펴보자.
    • 강의자료 참고

미션

  • HTTP는 stateless다!

2019-10-12 토요일

이 주부터 주간회고 템플릿을 바꿨다. TIL이라는 것이 그 날 하루 배웠던 것만 적는 것은 아닐까 하여 단순히 일일회고처럼 변경했다. 최대한 매일 공부한 것과 이를 하면서 느꼈던 점을 적었으면 좋겠다.

요즘에는 책읽는 방법, 미션, 면접 준비 등등 할 일이 점점 쌓여간다. 미리 할 일을 계획하고 차근차근 우선순위를 정해서 해나아가야 겠다는 생각이 들었다. 그래서 주간회고를 작성할 때 미리 그 주에 할 일을 적어놓고, 캘린더에 표시해두기로 했다. 그리고 하루를 시작할 때 반드시 캘린더를 확인하고 그 날 할 일을 최대한 할 수 있도록 해야겠다.