본문 바로가기

분류 전체보기378

스프링 부트와 코틀린으로 구현하는 온라인 쇼핑몰 결제 서비스 API 오늘은 스프링 부트와 코틀린을 활용하여 온라인 쇼핑몰의 다양한 결제 수단을 지원하는 API를 개발해볼 것입니다. 특히, 팩토리 패턴을 이용하여 각 결제 수단에 대응되는 서비스를 효과적으로 구현하는 방법에 대해서 알아보겠습니다. 1. 결제 수단 및 2차 결제 수단 Enum 타입 정의 먼저, 결제 수단 및 2차 결제 수단을 Enum 타입으로 정의합니다. enum class CashPaymentType { CREDIT_CARD, BANK_TRANSFER } enum class SecondaryPaymentType { POINT, COUPON } 📌 여기서, CashPaymentType은 현금 결제 수단을, SecondaryPaymentType은 포인트나 쿠폰과 같은 2차 결제 수단을 나타냅니다. 2. 결제 서.. 2023. 9. 28.
Kotlin으로 동일한 숫자가 연속적으로 포함되어 있는지 확인하기 fun containsConsecutiveNumbers(target: String, count: Int): Boolean { for (i in 0 until target.length - count + 1) { val substring = target.substring(i, i + count) if (substring.toSet().size == 1) { return true } } return false } 안녕하세요! 오늘은 Kotlin을 활용하여 숫자만 포함된 문자열에서 특정 숫자가 연속적으로 주어진 카운트 수만큼 포함되어 있는지 확인하는 방법에 대해 알아보겠습니다. 1. 함수 설명: 우리가 작성한 containsConsecutiveNumbers 함수는 두 개의 파라미터를 받습니다: target: 검.. 2023. 9. 28.
URL의 파라미터값을 Kotlin에서 Map으로 변환하는 방법 fun decodeUrlParams(url: String): Map { val result = mutableMapOf() val urlParts = url.split("?") if (urlParts.size > 1) { val query = urlParts[1] val pairs = query.split("&") for (pair in pairs) { val keyValue = pair.split("=") if (keyValue.size > 1) { result[keyValue[0]] = keyValue[1] } } } return result } 1. 함수 설명: URL은 주로 ? 뒤에 key-value 쌍의 파라미터들을 가집니다. 예를 들어, http://example.com/page?name=Joh.. 2023. 9. 28.
사용자 결제 패턴 인식을 위한 기반 데이터 결제 금액 사용자가 어떤 제품이나 서비스를 구매할 때 결제한 금액을 기록해야 합니다. 이를 통해 사용자의 구매 성향을 파악할 수 있습니다. 예를 들어, 사용자가 저렴한 제품을 선호하는지, 고가의 제품을 선호하는지 등을 알 수 있습니다. 결제 일자와 시간 사용자가 결제한 일자와 시간도 중요한 데이터입니다. 이를 통해 사용자의 결제 패턴을 파악할 수 있습니다. 예를 들어, 사용자가 주말에 더 많은 결제를 하는지, 특정 시간대에 더 많은 결제를 하는지 등을 파악할 수 있습니다. 결제 수단 사용자가 어떤 결제 수단을 사용하는지도 중요한 데이터입니다. 이를 통해 사용자의 선호하는 결제 수단을 파악할 수 있습니다. 예를 들어, 사용자가 신용카드를 선호하는지, 모바일 결제를 선호하는지 등을 파악할 수 있습니다. 구매.. 2023. 2. 19.
DBN(Deep Belief Networks) DBN(Deep Belief Networks)은 깊은 신뢰 신경망 구조를 사용하여 비지도 학습을 수행하는 머신러닝 알고리즘입니다. DBN은 RBM(제한된 볼츠만 머신)을 기본 블록으로 사용합니다. RBM은 양방향 그래프를 가진 노드들로 이루어져 있으며, 각 노드는 확률 분포를 가지고 있습니다. 두 개의 층으로 구성된 RBM은 입력 층과 숨겨진 층을 가지고 있습니다. 이전 층의 출력이 다음 층의 입력으로 사용되는 구조로 이루어져 있으며, 출력의 값은 확률로 나타내어집니다. DBN은 이러한 RBM을 여러 층으로 쌓은 구조를 가지고 있습니다. 층을 추가함으로써 더 복잡한 특징을 추출할 수 있습니다. 또한 DBN은 초기 가중치를 RBM의 학습을 통해 얻어집니다. 이후 역전파 알고리즘을 사용하여 미세 조정이 이루.. 2023. 2. 19.
DBN(Deep Belief Networks) DBN(Deep Belief Networks)은 깊은 신뢰 신경망 구조를 사용하여 비지도 학습을 수행하는 머신러닝 알고리즘입니다. DBN은 RBM(제한된 볼츠만 머신)을 기본 블록으로 사용합니다. RBM은 양방향 그래프를 가진 노드들로 이루어져 있으며, 각 노드는 확률 분포를 가지고 있습니다. 두 개의 층으로 구성된 RBM은 입력 층과 숨겨진 층을 가지고 있습니다. 이전 층의 출력이 다음 층의 입력으로 사용되는 구조로 이루어져 있으며, 출력의 값은 확률로 나타내어집니다. DBN은 이러한 RBM을 여러 층으로 쌓은 구조를 가지고 있습니다. 층을 추가함으로써 더 복잡한 특징을 추출할 수 있습니다. 또한 DBN은 초기 가중치를 RBM의 학습을 통해 얻어집니다. 이후 역전파 알고리즘을 사용하여 미세 조정이 이루.. 2023. 2. 19.