본문 바로가기

분류 전체보기202

PORTONE활용 결제부, 상품 관련 DB 추가. 상품관련 DB는 2가지 분야에서 사용될 것이다. 1. 주문을 넣는 단(프론트 단)에서, 현재 남은 상품에 따라 해당 상품을 주문할 수도, 혹은 불가능 할 수 있다. 2. 결제확인까지 완료된 이후에, 남은 상품을 변경한다. (현재 프론트 단과는 협업이 필요하기 때문에, 일단 2번을 먼저 진행하도록 하겠다) 상품 DB 추가, 결제에 따른 상품 변경 DBeaver를 활용해서, 매우 간단하게 상품의 목록을 구현하였다. 그 이후엔, 이미 생성한 product table을 mapping 하였다 @Table(name = "Product") @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Product { //getter sette.. 2024. 2. 18.
DP 재 개념 DP가 너무 어려워 개념을 재정리하겠다. DP는 기본적으로, 모든 조합을 만들때, 계산을 줄이기 위함이다. 73824, 73875 등등 DFS의 모든 총합을 구하는 문제일때는 원하는 배열의 DP[I][J]의 값이 DP[I-1][J]에 입력받은 배열 array[i][j]를 더한값을 담으면 최대의 값을 구할 수 있다. 이렇게 구하면, 이전 행만 활용해 이번행을 연산할 수 있고, 그 시작점은 구하지 않아도 된다. *즉, 다음 행이 이전 행의 값 계산을 포함한다. 연산을 기억해놓고 푸는 것이다 1) DFS/BFS로 풀 수 있지만 N이 너무 크다 2) 중복적인 연산이 일어났을때 3) 시간제약이 많을때 DP는 정말 많은 풀이를 해야 한다. 특히, DP와 같은 나만의 연산 정보를 담을 것을 담아서 , 풀이를 진행하는.. 2024. 2. 12.
증권 IT 분석 https://warp-pantydraco-47c.notion.site/6e6c0465fbdf4aa0a5b1850231431170?v=a2fe7231357d43adbf41ad99ccf9c0c0 증권사 IT 업무 분석 | NotionBuilt with Notion, the all-in-one connected workspace with publishing capabilities.warp-pantydraco-47c.notion.site열심히 정리한 내용입니다. 혹시나 내용을 보신 전문가 분들이 계시다면 틀린점을 짚어주시면 정말 감사하겠습니다. 2024. 2. 11.
PortOne을 활용한 간단 결제단 구축 결제 정보가 요청된다. test channel이기 때문에, 금액 상관 없이 결제가 가능하다. 이와 같이, 결제가 생성된다. 고려할점 - 현재 매우매우 간단하게 제공된 툴로 JS단에서 결제를 구성했다. 이런 간단한 수준만의 결제는 결과 적으론 의미가 있을 수 있어도, 프로젝트 측면에선 의미가 약하다고 판단. 빌링키 조회 API를 활용하여 REST API로 백에게 전 권한을 위임하여 통신하는 방식으로 변경해야겠다고 생각했다. @RestController @Slf4j public class PaymentController { private final WebClient webClient; public PaymentController(WebClient.Builder webClientBuilder) { this.w.. 2024. 2. 11.
PortOne을 활용한 결제 프로그램 구축 증권 계열 it업무를 분석하며 , HTS의 결제 과정에 대해서도 분석했다. 어떠한 결제, 입금, 출금, 송금이더라도, 그 기본적인 틀이 모두 동일함을 알 수 있었다 . 1. 결제 2. 실질적인 결제 (금융권은 이 작업을 직접 진행하지만, 증권계열의 한국 거래소와의 통신을 같은 맥락으로 보았다) *결제를 직접 진행할 수 있는 기관 : (여기서 결제 프로그램을 증권,금융사는 OPEN API로 하진 않기 때문에 추가적인 일들이 필요하다) 3-1. 결제 성공시, 결제에 따른 상품 변경 반영 3-2. 결제 성공시, 결제 내역 저장 (금융 , 증권사는 OPEN API를 사용하지 않기 때문에 계좌정보 확인들도 직접 진행한다) 3-3. 결제 실패시, 모든 내역 취소 4. 응답 물품을 구매하는 프로그램의 전반적인 프로세.. 2024. 2. 11.
DP(재귀를 활용) 백준 9184 import sys def DFS(a,b,c) : if a 20 : return DFS(20,20,20) if dp[a][b][c] : return dp[a][b][c] elif a < b and b < c : dp[a][b][c] = DFS(a, b, c-1) + DFS(a, b-1, c-1) - DFS(a, b-1, c) else : dp[a][b][c] = DFS(a-1, b, c) + DFS(a-1, b-1, c) + DFS(a-1, b, c-1) - DFS(a-1, b-1, c-1) return dp[a][b][c] dp = [[[0 for _ in range(21)] for _ in range (21)] for _ in range (21)] while True: a,b,c= ma.. 2024. 2. 9.
백트래킹 백준 14888 import sys inputN = int(sys.stdin.readline()) N = list(map(int,sys.stdin.readline().split())) M = list(map(int,sys.stdin.readline().split())) plus = M[0] minus = M[1] multiple = M[2] divide = M[3] minnum = int(1e9) maxnum = -int(1e9) def DFS(plus,minus,multiple,divide,sum,depth) : global minnum global maxnum if depth == inputN : minnum = min(minnum,sum) maxnum = max(maxnum,sum) return i.. 2024. 2. 7.
KOPS Kops는, master node까지 관리해야 함을 기억하자. (kubernetes cluster를 생성하고 설계하는 역할을 담당한다.) KOPS를 LOCAL에 설치하여, EC2를 통해 MASTER, WORKER NODE를 설정한다. Instance의 type(ssh,tls등) port numb. 등을 설정할 수 있다. (public IP를 제공한다) SSH(보안 protocol)-> 제공하는 pem(키)를 local에 저장하고, 키쌍을 생성하면 제공하는 instance의 ip IAMFull,VPCFull 등 instance의 filter를 관리해주어야 한다. 이후 Instance의 사용자를 추가해준다. 이때 발급받은 Accesskey와 Secret Accesskeyid(이는 잘 보호해야 한다) aws .. 2024. 2. 7.
AWS *주의, aws의 과금 기준은 시간으로써, 틀어놓으면 금액이 발생한다. aws실습을 진행한 이후에는 즉시 클러스터를 삭제해주는 것이 중요하다. 시스템을 실제로 배포해볼 것이다. (EC2, 로드밸런스 등을 생성하지 않을 것이다.) (금액 문제로 인하여, 강의 내용만 보겠다) Minikube는, 소규모 프로젝트에만 가능한 로컬 Node는, 우리 시스템에 있는 서버가 된다 .minikube는 1개의 node를 담당. EC2가 AWS의 서버 기준이 된다. Master node에서 -> 각 node 중 어떤 node에 전달할지 결정하는 구조가 기본구조이다. 하지만 k8s에서는 어떤 노드의 어떤 포드가 실행될지를 자동 설정해주었었다. (그래서 해당 진행을 할 필요가 없었다. (minikube가 1node 기준이라 .. 2024. 2. 6.
퍼시스턴트 앞서 모두 완성했던 버전이, release2로 변경되었다. (내용은, 차량의 위치와 경로 파악) 해당 방법은, 간단하게 img의 release를 2로 변경하면 된다. 차랑의 위치와 경로 정보는, msa구조의 pod 내부의 application 메모리 내부에 저장된다. *이 방식은 문제가 발생한다. 모든 정보를 application 내부 메모리에 저장하기 때문에 메모리 부족이 반드시 발생한다. *Node가 충돌할 수 있음에 주의하자. 차량의 이동기록을 저장하고, 이동 경로를 계산하는 역할을 가진 '위치 추적 ' ms가 2개의 역할을 하기 때문에 문제가 발생한다. 기록을 저장하는 micro service를 별도로 생성해야 한다. 현재까지의 목표로 , 위치추적 MS가 확인할 수 있는 DB를 확인해야한다. (오.. 2024. 2. 6.