개발/Node.js(10)
-
node.js + socket.io 에서 일정시간 이후 socket closed 되는 문제
node.js 서버에서 child process로 python script를 돌리고, 그 결과를 socket.io 를 통해 출력하는 동안 문제가 발생했다. child process 에서 발생하는 출력이 있을때마다 socket.io 를 통해 front쪽으로 전송해주었었는데, child process의 load시간이 걸리면, 일정시간동안 출력할 것이 없어 socket이 자동으로 closed 된다. (socket.io 에서는 client server 간 통신이 일정 시간 동안 없으면 closed 된다고 한다.) stackoverflow를 조금 찾아보면 setInterval 함수를 이용해 수십초에 한번 연결을 확인하는 ping을 날려서 특정시간동안 통신을 안하는 상황 자체를 만들지 않는 방법이 있었다. sing..
2021.08.10 -
Express를 활용한 File Server 만들기 (multer, post 사용)
Window Program에서 오류발생시 Log를 자동으로 수집해서 서버에 올리고 싶어져서 간단하게 테스트해 볼 수 있는 코드를 작성했다. 파일 업로드의 주체는 툴이될 것이라 간단하게 Python + Requests 로 구현하였다. 간단한 Python 스크립트를 생성해서서Requests를 사용하여 File을 Upload할 수 있도록 해준다. - text파일을 python script에서 Read 하고 upload dictionary에 넣어둔다. (이때 key 값인 'file' 은 field ID값이 된다.) - requests.post 을 사용해서 server로 upload 한다. - response 되는 응답코드에 따라 로직을 처리한다. 응답코드는 아래 더보기를 클릭해서 쓰윽 훑어보면 된다. 더보기 [..
2021.04.18 -
[Node.js] https 서버 생성
httpshttp프로토콜에서 security가 추가된 것으로 http로 통신했을때 보안 이슈를 방지하고자 만들어짐.https 서버를 만들기 위해서는 SSL이라는 인증서가 필요한데 개발용으로 비용을 지불하고 인증서를 구매하기는 어려움.즉, OpenSSL을 사용하면 개발용으로 충분히 사용가능. OpenSSL1. 설치설치 경로 : http://slproweb.com/products/Win32OpenSSL.html윈도우 환경이라면 path에 환경변수를 추가해줘야 사용 가능.환경변수를 굳이 넣고싶지 않다면 설치된 경로로 들어가서 다음 프로세스를 진행하면 됨. (openssl에 들어가서 명령어를 입력할때는 다음 프로세스에 있는 명령어에서 openssl을 빼고 입력하면 됨.) 2. 개인키 생성 1openssl gen..
2017.11.16 -
[Node.JS] Express 에서 cookie 사용
쿠키란?쿠키(cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 이 수단은 넷스케이프의 프로그램 개발자였던 루 몬툴리(Lou Montulli)가 고안한 뒤로 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 즐겨 쓰고 있다.쿠키는 소프트웨어가 아니다. 쿠키는 컴퓨터내에서 프로그램처럼 실행될 수 없으며 바이러스를 옮길 수도, 악성코드를 설치할 수도 없다. 하지만 스파이웨어를..
2017.09.21 -
[Node.js] Express Framework에서 textarea + DB 연동시 줄바꿈 해결방법
textarea멀티라인 일반 텍스트 편집 컨트롤을 나타냄. 문제 정의1. 태그내에서 저장하려고 Form을 submit하면 공백이 생기는 문제 2. 태그안에서 엔터는 \r\n이지만 html에서의 줄바꿈은 로 나타내야되는데 어떤걸 저장시킬지 애매한 상황 해결방법1번의 경우는 다음과 같은 경우에 발생한다. 123 cs 이 경우에 와 사이에 'whitespace'(Stack Overflow에서..)라는 공백이 들어가있다. 이것을 없애주면 해결가능하다. 1cs 2번의 경우는 textarea 태그내에서 form으로 감싸서 서버측으로 던져주고 그대로 DB에 저장한다.그리고 다시꺼낼때 바꿔서 출력만 해주면되는데 이때 escaped문으로 써주어야 한다. 1cs express framework에서는 대신에 을 써서 해결한..
2017.09.14 -
[Node.js] Framework 비교 자료
출처http://loopback.io/resources/#compare
2017.09.13