HttpRequestMethodNotSupportedException
·
카테고리 없음
- Controller @PostMapping("/v1/orders") @Operation(summary = "주문하기", description = "화폐 주문") public ResponseEntity orderCoin() throws UnsupportedEncodingException, NoSuchAlgorithmException { System.out.println("주문하기"); return ResponseEntity.ok(tradingService.orderCoin()); } - Serivcepublic OrderResponse orderCoin() throws UnsupportedEncodingException, NoSuchAlgorithmExcep..
HTTP 요청과 응답에 사용되는 클래스들
·
Java & Spring/Java
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/HttpEntity.html HttpEntity (Spring Framework 6.2.2 API)hasBody public boolean hasBody() Indicates whether this entity has a body.docs.spring.io □ HttpHeaders- HTTP 헤더를 나타내는 클래스, 요청과 응답의 헤더를 설정하고 가져올 때 사용- 주로 인증 토큰, 콘텐츠 유형, 인코딩 방식 등 헤더 값을 설정할 때 사용□ HttpEntity- HTTP 요청 또는 응답을 나타내는 클래스이며, 헤더와 본문을 모두 포함- 본문과 헤더..
1. 업비트 API 적용해보기
·
프로젝트/coin-trading
□ 업비트 API사용을 위한 key 발급https://upbit.com/service_center/open_api_guide Open API 안내 | 업비트(UPbit)업비트에서는 개발자와 사용자를 위해 Open API를 제공하고 있습니다. 업비트 API를 통해 마켓정보, 잔고 조회, 주문, 출금 등 다양한 기능을 활용해보세요.upbit.com □ 의존성 추가 // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.14' // https://mvnreposit..
0. 프로젝트 설계
·
프로젝트/coin-trading
□ 프로젝트 개요투자 기준 및 차트를 chatGPT에 전달chatGPT가 분석하여 매매의견 프로그램에 전달투자 진행카카오 챗봇을 활용하여 결과 확인 □ 요구사항기능 요구 사항: 계좌 연동, 매매 시스템, 조회 □ 기술 스택 결정언어 및 프레임워크: Java, Spring Boot데이터베이스: MySQL, redis로그관리 : ELK인프라: 미정오픈소스 : chatGPT, Upbit, 카카오(예정)
[백준][Gold IV] Java - 1043번 : 거짓말
·
Java & Spring/코딩테스트
□ 문제 : 최대 거짓말 가능 회수를 카운트하는 프로그램 구현https://www.acmicpc.net/problem/1043진실을 아는 사람이 없는 경우 파티 수 만큼 거짓말 가능진실을 아는 사람이 있는 경우 전염되어 거짓말을 할 수 있는 파티 수가 줄어듬ex)진실을 아는사람 (1)이 있다고 가정4번 파티에 진실을 아는사람(1)과 모르는 사람(2)가이 있고3번 파티에 (2)와 다른 모르는 사람(3)이 있다면 지민이는 3번 파티에서도 거짓말을 할 수 없게됨□ 사용 알고리즘BFS□ 전체 코드코드 보기import java.io.*;import java.util.*;public class Main { static BufferedReader br = new BufferedReader(new InputStr..
2장. 개략적인 규모 측정
·
시스템설계
핵심요약근사치를 활용한 계산.가정을 작성 해 둘 것.단위 붙이는 것을 습관화 할 것.(1) 2의 제곱수최소 단위는 1바이트(8비트)ASCII 문자 하나가 차지하는 메모리 크기가 1바이트흔히 쓰이는 데이터 볼륨 단위ns = 나노초, μs = 마이크로초, ms = 밀리초1나노초 = 10^-9초1마이크로초 = 10^-6초 = 1,000나노초1밀리초 = 10^-3초 = 1,000μs = 1,000,000ns응답 시간의 시각화 핵심메모리는 빠르지만 디스크는 느리다.디스크 탐색은 가능한 피하라.단순한 압축 알고리즘은 빠르다.데이터를 인터넷으로 전송하기 전에 가능하면 압축하라.데이터 센터는 보통 여러 지역에 분산되어 있고, 센터들 간에 데이터를 주고받는 데는 시간이 걸린다.
그래프탐색 - DFS와 BFS
·
Java & Spring/알고리즘
□ DFS와 BFS에 대한 개념 강의 영상https://www.youtube.com/watch?v=_hxFgg7TLZQ&t=624s  □ 실행 코드코드 보기import java.io.*;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static int N, M, ..
1. 사용자 수에 따른 규모 확장성(무상태 웹 계층, 데이터 센터, 메시지 큐, 로그, 메트릭, 자동화, 샤딩)
·
시스템설계
(7) 무상태(stateless) 웹 계층상태 의존적인 아키텍쳐 위 그림에서 사용자 A가 서버 2에 요청하게되면 인증이 실패하게된다.이를 해결하기 위해서는 로드밸런서에서 고정 세션이라는 기능을 사용해야하는데 이는 로드밸런서에 부담을 준다.장애 처리도 힘들고, 서버 확장도 어렵게된다.무상태 아키텍쳐 위 그림에서서 사용자로부터의 요청은 어떤 웹 서버로도 전달 될 수 있다.웹 서버는 상태 정보가 필요할 경우 공유 저장소로부터 데이터를 가져온다.이런 구조는 단순하고, 안정적이며, 규모 확장이 쉽다.(8) 데이터 센터가장 가까운 데이터 센터로 안내되는 지리적 라우팅(geoDNS-routing 또는 geo-routing)※ x%의 사용자는 US-East로 (100-x)%는 US-West로 안내된다고 가정위와같은 아..
1. 사용자 수에 따른 규모 확장성(데이터베이스 다중화, 캐시, CDN)
·
시스템설계
(4) 데이터베이스 다중화많은 데이터베이스 관리 시스템이 다중화를 지원한다.보통은 서버사이에 주(master)-부(slave) 관계를 설정하고 데이터 원본은 주서버에, 사본은 부 서버에 저장하는 방식이다.쓰기 연산(write operation)은 마스터에서만 지원한다.부 부데이터베이스 주 데이터베이스로부터 그 사본을 전달받으며, 읽기 연산(read operation)만을 지원한다.장점성능향상 : 주-부 다중화 모델에서 모든 데이터 변경 연산은 주 데이터베이스 서버로만 전달되는 반면 읽기 연산은 부 데이터베이스 서버들로 분산되므로 병렬로 처리될 수 있는 query의 수가 늘어나므로 성능이 좋아진다.안정성 : 데이터베이스 서버 일부가 물리적으로 파괴되어도 데이터는 지역적으로 다중화시켜 놓았다면 데이터는 보존..
1. 사용자 수에 따른 규모 확장성(단일서버, 데이터베이스, 규모확장)
·
시스템설계
(1) 단일서버사용자가 도메인 이름을 이용하여 웹사이트에 접속접속을 위해서 DNS에 질의하여 IP주소로 변환하는 과정 필요(DNS는 보통 외부시스템)반환된 IP주소(123.456.123.101)으로 HTTP요청 전달요청받은 웹 서버는 HTML페이지나 JSON형태의 응답 반환(2) 데이터베이스사용자 증가 시 (1)의 과정에서 서버와 데이터베이스를 분리하나는 트래픽을 처리다른 하나는 데이터베이스용※ 위와같이 분리함으로써 독립적으로 확장 가능데이터베이스의 종류와 선택관계형 데이터베이스(RDBMS) : 자료를 열, 칼럼으로 표현, SQL을 사용하면 여러 테이블에 있는 데이터를 그 관계에 따라 조인(join)하여 합칠 수 있다.비 관계형 데이터베이스(NoSQL) : 조인 연산을 지원하지않음사용목적아주 낮은 응답 ..