분류 전체보기118 Java Lamda 표현식과 Stream API Java8에서 소개된 Lamda 표현식과 Stream API는 JAVA 언어를 더욱 강력하게 만들어 주었습니다. 코드를 간결하게 작성할 수 있도록 도와주며, 컬렉션 처리, 필터링, 매핑, 리듀싱 등 다양한 연산을 지원하여 코드의 가독성과 유지보수성을 향상시켜줍니다. 아래에서 Lamda 표현식과 Stream API 대한 설명과 예시를 이어 나가도록 하겠습니다. Lamda 표현식 람다 표현식은 익명 함수를 간단하게 표현하는 방법으로 자바8부터 도입 되었습니다. 간결한 문법으로 함수형 프로그래밍의 이점을 활용할 수 있습니다. 간결한 문법 // 기존의 방식 Runnable runnable = new Runnable() { @Override public void run() { System.out.println(".. 2024. 1. 31. 함수형 프로그래밍과 일급객체 함수형 프로그래밍은 프로그램을 수학적인 함수의 조합으로 보는 프로그래밍 패러다임 중 하나입니다. 이 패러다임은 코드를 간결하고 유지보수 가능하게 만들어주며, 높은 수준의 추상화를 제공하여 복잡한 문제를 해결할 수 있게 합니다. 이에 따라 자바와 같은 몇몇 언어들에서는 함수형 프로그래밍의 개념을 도입하고 있습니다. 함수형 프로그래밍은 여라가지 특징을 가지고 있지만, 여기서는 그 중에서도 일급 객체에 주목해보려 합니다. 일급 객체(일급시민)란 프로그래밍 언어에서의 특정 조건을 만족하는 객체를 가르키는데, 이 조건을 충족하는 객체는 다음과 같은 특성을 가집니다. public class Main { public static void main(String[] args) { // 1. 변수에 할당 가능 Runnab.. 2024. 1. 31. JPA OSIV JPA의 OSIV(Open Session In View) 영속성 컨텍스트를 뷰 렌더링이 완료될 때까지 유지하는 전략입니다. 웹 어플리케이션에서 데이터베이스 트랜젹션을 뷰 렌더링 전까지 열어두는 패턴입니다. ( API 일경우는 클라이언트에게 응답 완료시까지 ) 일반적으로 JPA는 트랜잭션 범위 내에서 영속성 컨텍스트를 유지합니다. 즉, 트랜잭션이 커밋되거나 롤밸될 때 영속성 컨텍스트도 닫힙니다. 그러나 OSIV를 사용하면 트랜잭션이 유지되므로 뷰가 렌더링될 때까지 영속성 컨텍스트를 유지하게 됩니다. 예를 들어 OSIV 사용하면 화면에서 지연로딩을 사용하여 데이터를 렌더링할 수 있습니다. 다만, OSIV를 사용할 때 주의해야 할 점은 장기간의 트랜잭션을 유지하게 되면 데이터베이스 커넥션 리소스가 반환되지 않.. 2024. 1. 31. JPA Auditing JPA(Auditing) 은 JAVA Persistence API의 일부로서, 엔티티의 변경 이력을 추적하고 기록하는 기능을 제공합니다. 이를 통해 데이터베이스의 특정 테이블에 변경 이력을 남길 수 있습니다. 주로 생성일, 수정일, 생성자, 수정자 등의 정보를 추적하는데 사용됩니다. @CreatedDate : 엔티티가 생성될 때 해당 필드에 현재 날짜 및 시간이 자동으로 등록됩니다. @LastModifiedDate : 엔티티가 수정될 때 해당 필드의 현재 날짜 및 시간이 자동으로 갱신 됩니다. @CreatedBy : 엔티티가 생성될 때 해당 필드에 현재 사용자 정보가 자동으로 등록됩니다. @LastModifiedBy : 엔티티가 수정될 때 해당 필드에 현재 사용자 정보가 자동으로 갱신 됩니다. BaseE.. 2024. 1. 30. 이전 1 ··· 11 12 13 14 15 16 17 ··· 30 다음