강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

냠냠굿님의 프로필 이미지
냠냠굿

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

구독기능 관련 문의

작성

·

778

0

안녕하세요. 제로초 선생님의 강의를 들으면서 하루하루 코드랑 씨름하고 있는 사람입니다.  다름이 아니라, 

LORA 관련해서 SKT에서 제공하는 API를 통해서 일단 포스트맨이라는 프로그램을 사용하여

구독을 하였고, 단말기에서 데이터를 보내면 thingplug라는 skt서버에서 제가 돌리는 서버주소로 데이터를 보냅니다. 

데이터가 잘 들어오는지에 대한 부분은 Hercules 라는 프로그램을 통해서 TCP 서버 포트 4450로 잘 들어오는 것을 확인하였습니다. 아래에 들어오는 관련 스샷을 첨부하겠습니다.

데이터가 들어올때마다 <con> 부분에 담긴 데이터를 추출해서 저장하는 코드를 express를 이용하여 mysql 데이터베이스에 저장하는 코드를 작성했었는데, 다음과 같습니다.

여기서 문제가 생겼습니다. 데이터가 들어올때마다 data_receiver.post가 반응하여 그 아래에 db관련 함수들이 동작만 하는 것이었습니다. 쉽게 말해 data_receiver.post가 제대로된 동작을 하지 않았지만,  그 동작에 따라 그냥 그 아래에  config에 설정된 주소로 axios가 가져온 데이터를 db가 나누어서 데이터를 저장하는 것이었습니다.

 4450포트로  데이터가 들어올때마다  바로  db에 데이터를 저장하고 싶은데, net이랑 socket.io 로 시도를 해봐도 오리무중이어서 이렇게 질문글을 올립니다. next.js에서 동작할 수 있는 관련 힌트나 키워드 좀 알려주시면 감사하겠습니다. 좋은 하루 되십시오!!

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

이해가 잘 안 가는데요. 데이터가 들어올 때 data_receiver.post가 호출된다고 하셨고요.

제대로 된 동작을 하지 않았는데 동작에 따라 데이터를 저장하는 건 제대로 동작하고 있는 것 아닌가요?

냠냠굿님의 프로필 이미지
냠냠굿
질문자

xmlparser를 사용하여 

데이터 처리는 해결하였습니다. 

디비에 저장된 데이터를  swr로 불러와서 표시를 하는데 

refreshInterval을 1초를 주니 StatusView 페이지가 1초마다 전체 리랜더링 되는데 어떻게 처리하면 배터리 전압 표시 부분만 바뀌게 처리 할 수 있을지 힌트나 키워드 좀 부탁드리겠습니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

town1data가 매번 새로운 객체가 되는 것 같습니다. 그런 경우는 컴포넌트를 분리한 뒤 객체 안의 값(원시값)을 일일이 빼서 그 컴포넌트로 넘겨주어야 리렌더링이 막아집니다.

냠냠굿님의 프로필 이미지
냠냠굿

작성한 질문수

질문하기