코틀린

    [CANCER-FINE] 팩토리 메서드 패턴을 활용해 탄탄한 Entity 구성하는 방법

    1. 배경JPA를 사용하여 엔티티를 작성할 때 우리는 보통 정형화된 방식으로 작성합니다. 예를 들어 아래와 같은 형태가 일반적입니다.@Entity@Table( name = "board", indexes = [Index(name = "idx_fts", columnList = "title, content", unique = false)]) class Board( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null @Column(nullable = false) var title: String, @Column(columnDefinition = "TEXT", nullabl..

    테스트코드 내 StackOverflow 발생 원인과 해결 과정

    테스트코드 내 StackOverflow 발생 원인과 해결 과정

    1. 문제 발생서비스 레이어의 테스트 코드를 작성하고 실행했을 때, 예상치 못한 StackOverflowError가 발생했습니다.테스트 코드는 다음과 같았습니다.@ExtendWith(MockitoExtension::class)class BoardServiceTest { @Mock private lateinit var boardRepository: BoardRepository @Mock private lateinit var userRepository: UserRepository @Mock private lateinit var chatGptService: ChatGptService @Mock private lateinit var sessionUtil: Sessio..

    코틀린 - 함수형 프로그래밍에 대하여

    코틀린 - 함수형 프로그래밍에 대하여

    현재 "객체에서 함수로" 라는 책을 바탕으로 함수형 프로그래밍 스터디를 진행하고 있습니다.처음 함수형 프로그래밍을 접하면서 느꼈던 함수형 프로그래밍만의 매력을 복기하며 정리하고자 합니다. 0. 함수란?📌 수학적 관점함수는 수학에서 유래한 개념으로, 특정 입력을 받아 출력으로 변환하는 규칙입니다. 수학적 함수는 입력과 출력 사이의 명확한 관계를 정의하며, 외부 환경에 의존하거나 영향을 주지 않습니다.입력과 출력: 동일한 입력은 항상 동일한 출력 반환 (→ 순수성 / 순수 함수)독립성: 외부 상태나 변수에 의존하지 않음투명성: 함수 호출은 그 결과값으로 대체 가능 (→ 참조 투명성)f(x, y) = x + y f(2, 3) = 5항상 입력값 x=2, y=3에 대해 동일하게 5를 반환합니다. 💻 프로그래..