본문 바로가기

반응형

Node.js공부

[NodeJS] 변수 선언 및 모듈화에 대하여 (기초) const, let, var 차이 const vs. let immutable 차이. const 로 선언된 변수에 있어서는 값 재할당이 되지 않는다. let vs. var 변수 재선언 가능성의 차이. let 으로 선언된 변수에 있어서는 동일한 이름으로 재사용 할 수 없다. exports vs. module.exports // 하나의 모듈 패키지를 export 할 때 module.exports = ${function} // 다른 파일에서 사용 할 때 const ${function} = require('filename.js');// 여러 함수를 export 할 때 module.exports = { 'func1': ${function1}, 'func2': ${.. 더보기
node.js mongoDB 한국 시간 저장 mongoDB를 활용하여 서버를 구축하고 있는 중에, timestamp 변수로 현재 작성한 시간이 들어가야 합니다.구글링을 통해 Date.today() 를 활용하면 된다고 알아냈는데, 그 결과는 바로,, 다음과 같이 timestamp에 얼추 한국시간과 비슷한 다른 시간이 들어가게 되었습니다! 바로 mongoDB는 Date 형식으로 ISODate를 사용해서 생기는 문제입니다. 그렇다면 이를 해결하기 위해서는 한국시간을 넣어줘야겠쬬(?)!!해결방안은 두 가지가 있습니다. 첫 번째는 String으로 넣어주는 것과, 두 번째는 직접 ISODate에 들어갈 값을 한국 시간으로 포맷팅 해주는 것이죠 첫 번째 해결책은 다음과 같습니다 :) 1. npm Install moment2. npm install moment-.. 더보기
공공데이터 포털 OpenAPI 사용하기 - 미세먼지 개발을 위해서 미세먼지와 날씨정보 OpenAPI를 사용하였습니다. 이번 글에서는 미세먼지 OpenAPI 사용 방법에 대해 얘기하고자 합니다. 제가 사용한 미세먼지 데이터는 공공데이터 포털에서 대기오염통계서비스와 대기오염 정보 조회 서비스입니다. 전자는 주간 미세먼지 데이터를 위하여, 후자는 실시간 미세먼지 정보 데이터를 위하여 사용하였습니다. 1) 사용하고자 하는 API를 검색한다 2) 발급신청을 누른다. 3) 발급신청 순서를 진행한다.예시를 통하여 다른 OpenAPI 데이터를 신청하는 과정을 캡처하였습니다. 4) 미리보기를 통해 데이터 유형을 확인해본다.상세기능정보란에서 '미리보기 다운로드'를 실행하여 '▶미리보기' 버튼을 누르면 요청 데이터를 확인하실 수 있습니다. XML 형식으로 데이터가 주어진 것.. 더보기
MongoDB 사용하기 몽고디비 설치가 끝나셨다면, 몽고디비를 사용할 수 있도록 mongodb 모듈을 불러옵니다. 모듈을 불러들이면서 동시에 그 객체 안에 들어있는 MongoClient 속성을 참조할 수 있습니다. 이 객체를 사용해 몽고디비를 사용할 수 있습니다. var MongoClient = require('mongodb').MongoClient;var database;function connectDB(){ var databaseUrl = 'mongodb://localhost:27017/local'; MongoClient.connect(databaseUrl, function(err, db){ if(err) throw err; console.log('데이터베이스 연결되었습니다: '+databaseUrl); database=d.. 더보기
미들웨어 사용하기 이전 글에서는 use() 메소드로 설정하는 미들웨어 함수 안에 코드를 직접 넣어 클라이언트로 응답을 전송해 보았습니다. 개발자를 위한 몇 가지 기본 미들웨어에 대해서 더 알아 보겠습니다! 1. static 미들웨어먼저 static 미들웨어는 특정 폴더의 파일들을 특정 패스로 접근할 수 있도록 만들어 줍니다. 밑의 코드는 [public] 폴더에 있는 모든 파일을 웹 서버의 루트 패스로 접근할 수 있도록 만들어 줍니다. var static = require('serve-static');...app.use(static(path.join(__dirname, 'public'); static 미들웨어는 외장 모듈로 만들어져 있기 때문에 설치가 필요합니다. 커맨드 창에 $ npm install serve-static.. 더보기
클라이언트 요청시 서버 개념들 클라이언트가 웹 서버에 요청할 때 발생하는 이벤트 처리하기만약 웹 브라우저가 이 웹 서버에 접속한 후 데이터를 요청하면 그때마다 적절한 이벤트가 발생하므로 다양한 상황에 맞추어 콜백함수를 각각 등록하면 된다. 다음은 서버 객체에서 사용할 수 있는 주요 이벤트들이다. 이벤트 이름 설명 connection 클라이언트가 접속하여 연결이 만들어질 대 발생하는 이벤트입니다. request 클라이언트가 요청할 때 발생하는 이벤트입니다. close 서버를 종료할 때 발생하는 이벤트입니다. 웹 브라우저와 같은 클라이언트가 웹 서버에 연결되면 connection 이벤트가 발생합니다. 그러므로 on() 메소드를 호출할 때 첫 번째 파라미터로 connection 이벤트 이름을 전달하고, 두 번째 파라미터로 콜백함수로 전달합.. 더보기
노드의 기본 기능 알아보기 - 이벤트, 파일읽기 노드로 프로그램을 만들기 위해서는 몇 가지 기본적인 내용을 알아두는 게 좋다.이벤트가 무엇인지, 파일은 어떻게 다루는지 등을 알아야 노드로 프로그래밍을 할 때 두려움이 사라진다. 1. 이벤트노드는 대부분 이벤트를 기반으로 하는 비동기 방식으로 처리한다. 예를 들어, 어떤 함수를 실행한 결과물도 이벤트로 전달하는데 이벤트는 한쪽에서 다른 쪽으로 알림 메시지를 보내는 것과 비슷하다. 즉 '지금 이쪽의 상태는 이렇다'를 다른 쪽으로 보내는 것이다. 이벤트를 보내고 받기 위해서 노드의 객체는 EventEmitter를 상속받을수 있으며, 이 객체의 on() 과 emit() 메소드를 사용할 수 있다.on() 메소드는 이벤트가 전달된 객체에 이벤트 리스너를 설정하는 역할을 하는데 이 리스너 함수는 객체로 전달된 이벤.. 더보기
express 관련 정리(Application, Request, Response, Routing) 익스프레스는 크게 네 가지 부분으로 이해하면 됩니다. Application, Request, Response, Routing 1. Application불러온 익스프레스 객체에는 하나의 함수가 할당되는데 그 함수를 실행하면 익스프레스 객체가 생성됩니다. 익스프레스 클래스를 이용해 익스프레스 객체를 만든다고 생각하면 되는데, 이것을 익스프레스 어플리케이션(Application)이라고 하는데 우리 코드에서는 app 상수에 할당했습니다. 1) use()함수를 통한 미들웨어 추가익스프레스에서 서버의 기능들이 미들웨어 형태로 존재합니다. 익스프레스 인스턴스의 use() 함수로 미들웨어들을 추가할 수 있습니다. 예를 들어, 서버에서 정적파일 (static file)을 호스팅 할 때에는 다음과 같이 정적 파일설정을 위.. 더보기

반응형