OPEN API를 사용하여 OPEN API를 사용자에게 전달할 때, 주의점이 존재한다.
일단, 내가 생각하고 있는 자동매매의 흐름은 다음과 같다 .
1. 사용자가 TYPE A, B,C를 매수 매도에 대해 설정한다(DEFAULT값이 있을 것이다.)
2. 해당 TYPE에 따라서, 프로그램에서 매수 매도 한다 .
3. 이 매수 매도 정보를 DB에 저장한다.
그렇다면, 해당 매수 매도 정보를 OPEN API에서 받아와서 사용자에게 제출해야할까?
이는 그렇지 않다.
아는 동기형 이 진행했던 프로젝트 내용을 확인해보고 물어보았다.
해당 형의 프로젝트는 서비스 프로젝트로써, 사용자가 영화를 확인하고 마음에 드는 영화를 모아놓는 형태이다.
내가 생각하기엔, 모든 영화를 OPEN API에서 받아와서 DB에 저장하고, 그 DB에서 영화를 확인하는 형태로 생각했다.
허나 이 형태는 , 1번의 요청당30 MS 정도의 차이가 존재한다고 했다.
서비스 프로젝트에서도 저정도의 차이면 엄청나게 큰데, 내가 만들 주식 매매 프로그램에서 이러한 오류가 발생하면
이는 굉장히 치명적인 수치이다.
앞 말이 길었는데, 즉 OPEN API의 정보를 사용자에게 제공할때
DB에 저장하는 내용은, 반드시 DB에 저장되어야 하는 내용만을 DB에 저장한다.
외의 내용은, 즉시 제공하는 것이 속도적인 측면에서도 유리하다.
(사실 이러한 질문을 했던 이유는, 해당 동기형의 프로젝트에 영화 정보를 SAVE하는 코드가 없어서 물어본 것이었다. 그러나 그 이유는 마음함에서 해당 영화를 클릭할때 그영화의 제목과 이벤트 발생시간 정도만 DB에 저장하는 형태이기 때문 이었다.)
WEB CLIENT/FEIGN
또한 해당 프로젝트를 보니, WEBCLIENT를 선언하고 사용하는 부가 없었다.
그 이유는 매우 타당했고, 일단 그 전에 WEBCLIENT와 FEIGN의 차이부터 표현하려 한다.
WEBCLIENT
비동기적인 상황에서 사용하기 좋다. (동기적으로 사용할 수 도 있다고 한다)
허나 사용 과정에서 계속 REQUEST를 보내는 것이기 때문에, 번거로운 작업들이 발생할 수 있다.
FEIGN
동기적인 상황에서 사용하며, 어노테이션만으로 사용할 수 있기 때문에 사용이 편리하다.
아무에게도 배포되지 않은 프로젝트를, WEBCLIENT로 사용할 필요가 없다는 얘기는 매우 합리적이다.
항시 WEBCLIENT만 사용하는 것이 아님을 주의하자.
'프로젝트 > 장애인 PT 플랫폼, PTFD' 카테고리의 다른 글
FRONT에서의 결제 + 결제 정보 저장 (0) | 2024.02.22 |
---|---|
Portone을 활용한 수기 결제(백엔드 단에 전 권한 이임) (0) | 2024.02.21 |
PORTONE활용 결제부, 상품 관련 DB 추가. (0) | 2024.02.18 |
PortOne을 활용한 간단 결제단 구축 (0) | 2024.02.11 |
PortOne을 활용한 결제 프로그램 구축 (0) | 2024.02.11 |