Weekly retrospective(WW42)

1 분 소요

매주 해야하는 일

  • 주 3회 운동
  • 주 5회 알고리즘 문제 12월까지 잠시 제외
  • 주 2회 포스팅

이번 주 (WW42)

이번주 하기로 목표 했던 일

  • 의식적인 연습을 통한 단점 극복
  • Git 포스팅 - cherry-pick
  • HTTP 완벽 가이드 2장
  • JVM 기초 공부
  • 네트워크 책 보기

계획 하지 않았지만 했던 일

  • SPOF
  • JVM Runtime Data Area

나에게 칭찬 해주고 싶은 것

  • 매일 질문을 하나씩 (거의 억지로 하긴 했지만)
  • 정리를 잘하진 않았지만 몰랐던 것을 공부한 후 정리를 해두었다.

공부한 내용

  • 회의실에 있는 내용
  • 컴파일타임 Exception과 런타임 Exception을 사용하는 것을 구분할 가이드라인
    • API를 사용하는 모든 곳에서 이예외를 처리해야 하는가? 예외가 반드시 메소드에 대한 반환 값이 되어야 하는가? - 컴파일타임 Exception
    • API를 사용하는 소수가 Exception을 처리해야 하는가 - Runtime Exception
    • 큰 문제가 발생했고, 그를 복구할 방법이 없는가? - Runtime Exception
    • 잘 모르겠다면? - Runtime Exception - Exception에 대해 문서화하고 API에 그 예외에 대한 처리를 위임해라
  • Functional Interface
    • 단 하나의 추상 메서드만 선언된 인터페이스
  • Java Stream
  • Transaction 관리 측면에서 try-catch문과 commit, rollback을 계속 추가해줘야 할까?
    • 지금 개발한 JdbcTemplate에서는 단일 쿼리 밖에 없기 때문에 커밋, 롤백이 따로 필요 없었다. (insert, update문이 하나 뿐인데 이게 실패하면 당연히 롤백되지)
      • 트랜잭션 관점에서 여러개의 쿼리들이 하나의 트랜잭션으로 묶인다면 이 시점에 트랜잭션 관리가 필요하여 autocommit을 끄고, commit or rollback 하는 형식으로 해야할 듯 하다.
      • Select 쿼리의 경우엔 데이터베이스에 영향을 주는 쿼리문이 아니기 때문에 롤백의 필요성이 없다. (Spring JPA에서도 Select문에는 transactional 안달았다.)
    • AOP를 공부해보자
  • Heap은 왜 Heap이지?
    • Stack overflow
    • Heap 자료구조와는 관련이 없다.
    • 위키피디아에서는 Lisp이 Memory store를 구현하기 위해 heap 자료구조를 사용했기 때문에.. 그렇게 됬다.(어떻게 했다고는 나와있지 않다.)
    • 메모리 힙은 세탁물 바구니의 heap of clothes와 같은 느낌으로 부른다. 그러니까 메모리가 할당되고 해제되는 messy한 공간을 가리키기 위해 사용된다.
  • 나는 왜 TDD에 집착하는가?

아쉬운점

  • 나만의 공부 방법이 필요한 것 같다.
  • 진지할 땐 진지하고, 열심히 해야할 땐 열심히 하자.

아카이빙


다음 주 (WW43)

다음주 목표

  • lv2 피드백 정리 - 내가 뭘 배웠을까?
  • 테코톡 주제 재 정리(내 말로 정리)
    • Dependency Injection
    • SOLID
    • 스프링 부트 애너테이션
    • Web server vs. WAS
    • Request로부터 Response까지의 흐름
  • 깃 포스팅 주제 추천 받아서 하나 (cherry-pick + @)

가까운 미래의 목표

  • JVM 동작 원리
  • OS 처음부터 정리
  • 네트워크 처음부터 정리
  • JPA 스터디

댓글남기기