728x90
반응형

java 53

[스프링 + 포트원] 스프링으로 포트원 사용해서 결제 구현 하는 방법(Spring Boot, JPA, PortOne)

[스프링 + 포트원] 스프링으로 포트원 사용해서 결제 구현 하는 방법(Java, Spring Boot, JPA, PortOne) 포스팅 동기 쇼핑몰을 개발하면 결제 부분에서 어떻게 해야할지 막막한 개발자들이 있을 것 입니다. 저 또한 그랬습니다. 😭 결제를 구현하기 위해서는 각 PG사에서 제공하는 API를 사용하여 개발을 진행해야하는데, 만만한 작업이 아니라고 생각합니다… 이러한 문제를 해결하고자 포트원이라는 업체가 등장했습니다. 그런데…. 이마저도 막상 개발하다보면 어려움을 느낍니다… 그리고 구글링을 하다보면 대부분 javascript를 사용하여 구현한 예제들만 있고, Spring을 사용한 예제는 별로 없는 것 같더군요.. ㅎㅎ 저는 이러한 답답함에 조금이라도 도움을 드리고 싶어 글을 작성하게 되었습니..

0+ 스프링 2023.06.03

[스프링 MVC] XML 데이터 파싱(RestTemplate)

[스프링 MVC] XML 데이터 파싱(RestTemplate) 요즘 대부분의 HTTP API는 JSON 형식을 지원합니다. 하지만, 프로젝트를 진행하다보면 XML 형식의 데이터를 파싱해야하는 경우가 생깁니다. 😭 XML 데이터를 파싱하는 방법에 대해서 소개하겠습니다. MessageConverter 먼저 MessageConverter에 대해서 알아야 합니다.^^ HTTP API처럼 (JSON, XML 등등…)데이터를 HTTP 메시지 body에서 직접 읽거나 사용하는 경우HTTP 메시지 컨버터가 기능을 제공하여 편리합니다.^^ MessageConverter가 뭘까요? 🤔 스프링 MVC 내부에서 HTTP 메시지 바디를 읽어 문자나 객체로 변환해서 전달해줍니다. 이때, HttpMessageConverter 라는..

[백준 9205] 맥주 마시면서 걸어가기(Java)

[백준 9205] 맥주 마시면서 걸어가기(Java) 백준 9205: 맥주마시 면서 걸어가기 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 해결 방법 1트 문제를 읽고 DFS를 이용하여 해결하려고 했습니다. 하지만, 구현해 보니 페스티벌에 갈수 있는지 없는지 판별하기가 어려웠습니다. 경로 하나만 맥주를 다 못마시면 sad를 출력했기 때문입니다. ㅠㅠ 2트 BFS를 사용해보았습니다. 그런데 x, y 좌표가 음수의 값을 갖을 수도 있습니다.. 그래서 문제를 해결하지 못했습니다. 3트 결국 다른 사람의 풀이를..

[10분 테코톡] 나는 제너릭을 모르고 개발했다.

[10분 테코톡] 나는 제너릭을 모르고 개발했다. Java로 개발을 진행하다 보면 제너릭이라는 표현을 들어보셨을 것 입니다. (, )을 추가했습니다. 와일드 카드는 정해지지 않은 unknown type이기 때문에 Collection로 선언하여 모든 타입에 대한 호출이 가능해졌습니다. // 와일드 카드 적용 void printCollection(Collection c) { for (Object e : c) { System.out.println(e); } } 그런데 데이터를 삽입할 때 문제가 있습니다…. void genericTest() { Collection collection = new ArrayList(); collection.add(new Integer(1)); } 와일드 카드로 선언된 타입은 unk..

[백준 14503] 로봇 청소기(Java)

[백준 14503] 로봇 청소기(Java) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 해결 방법 1트 문제를 읽고 작동이 멈출때 까지 loop를 사용하면 되어서 BFS로 접근해서 해결했습니다. 저는 방향을 돌리는 것이 수식으로 생각이 나지 않아서 조건문을 모두 만들어서 해결했습니다. 조건대로 구현을 했는데! 틀렸습니다. ㅠ0ㅠ 2트 디버깅을 통해 틀린 이유는 바로 청소한 부분을 다시 지나갈..

[백준 7569] 토마토(Java)

[백준 7569] 토마토(Java) 7569번: 토마토 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 해결 방법 1트 문제에서 최소 날짜를 구하라고 해서 바로 BFS를 생각했습니다. 문제를 해결하기 위해서는 3차원 배열에 대한 이해가 있어야 합니다. 그리고 익은 토마토의 상, 하, 좌, 우, 윗칸, 아랫칸에 위치한 토마토는 익습니다. 그림으로 표현하면 아래와 같습니다. 이를 코드로 표현하면 다음과 같습니다. // 3차원 배열 int[][][] box = new int[z][x][y];..

[백준 2644] 촌수계산(Java)

[백준 2644] 촌수계산(Java) 2644번: 촌수계산 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 해결 방법 1트 부모자식간에는 1촌이라는 사실을 이용하여 DFS를 사용하여 문제에서 주어진 사람1(노드1)에서 시작해서 사람2(노드2)에 도달할때 깊이(depth)를 출력하면 됩니다. 촌수가 없으면(노드가 연결 안되있으면) -1을 출력하면 됩니다. 풀이 public class Quiz2644 { static int n; static int member1; static int membe..

[백준 5014] 스타트링크(Java)

[백준 5014] 스타트링크(Java) 5014번 스타트링크 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 해결 방법 1트 처음에 DFS를 이용해서 문제를 해결하려고 했습니다. G층에 도착했을 때 깊이를 계산하면 되기 때문이죠! // 시간초과... private static void dfs(int depth, int now) { if(now > f || now f || poll.getNode()

[백준 1987] 알파벳(Java)

[백준 1987] 알파벳(Java) 1987번: 알파벳 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 해결 방법 1트 DFS를 사용하여 모든 경로를 탐색하고 경로의 길이가 가장 긴 것을 출력하면 되는 문제 입니다. 풀이 public class Quiz1987 { static int r; static int c; // 상, 하, 좌, 우 static int[] ud = {1, -1, 0, 0}; static int[] lr = {0, 0, 1, -1}; static Character[][] map; s..

[백준 2468] 안전 영역(Java)

[백준 2468] 안전 영역(Java) https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 해결 방법 1트 문제를 보고 DFS또는 BFS로 해결하면 좋을 거라고 판단했습니다. 저는 DFS를 사용했습니다. 시작 지점에서 DFS가 종료될때 마다 count를 증가시키면 된다고 생각했습니다.^^ 그런데…. 틀렸습니다. 2트 문제를 다시 읽어보니 최대 안전 영역을 구하라고 했습니다. 저는 n을 기준으로 안전영역을 구하는 것인지 알았습니다..😭 따라서 지역에서 최대..

728x90
반응형