빠에야는 개발중
무엇인가? @Transactional 어노테이션은 스프링에서 제공하는 클래스, 메소드 레벨의 트랜잭션 지원 어노테이션이다. 이 어노테이션이 선언되면 스프링은 프록시 객체를 생성하여 자동 commit, rollback 등의 트랜잭션 처리를 맡긴다. 클래스, 메소드 내에서 Persistence layer에 접근하여 데이터를 조작, 조회 할 때 사용한다. 주로 Service layer에서 사용하게된다. 트랜잭션 격리 수준 트랜잭션 어노테이션답게 트랜잭션의 기능들 중 하나인 격리 수준 속성을 가지고 있다. Default 기본 격리 수준(DB의 격리 수준을 따름) READ_UNCOMMITTED (Level 0) 커밋되지 않은 데이터 읽기 허용 변경 중인 데이터에 접근할 수 있다. Dirty read 문제가 발생할..
많은 사람들이 테스트가 중요하다고 말한다. 나도 중요성은 느끼고 있었지만 잘 실천하지 못하는 중이었는데 백기선님의 유튜브 영상을 보다가 이 책을 꼭 읽어보라고 추천해주셔서 바로 사서 읽어보았다. 사실 여러 일들이 겹쳐서 완독하는데는 꽤 오랜 시간이 걸렸다.. 테스트는 귀찮다 언젠가 회사 동료 중 한 명과 이런 이야기가 나온 적이 있다. "테스트는 구현 내용이 바뀔 때마다 계속 바뀌어야 하고 귀찮잖아요. 결과만 확인할 수 있으면 되지 않을까요? 괜히 오버헤드만 늘어나는 느낌이에요." 어느 정도 공감은 되었다. 어떤 기능을 개발할 때 각종 예외상황을 생각하면서 테스트를 작성하여 통과시킨다는 건 어찌 보면 배보다 배꼽이 더 큰게 아닐까 하는 생각이 들었다. 그러다보니 점점 테스트 작성이 귀찮아지고 결국 눈 앞..