일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c# datagridview 데이터 넣기
- allow_anonymouse
- mosquitto
- setInterval 중지
- DataGridView 직접 입력
- html #select #option #multiple
- timepicker
- pm2 시작
- 맥 어드레스
- 데이터테이블 데이터 넣기
- listener 1883
- 서버동기화
- pm2 확인
- setInterval 외부 정지
- 1883
- 공인IP
- pm2 설치
- mosquitto.conf
- datagridview 직접입력
- transfer
- setInterval 정지
- AntDesign
- Replication
- setInterval clear
- mySQL_Replication
- pm2 상태 확인
- pm2
- DatePicker
- invalid data
- map이 undefined가 뜰 때
- Today
- Total
목록Node (24)
개발 노트
1. 데이터 fetch로 api호출하기const axios = require("axios");let publicIp;(async () => { try { const response = await axios.get('https://api64.ipify.org?format=json', { httpsAgent: agent }); log('publicIp',response.data.ip); publicIp=response.data.ip } catch (error) { log('Error fetching public IP:', error); }})(); 2. TLS 에러발생 -> ip를 사용하게 허가해줘야함3. https모듈 설치 및 추가const https = requ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bR8Dsk/btsCshZbsYg/k7m7LCslPrqTmsTXynYCz1/img.png)
서비스를 운영하기 위해서는 로그를 꼼꼼하게 남겨야 합니다. 로그는 에러를 파악하고 관리하는 방법이기 때문에 로그시스템을 구축하는 것이 필요합니다. test개발중에는 console.log와 console.error을 사용하게 되는데 console객체의 메서드들은 언제 호출되었는지 파악이 어렵고, 서버가 종료되는 순간 쌓여있던 로그들도 사라져버리기 때문입니다. 이와같은 상황을 방지하려면 배포시에 로그를 외부파일로 저장해서 관리하는것이 바람직한데, 이때 winston을 사용합니다. Winston 모듈 사용하기 https://www.npmjs.com/package/winston winston A logger for just about everything.. Latest version: 3.11.0, last p..
path.resolve("/Users", "../user", "test.txt") // '/user/test.txt' 운영체제별 경로를 해결하기 위해 만들어진 모듈입니다. 유닉스 계열과 윈도우는 디렉토리를 표현하는 방법과 문자가 다릅니다. 유닉스 계열 $ pwd /Users/user 윈도우 $ cd C:\Users\user 사용해보기 path 모듈은 Node.js의 내장 모듈로 별도의 라이브러리 설치없이 사용이 가능합니다. const path = require("path"); 경로만들기 join() 함수 여러 개의 문자열을 가변 인자로 받아서 하나의 완전한 경로로 조합해줍니다. path.join("Users", "user", "test.txt") // 'Users/user/test.txt' resolve..
node.js의 내장함수인 util모듈 중에 promisify라는 함수가 있습니다. (Node 8.0.0 부터 추가) Promise로 되어있지 않은 레거시한 모듈들을 비동기로 실행할 때 유용합니다. Promisify는 함수의 마지막 인자로 콜백함수를 받는 유틸 함수 입니다. Promise를 사용하기 일반적으로 사용했던 promise를 사용하는 방법입니다. async function executeQuery() { try { const query = "SELECT * FROM your_table"; const results = await poolLocal.query(query); console.log(results); } catch (error) { console.error(`[Error] 쿼리 실행 중 오..
2023-03-16T08:13:34.000Z 데이터 타입이 datetime인 경우 따로 타입을 지정해주지 않으면 변환값의 형식이 자바스크립트가 지원하는 UTC형식의 협정 세계시를 사용하는 타입으로 변경되게 됩니다. 하지만 이 타입은 mysql에서는 지원하지 않아서 값을 인식하지 못하는 에러가 발생하게 됩니다. 이런 경우 mysql의 config 형식에서 dateString을 'date' 타입으로 지정하게 되면 해결됩니다. 2023-03-16 17:13:34 config예제 module.exports = { db_local: { host: 'localhost', user: 'root', password: 'password', database: 'database', dateStrings: 'date', po..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sGePK/btsCawvjxvG/YziHLuWfdHUEKATTdsUEdk/img.png)
DB Server와 통신하는 과정에서 소켓을 생성하고 끊어내는 과정에서 많은 자원을 소모하게 됩니다. 다수의 사용자가 동시에 접속을 하게된다면 서버와의 통신이 원활하게 이루어지지 않을 확률이 높습니다. 요청이 들어올 때마다 Connection을 연결하고 끊는 것은 상당히 비효율적이므로 효과적으로 활용하기 위해 미리 커넥션을 맺어놓고 가져다쓰는 Connection Pool을 활용합니다. Connection: 데이터베이스와 세션을 나타내는 객체입니다. 이는 클라이언트와 데이터베이스 사이의 통신을 가능하게 하는 통로로 볼 수 있습니다. 하나의 Connection은 한번에 하나의 쿼리만 처리할 수 있습니다. Connection Pool: 여러 Connection 객체를 미리 생성해두고 필요에 따라 제공하거나 재..