-
[프로그래머스] 문자열 겹쳐쓰기_ReplaceRange 활용
코테를 한동안 놓다가... 코틀린으로 다시 준비할 겸 시작해본다.위 문제는 사실 굉장히 간단한 구현 문제임 1. 내 풀이class Solution { fun solution(my_string: String, overwrite_string: String, s: Int): String { var answer: String = "" for (i in 0..my_string.length - 1) { when { i answer+=my_string[i] s answer+=overwrite_string[i-s] i >= overwrite_string.length+s -> answer+..
-
[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..
-
[CANCER-FINE] 프로젝트 init
이번에 순전히 저를 위한 개인 사이드 프로젝트를 시작했습니다. 1. 프로젝트 개요현재 암환자에 대한 정보는 산재되어 있으며, 각 환자에게 fit한 정보를 찾는것이 너무 어려움암환자를 위한 맞춤형 정보 제공 사이트2. ERD 다이어그램ERD는 다음과 같습니다. 그렇게 복잡하진 않습니다.3. 기술 스택FrontEnd : React.js , html, css, javaScriptBackEnd : SpringBoot 3.3.4, Kotlin1.9, MySQL, Spring Data JPA, AOP, Functional Programming, JUnit54. 참여 인원작성자 혼자 진행5. 핵심 기능1) 회원회원가입로그인로그아웃회원정보수정회원 탈퇴Session 기반 로그인 유지AOP 활용한 SessionCheck..
-
테스트코드 내 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를 반환합니다. 💻 프로그래..