환경 springboot 2.7.x java 11 data-jpa 사용 mysql(aws RDS) 사용 아래글을 참고하면서 적용시켰다 https://www.baeldung.com/spring-data-jpa-multiple-databases 먼저 mysql에 member_test, auth_test 스키마(DB)를 먼저 만들었다 member_test에 들어갈 User 엔티티와 auth_test에 들어갈 Password 엔티티만 존재하는 상황 package myproject.sns.domain.member.entity; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import javax.per..
요약 - acitons에 작성해둔 jobs의 gradle build 스텝에서 오류 발생 - DB 연결 정보(드라이버, id, password..)를 가진 application.yml 파일이 없었기 때문 - 서브모듈을 사용해서 해결 오류 파악하기 docker 및 jpa dialect 설정 부족으로 인한 actions 오류는 해결했다 다만 위와 같은 오류가 한번 더 발생해 해결을 하려고 한다 밑에 보면 deprecated 된 gradle 기능 때문에 gradle 9.0으로 올리라는 문구가 있으나 현재 날짜 24/01/26 기준으로 gradle 8.5가 최신버전이며 애초에 gradle 9.0은 나오지도 않았다 하지만 exception문단에서 무언가를 알아낼 수 있었다 처음 발생한 에러라고 생각되는 맨 밑줄을 ..
이번 문제는 SQL 쿼리문을 작성하는 문제입니다 https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 MySQL을 기준으로 풀었습니다 문제는 다음과 같습니다 조건은 2021년으로 두고 회원의 비율은 SELECT절에서 집계함수나 연산자를 이용해서 구할 수 있겠습니다 문제를 보고 제가 작성한 SQL 쿼리문은 아래와 같습니다 SELECT YEAR(sales_date) as YEAR, MONTH(sales_date) as MONTH, COUNT(DI..
계층 구조 계층화된 아키텍처(layered architecture) 또는 n-tier 아키텍처 패턴 이라고도 하며 소규모 응용 프로그램인 경우엔 3개의 계층만 있을 수 있고, 반면 대규모인 경우 5개 이상의 계층이 포함될 수 있다 대부분의 Java EE 애플리케이션에 대한 표준으로 알려져 있다 패턴 계층 내 구성 요소는 수평관계이며 각 계층에는 애플리케이션 내에서 역할과 책임을 담당하고 있다 Presentation Layer 모든 사용자 인터페이스와 브라우저 통신 로직을 처리하는 계층 사용자 데이터를 어떻게 얻어야 하는지 알 필요가 없음 특정 형식으로 화면에 해당 정보를 표시하기만 하면 되는 계층 View, Controller Business Layer 요청(request)과 관련된 특정 비즈니스 규칙을..
저번 결제 포스팅에서는 아임포트 API와 결제 연동 전 필요한 액세스 토큰을 어떻게 인증받아야 하는지를 알아봤었습니다 이번엔 저희 프로젝트에서는 어떻게 결제 처리를 했는지 보여드리겠습니다 결제 연동과 단순히 결제 성공을 시키는건 정말 간단하니 아임포트 결제 연동 가이드를 보고 따라하시면 되겠습니다 인증결제 연동하기 인증결제 연동하기 PG결제창을 이용한 인증결제를 손쉽게 연동할 수 있습니다. developers.portone.io PG사 연동은 KG이니시스를 사용했으며 실제 가맹점이 없기 때문에 테스트 연동을 통해 진행하였습니다 결제 전 주문 상세 정보를 보여주는 페이지입니다 이때 결제하기를 누르면 결제창이 나오게 됩니다 여기서 주로 사용하는 카카오 페이를 선택해서 실제 결제로 넘어가면 다음과 같은 화면창..
이번엔 결제 기능을 포스팅 해보겠습니다 제일 생소하기도 했고 처음으로 외부 라이브러리를 사용했던 기능입니다 개요 결제는 아임포트(iamport) 대행사를 이용했습니다 결제 연동 하기 결제 연동 하기 결제 연동 체계 결제 채널이란: 결제의 객체를 칭하는 명칭으로써 결제 대행사가 발급해준 credential 단위로 이루어 집니다. 해당 결제 채널을 가맹점이 직접 사용하시거나 가맹점 developers.portone.io 결제를 위해 PG사에 직접 연동하는 것보다는 아임포트를 사용하는 것이 시간적으로 더 낫다고 판단했습니다 아임포트 측에서도 사용 이유에 대해 잘 설명되어 있으니 참고하시면 좋을 것 같습니다 포트원 결제 FLOW 포트원 결제 FLOW PG사 직연동과 포트원 연동시의 결제 FLOW차이점을 확인할 ..
이번엔 장바구니 기능입니다 저번에 포스팅했던 주문 기능과 밀접하기 때문에 아래의 글을 읽고 오시면 이번 내용의 이해가 빠르실 겁니다 #3. 주문 - 01 제가 기능을 담당한 부분들은 크게 총 3가지 입니다 주문 / 장바구니 / 결제 여기서는 주문 기능에 대해서 포스팅 해보겠습니다 제가 사용한 기술 버전은 Java 17, SpringBoot 3.0 이상, mariaDB 10.4 이상, naellu81.tistory.com 개요 한번에 여러 상품을 구매하고 싶을 때 미리 담아놓을 수 있게 만든 장바구니 기능입니다 상품 상세 페이지에서 장바구니 버튼을 누르면 해당 상품이 장바구니에 담기게 됩니다 회원이 보는 장바구니 화면은 아래와 같습니다 여기서 회원은 왼쪽의 체크 박스로 상품 구매를 선택적으로 할 수 있게 ..