[RabbitMQ] rabbitMQ 메시지가 왔다가 안왔다가 왔다가 안왔다가... ♾️
·
[AND] 사용자 정의 지표 기반 실시감 감지 및 자동매매 시스템/기술
프로젝트 중 제일 어려웠던 rabbitMQ에 대해 작성해보려고 한다. 1. RabbitMQ 왜 썼지? 프로젝트를 진행하면서 RabbitMQ를 사용하게 되었다. 우리는 redis가 1분마다 업데이트될 때마다 조건탐지와 기업별 알림의 조건들을 실제 차트 데이터와 비교하였고 조건이 충족하면 알림을 보내주는 서비스였기 때문에 두 서비스가 비동기적으로 동작해야한다고 생각했다. kafka는 대규모 처리에 적합하기 때문에 우리 서비스에는 오버스펙이라 느껴져 rabbitMQ를 선택하게 되었다. 2. RabbitMQ가 뭔데? 수업시간에 배웠던 내용으로 간략히 설명하자면 메시지 브로커의 한 종류이다. 여러 서비스가 직접 서로 소통하지 안하고 중간에 메시지를 전달해주는 중개자로 rabbitMQ는 우체국이라고 생각하면 된다..
[Lazy로딩] Postman에서 INTERNAL_SERVER_ERROR만 보이고, 콘솔에는 아무 에러 로그도 안 찍힐 때
·
[AND] 사용자 정의 지표 기반 실시감 감지 및 자동매매 시스템/기술
1. 문제 상황 Postman에서 GET /api/alerts/today 를 호출했다. 분명 response에는 서버 내부 오류가 발생했다고 하는데 IntelliJ에는 아무런 예외 로그도 표시되지 않았다. 서버도 정상적으로 기동되고 쿼리도 정상 수행되는 상황이었다. 2. 원인 분석이 경우 대부분은 GlobalExceptionHandler가 모든 예외를 한꺼번에 잡고, 내부 로그를 찍지 않아서 발생하는 현상이다.프로젝트에서 사용하는 ApiResponse, ResponseCode, GlobalExceptionHandler가 다음과 같이 되어 있었다.@ExceptionHandler(RuntimeException.class)protected ResponseEntity> handleRuntimeExcept..
[JavaBean] boolean 값이 계속해서 false가 되는 이유
·
[AND] 사용자 정의 지표 기반 실시감 감지 및 자동매매 시스템/기술
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다.1. 문제 발생 - {isActived : 1} 로 보냈는데 계속해서 0으로 남아있는 이유 알림 활성화/비활성화 API를 구현하는 중이었다. 알림이 ON일 때는 isActived가 1로 두기로했기 때문에 아래 사진과 같이 포스트맨으로 테스트를 하였다. 분명 200 ok가 뜨는 것은 알 수 있지만, DB를 확인해보면 여전히 isActived값이 0이었다. 1대신 true로 보내보아도 계속해서 DB에 값이 0이었다. 한가지 이상했던 점은 isActived가 0이거나 false일 때는 DB에 들어있던 1 값이 0으로 바뀌며 또 잘 작동하는 것이었다. 그래서 sout으로..
[Candly/ISSUE] 검색이 제대로 안될 때(삼성전자를 쳤는데 삼성전기까지?)
·
[Candly] 차트 공부 및 예측 웹 프로젝트
이 글은 알파코에서 진행 중인 [신한투자증권] 프로디지털아카데미의 과정에서 신윤수 강사님과 진행한 프로젝트를 기반으로 작성되었습니다 프로젝트 진행 중에 검색 기능을 구현하게 되었다. 몇 번 테스트를 해본 결과, 잘 나오는구나라고 생각하던 도중 다른 팀원에게 "삼성전자를 쳤는데 삼성전기도 같이 나와요" 라는 말을 듣게 되었다. 늘 그랬던 것은 아니나 어쩌다 한 번씩 아래의 사진처럼 삼성전자를 쳤는데 삼성전기의 데이터도 같이 조회되는 것이었다 . . . 개발자 도구로 응답도 확인했으나 분명 삼성전자의 데이터만 조회하는 요청이 제일 마지막에 위치한 것도 보았다. 이런 저런 시도를 해봤지만, 알 수 없어 강사님께 도움을 요청했다. 요청과 응답의 시간을 보니 아마 요청이 너무 빠르게 가다 보니 "삼성전..
[React/ISSUE] key={index}를 쓰면 안되는 이유
·
FrontEnd
1-1. 무슨 문제가 발생했지? 첫 번째 사진과 같이 0이라 적혀있는 item의 수정버튼을 누르고 저장하지 않고 그냥 삭제를 눌렀을 때 두 번째 사진처럼 분홍색 input은 삭제가 되었지만 노란색 input의 text가 1에서 0으로 바뀌어버리는 문제가 발생했다. 1-2. 원인이 무엇일까? {arr.map((elem, index) => ( handleDelete(index)} handleModify={handleModify} /> key값을 index로 주고 삭제와 수정 함수의 인자도 index로 받도록 코드를 짰었다. 이렇게 key를 배열의 index로 주고 index 기준으로 코드 구현 시 위와 같은 이상한 문제가 발생하는 것이다. 그렇다면 왜일까? 결..