[PlantiFy] 숲 꾸미기 서비스(Item Service) - UI 행위 단위 GraphQL 설계
·
💻/프로젝트
상황: 빈번한 상태 변경이 발생하는 도메인 구조MyItem은 아이템 보관 정보 담당하고, 그중 현재 사용 중인 아이템은 UsingItem 테이블(MyItem UsingItem은 1:1 관계) *숲 꾸미기 서비스 개요 참고 보유 -> 실제 공간에 배치ex. 싸이월드 미니룸Item (상점 아이템) └─ MyItem (사용자가 보유한 아이템) └─ UsingItem (공간에 배치된 아이템)Ite" data-og-host="debug.tistory.com" data-og-source-url="https://debug.tistory.com/317#google_vignette" data-og-url="https://debug.tistory.com/317" data-og-image="https://scrap.kak..
[BOJ/Floyd-Warshall] 백준 13168 - 내일로 여행 (Java)
·
✏️/BOJ
백준 13168 - 내일로 여행https://www.acmicpc.net/problem/13168문제입력첫 번째 줄: 한국에 있는 도시 수 N (1 두 번째 줄: N개의 도시 이름 (알파벳 대소문자로 구성된 길이 세 번째 줄: 여행할 도시 수 M (1 네 번째 줄: 여행할 M개 도시 이름 (N개 도시 중 하나)다섯 번째 줄: 교통수단의 수 K (1 마지막 K개 줄: 교통수단 정보 (종류 Type, 양 끝 도시 S_i, E_i, 1인당 비용 Cost_i (1 모든 도시는 주어진 K개의 교통수단 이용해서 갈 수 있음/ 이름이 같은 도시가 있을 수 있음 -> N개 도시의 이름에는 같은 도시의 이름 2번 이상 주어질 수 있고 이 경우 모두 같은 도시라고 생각해야 함 출력: 내일로 티켓을 사는 것이 좋으면 Yes..
[BOJ/Floyd-Warshall + DFS] 백준 17182 - 우주 탐사선 (Java)
·
✏️/BOJ
백준 17182 - 우주 탐사선https://www.acmicpc.net/problem/17182문제행성의 위치 0부터 시작해 0은 행렬에서 0번째 인덱스에 해당하는 행성2차원 행렬에서 i, j번 요소는 i번째 행성에서 j번째 행성에 도달하는데 걸리는 시간i와 j가 같을 때는 항상 0이 주어짐탐사 후 다시 시작 행성으로 돌아올 필요 X 이미 방문한 행성도 중복해서 갈 수 있음입력첫째 줄: 행성의 개수 N, ana호가 발사되는 행성 위치 K (2 다음 N줄: 각 행성 간 이동 시간 $T_{ij}$ (0 출력: 모든 행성을 탐사하기 위한 최소 시간풀이Floyd–Warshall어떤 행성에서 다른 행성으로 가는 데 걸리는 최소 시간 미리 계산-> 중간 경유지(`k`) 지날 때 더 빠르면 그 값으로 갱신 for ..
[BOJ/MST] 백준 2887 - 행성 터널 (Java)
·
✏️/BOJ
백준 2887 - 행성 터널https://www.acmicpc.net/problem/2887문제행성은 3차원 좌표 위의 한 점행성 A(xA, yA, zA)와 B(xB, yB, zB)를 터널로 연결할 때 드는 비용 min(|xA - xB|, |yA - yB|, |zA - zB|)터널을 총 N - 1개 건설해서 모든 행성이 서로 연결되게 하려고 함입력첫째 줄: 행성의 개수 N (1 다음 N개 줄: 각 행성의 x, y, z 좌표 ($-10^9$ 출력: 모든 행성을 터널로 연결하는데 필요한 최소 비용풀이Planet 클래스행성 번호 + x, y, z 좌표 저장static class Planet { int idx, x, y, z; Planet(int idx, int x, int y, int z) { ..
[PlantiFy] 결제 서비스(Pay & Transaction & Payment Service) - MSA 환경에서 결제 시스템 구축하기 2 / Redis 분산 락과 멱등성 설계로 동시성 리팩토링
·
💻/프로젝트
결제 시스템에서 가장 어려운 부분은 결제 확정(Confirm Payment) 단계Pay 잔액 차감 / 포인트 사용 or 적립 / 트랜잭션 상태 확정 / 정산 데이터 기록 등 여러 상태가 동시에 변경됨IF. MSA 환경에서 네트워크 장애, 중복 요청, 다중 인스턴스 환경, 서비스 간 호출 실패-> 상태만 성공이고 금액은 차감되지 않은 불일치 문제가 발생할 수 있음=> 원장(Ledger) 정합성 문제 -> 결제 확정 = Ledger 변경이 성공했을 때만 상태를 성공으로 전이 *결제 시스템 개요 확인 [PlantiFy] 결제 서비스(Pay & Transaction & Payment Service) - MSA 환경에서 결제 시스템 구축하기 1 / Redis 분결제 서비스 개요자체 결제 수단을 운영하고, 이를 ..
[BOJ/Dijkstra] 백준 4485 - 녹색 옷을 입은 애가 젤다지? (Java)
·
✏️/BOJ
4485 - 녹색 옷을 입은 애가 젤다지?https://www.acmicpc.net/problem/4485문제도둑루피(검정색 루피): 소지한 루피 감소도둑루피만 가득한 N*N 크기의 동굴의 제일 왼쪽 위 [0][0]에 잇음 동굴의 반대편 출구인 제일 오른쪽 아래 칸 [N-1][N-1]까지 이동해야 함/ 상하좌우 1칸 식 이동 가능각 칸마다 도둑루피가 있는데, 이 칸을 지나면 해당 도둑루피 크기만큼 소지금 잃음=> 잃을 수밖에 없는 최소 금액?입력: 여러 개의 테스트 케이스로 이뤄짐각 테스트 케이스 첫째 줄: 동굴의 크기 나타내는 정수 N (2 전체 입력 종료N개 줄: 동굴의 각 칸에 있는 도둑루피의 크기 (IF. 크기 k -> 이 칸 지나면 k루피 잃음) (0 출력: 각 테스트 케이스마다 한 줄에 걸쳐..
aeongg
빙글빙글 돌아가는 Debug 하루