map 과 forEach Kotlin 에서 .map{} 과 .forEach{} 항상 비슷한 느낌이 들어서 이번 기회에 정리. .map 의 경우 반환 값이 있음: 새로운 컬렉션을 생성해서 반환합니다.변환 목적: 각 요소를 다른 형태로 변환할 때 사용합니다.불변성: 원본 컬렉션을 변경하지 않고 새로운 컬렉션을 생성합니다.함수형 프로그래밍: 함수형 프로그래밍 스타일에 적합합니다..ForEach 의 경우 반환 값이 없음: Unit을 반환하며 새로운 컬렉션을 생성하지 않습니다.실행 목적: 각 요소에 대해 특정 작업을 수행할 때 사용합니다.부수 효과: 주로 부수 효과(side effect)를 위해 사용합니다 (예: 로깅, UI 업데이트).절차적 프로그래밍: 명령형/절차적 프로그래밍 스타일에 가깝습니다. 결론적으로 .map은 중간 컬렉션을.. KOTLIN/SOURCECODE 2개월 전
jakarta.transaction.Transactional vs org.springframework.transaction.annotation.Transactional kotlin 으로 spring boot 를 사용해서 개발을 하던 중. 비슷한 기능을 파는 패키지인데.. 뭐가 다른걸까 한참 궁금해하다가 찾아보게 되었다. 1. 패키지 경로Jakarta: jakarta.transaction.TransactionalSpring: org.springframework.transaction.annotation.Transactional2. 주요 차이점기능적 차이Jakarta @Transactional:Java EE(현재 Jakarta EE) 표준의 일부JTA(Java Transaction API) 기반 트랜잭션만 지원더 기본적인 옵션 세트 제공Spring @Transactional:Spring 프레임워크 전용 구현다양한 트랜잭션 관리자(JPA, JDBC, JTA 등) 지원더 풍부한.. KOTLIN/SOURCECODE 2개월 전
Page<T> 와 Slice<T> interface Page : Slice { val totalElements: Long // 전체 데이터 개수 val totalPages: Int // 전체 페이지 수 val number: Int // 현재 페이지 번호 val numberOfElements: Int // 현재 페이지의 데이터 개수 val content: List // 실제 데이터 val sort: Sort // 정렬 정보}interface Slice { val content: List // 실제 데이터 val number: Int // 현재 페이지 번호 val s.. KOTLIN/SOURCECODE 2개월 전