본문 바로가기

전체 글

(169)
[SpringBoot] 경매사이트 만들기 - 결제 서비스 (feat.아임포트, 카카오) - 2 https://record-developer.tistory.com/144 [SpringBoot] 경매사이트 만들기 - 결제 서비스 (feat.아임포트, 카카오) - 1 들어가기전.. 들어가기전 먼저 최종 계획을 말해보자면... 결제 서비스로 유저가 결제한뒤 받은 금액에서 수수료5%를 제외하고 나머지 금액을 경매물건을 올린 유저에게 이체시켜주는 시스템을 record-developer.tistory.com 이번포스팅은 위의 포스팅을 이어서 결제 검증을 하고, 결제 검증이 실패했을때 결제 승인 취소를하는 포스팅을 해보겠따! 결제 검증을 해야하는 이유? 결제 검증을 해야하는 이유는 아임포트 연동 가이드에 나와있는데 요약하자면 유저가 스크립트 조작해서 가격 변동시킬 수 있다 -> 이를 방지하기 위해 서버에서 옳바..
[JAVA] 프로그래머스 - N으로 표현 문제내용 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 ..
[SpringBoot] 경매사이트 만들기 - 결제 서비스 (feat.아임포트, 카카오) - 1 들어가기전.. 들어가기전 먼저 최종 계획을 말해보자면... 결제 서비스로 유저가 결제한뒤 받은 금액에서 수수료5%를 제외하고 나머지 금액을 경매물건을 올린 유저에게 이체시켜주는 시스템을 만들려고한다. (이체는 금융결제원의 api를 이용할생각) 이를 하기위해 먼저 아임포트 api를 이용해 결제서비스를 구현했으며 어떤식으로 구현했는지, 어떤 부분을 수정했고, 추가했는지에 대해서 하나씩 구현과정을 보면서 같이 포스팅 해보려한다! 아임포트 결제서비스를 구현하기 위해 무료로 제공되는 대표적인 api는 부트페이와 아임포트가 있다. 이중에서 필자는 아임포트를 이용했는데, 이때 결제 시스템은 KG이니시스(웹표준결제창)을 이용했다. KG이니시스를 이용한 이유는 카카오페이, 네이버페이 외에 여러가지 카드들로 한번에 결제 ..
[JAVA] 프로그래머스 - 쿼드압축 후 개수 세기 문제내용 https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참..
[JAVA] 프로그래머스 - n^2 배열 자르기 문제내용 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운..
[JAVA] 프로그래머스 - 점프와 순간 이동 문제내용 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 ..
[JAVA] 프로그래머스 - 이진 변환 반복하기 문제내용 https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 re..
[SpringBoot] 경매사이트 만들기 - 페이징(JPA), 좋아요 수정했음 ※수정사항 ActionBoardController의 actionDetailPost 메소드에서 전에는 게시물 번호를 String으로 매개변수로 받아서 long으로 변환해줬는데, 굳이 그럴필요가 없어서 처음부터 long으로 받도록했다. 게시물 보는사람이 회원인지 비회원인지를 구분하는 부분을 Controller에서 작성했었는데 Service 계층에서 작성하는게 관리가 쉽고, 보기 편할듯해서 ActinoBoardService에 checkMember 메소드를 만들어줬다. 이전에 게시판 작성할때 파일 업로드를 하려고 Photo 테이블을 추가했는데 수정된 ERD를 안올렸었다.. 깜빡ㅠ 좋아요 만들었을때 추가와 삭제를 모두 POST방식으로 해서 하나의 컨트롤러로 요청이 드가게 했는데, 이부분을 추가할땐 POST 요청,..