[Node.js] MySQL2 모듈 장기간 연결 문제 해결
·
💻 Study/웹
발생한 오류도커로 MySQL 데이터베이스와 연결된 Node.js 서버 컨테이너를 밤새 실행해둔 채로 퇴근 후, 다음날 출근해서 보니 아래와 같은 오류가 발생했다.Error: Can't add new command when connection is in closed stateError: This socket has been ended by the other party Error: Can't add new command when connection is in closed state데이터베이스 연결이 이미 닫혔음에도 새로운 쿼리나 명령을 실행하려고 할 때 발생하는 오류이다. 연결이 예기치 않게 닫힌 경우 또는 장시간 연결로 연결이 닫혔을 때 발생할 수 있다. 네트워크 문제, 데이터베이스 서버 설정, 또는 연결..
docker-compose (node.js, MySQL) 실행 순서 동기화
·
💻 Study/Docker 도커
docker-compose를 사용해 node.js 서버와 mysql db 서버 컨테이너를 만들고 node.js 서버에서 mysql db 서버에 연결을 시도하면, closed 오류가 발생한다. 이는 node.js 서버가 mysql db에 연결을 시도할 때, 아직 mysql db 서버가 완전히 실행되지 않았기 때문에 발생하는 문제이다.이를 해결하기 위해 node.js 서버가 mysql db 서버 구동 완료 후에 실행될 수 있게 해야 한다.이는 node.js와 mysql 외의 다른 서버와 DB에 모두 적용가능한 방법이다.  디렉토리 구조📦 ┣ 📂 db ┃ ┣ 📂 conf.d # MySQL configuraiton (선택) ┃ ┃ ┗ 📜 my.cnf ┃ ┣ 📂 initdb.d # MySQL 초기 D..
[Node.js] GET과 POST의 차이는 무엇일까?
·
💻 Study/웹
웹 서버에 요청을 보내는 방식은 여러 가지가 있다. 인터넷 표준으로 정해 둔 이러한 요청 방식을 메소드(Method)라고 부른다. 메소드의 대표적인 예로는 GET과 POST방식이 있다.HTTP 클라이언트는 GET과 POST 둘다 다른 웹 서버에 데이터를 요청할 수 있다. 그럼 GET 방식과 POST 방식의 차이점은 무엇일까?HTTP 요청 포맷은 크게 헤더(Header)와 본문(Body) 부분으로 이루어져 있다. GET 방식은 헤더 부분에 요청 정보들을 넣어 보낸다. http 객체의 get() 메소드를 사용하면 다른 사이트에 요청을 보내고 응답을 받아 처리할 수 있다. get() 메소드의 첫번째 파라미터는 다른 사이트의 정보를 담고 있는 객체이다. 두번째 파라미터는 callback 함수이다. 응답 데이터를..