初不得三

데이터 검증 책임을 어떻게 나눌 것인가

📌 개요 개인적으로 어떤 기술을 도입하거나 코드를 작성할 때, 개략적으로라도 근거가 있어야 한다고 생각한다. 그렇다고 ‘근거를 먼저 찾고 그 다음 작업을 진행하자!’라는 입장은 아니다. 남들이 닦아 놓은 길을 굳이 외면할 필요는 없다고 생각한다. 실제로 모든 기술 도입이나 코드 작성에 완벽한 근거를 사전에 마련하는 것은 현실적으로 불가능하다. 중요한...

[Java] Lambda, Stream

📌 Lambda Function Lambda 함수는 함수를 하나의 식처럼 표현하는 방법이다. 함수명이 없기 때문에 ‘익명 함수’라고 부르기도 한다. 익명 함수는 함수형 인터페이스의 인스턴스로 취급되므로 ‘일급 객체’이다. 일급 객체란 다른 객체들에게 일반적으로 적용 가능한 연산을 모두 지원하는 객체로, 익명 함수 또한 정수나 문자열과 동일한 방법으로...

JUnit, AssertJ 라이브러리를 사용한 테스트

📌 JUnit이란? JUnit 은 자바의 단위 테스트 프레임워크이다. 단위 테스트를 자동화하여 메서드 수준까지 독립적으로 테스트를 수행할 수 있다. 또한 어노테이션과 여러 라이브러리를 통해 간결하고 직관적으로 테스트 코드를 작성할 수 있다. JUnit은 테스트 메서드 실행 순서를 보장하지 않고 독립적으로 테스트를 수행하므로 테스트 간 의존성이 존재...

영속성 컨텍스트, EntityManager 관련 메서드

📌 개요 EntityManager 관련 메서드를 알아보자. find 메서드를 제외한 대부분의 메서드는 트랜잭션 범위 내에서 수행되어야 한다. 📌 persist persist 는 새로운 엔티티(비영속 상태)를 영속성 컨텍스트의 1차 캐시에 저장하여 영속 상태 엔티티로 만드는 메서드이다. DB에 엔티티를 저장하는 메서드가 아니라 영속성 컨텍스트에 ...