일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- map이 undefined가 뜰 때
- AntDesign
- mySQL_Replication
- 데이터테이블 데이터 넣기
- pm2 확인
- 공인IP
- transfer
- DataGridView 직접 입력
- pm2 상태 확인
- 1883
- pm2 설치
- pm2
- c# datagridview 데이터 넣기
- 맥 어드레스
- mosquitto
- setInterval 정지
- pm2 시작
- timepicker
- mosquitto.conf
- datagridview 직접입력
- setInterval 중지
- DatePicker
- allow_anonymouse
- Replication
- invalid data
- setInterval clear
- html #select #option #multiple
- 서버동기화
- setInterval 외부 정지
- listener 1883
- Today
- Total
목록React (88)
개발 노트
변수 선언과 state 선언의 방식 사이에 차이점이 있더라. function App() { let variable = '변수 선언'; const [state, setState] = useState('기본값') return ( {title} ); } 만약 위에 설정된 title의 값이 변수라면 다시 변경 후 재랜더링을 '해줘야'하는 경우가 발생한다. 하지만 state는 변경이 발생하면 state가 포함된 html을 '자동으로 랜더링'해준다. 따라서 state는 자주 변경이 될 것 같은 데이터들을 저장하는 것이 좋다. 즉 변수선언과 state선언의 차이점은 재랜더링의 차이라고 보면 되는데, 확 와닿지가 않는다. 좀더 작업하면서 차이점에 익숙해져야 할 것 같다.
버튼을 클릭하여 정보를 삭제하고자 할때 zustand에서 persist가 적용된 전역 state를 사용하면 삭제가 되는 듯 하다가 다시 정보가 복구되어 유지되더라. 그래서 나는 persist를 적용한 state와 적용하지 않은 state를 만들어 웹에서 마지막에 남은 정보를 useEffect로 persist된 state에 저장하고 버튼을 클릭시 onclickevent로 적용안된 state에 정보를 주어 그 정보를 실시간으로 사용 후 다시 persist된 state에 저장하는 식으로 사용하였다. persisted state -> nonpersisted state -> persisted state 와 같은 작업 순서인 것인데 이게 맞는 방법인지는 잘 모르겠다.
월,일,년 등등 날짜에 관해서는 Moment npm을 쓰는 것이 편하다.
net을 이용해 tcpip에 정보를 전송 할때 자료를 Buffer.from(variable)로 배열식으로 넘겨준다. var net = require("net"); let socket = null; var fs = require("fs"); var iconv = require("iconv-lite"); var str = "TIME20221201113500"; let bytes = []; // char codes for (var i = 0; i < str.length; ++i) { var code = str.charCodeAt(i); bytes = bytes.concat([code]); } bytes.unshift(02); bytes.push(03); bytes = Buffer.from(bytes); 정보를..
import * as mqtt from "mqtt/dist/mqtt.min"; import React, { useEffect, useState } from "react"; const { carinfo } = useInfo((state) => state); // const {client,changeClient,connectstatus,changeConnectStatus,payload, } // const [client, setClient] = useState(null); const [connectstatus, setConnectStatus] = useState(""); const [payload, setPayload] = useState([]); const options = { //옵션들 keepalive..
MQTT는 발행-구독(Publish - Subscribe) 구조. 누군가 어떤 주제(topic)로 메세지를 발행하면 해당 주제에 가입된, 즉 해당 주제를 구독 중인 디바이스들만 메세지를 받게 된다. 이러한 발행-구독 구조에서는 메세지를 전달해주는 메시지 브로커가 필요한데 이를 MQTT Broker라고 부름. Topic = 주제 -> 나 이거 할거야 ㅇㅋ? Subscribe = 구독! 1.Connect const [client, setClient] = useState(null); const mqttConnect = (host, mqttOption) => { setConnectStatus('Connecting'); setClient(mqtt.connect(host, mqttOption)); }; useEff..