비밀 정보 보호 mongoDB와 연결을 할 때 ID와 PASSWORD를 소스 안에 적어 연결을 했다. 이를 배포하거나 github에 올린다면 내 서버를 누구나 쓸 수 있게 된다. 그러니 이를 보호해야 한다. config라는 폴더를 만들어서 제약사항을 관리하자. config 폴더안데dev.js라는 파일을 만들어 mongoDB와 연결하는 URL을 관리할 것이다. 만약 배포되지 않은 상태에서 개발할 때 즉, 로컬에서 개발할 때는 이렇게 만들어 놓은 소스를 사용할 수 있지만 클라우드 환경이나 배포된 상태에서는 사용이 불가능할 수 있다. 따라서 클라우드 같은 환경에서는 따로 설정을 해줘야 한다. 환경별로 파일을 구분하여 생성한 뒤, 환경에 따라 exports 되는 모듈을 달리하게 하자. if(process.env..
Nodemon 소스를 변경하면 서버를 재부팅을 해야 한다. 서버를 껐다가 켜는 작업을 해야 하기 때문에 매우 귀찮고 번거로워진다. Nodemon은 이런 작업을 자동으로 해주는 tool이다. 소스를 변경하면 자동으로 서버에 적용이 된다. Nodemon 설치 npm install nodemon --save-dev -dev는 local에서만 사용하겠다는 명령어이다. dependencies와 devDependencies가 구분이 되어 있는 것을 볼 수 있다. 또한, nodemon으로 실행할 수 있게 script를 하나 만들어 준다. "dev"라는 이름으로 nodemon으로 실행을 할 수 있게 한다.
Body-parser req.body의 접근을 하면 undefined 에러를 마주치게 된다. 그 이유는 눈으로 보기에는 알아볼 수 있는 언어라고 생각하지만 사실 해석이 불가능하다고 판단되기 때문이다. 따라서 이를 인코딩 혹은 가공하는 작업이 필요한다. 이를 해주는 미들웨어가 body-parser이다. 설치법은 간다하다. 터미널에 다음 명령어를 입력하자. pip install body-parser --save Postman server에서 가공하거나 처리한 데이터를 다시 클라이언트에 보내줄 수 없기 때문에 테스트 용으로 사용하는 프로그램이다. 설치는 다음 링크에서 무료로 가능하다. https://www.postman.com/ Postman | The Collaboration Platform for API ..
Model&Schema Schema는 데이터의 구조나 타입, 길이 등의 정보를 담고 있는 것이다. Model은 Schema를 감싸고 있는 것이라 생각하면 된다. models라는 폴더를 생성해 model을 관리해보자. 그 후, models폴더 안에 User.js파일을 만들어 보자. const mongoose = require('mongoose') const userSchema = mongoose.Schema({ name: { type: String, maxlength: 50 }, email:{ type: String, trim: true, unique: 1 }, password:{ type: String, minlength: 5 }, lastname:{ type: String, maxlength: 50 }..
Node.js란? node.js는 쉽게 말해 JavaScript를 서버단에서 사용할 수 있는 언어라고 생각하면 된다. 즉, 서버를 구축하는데 사용되는 언어이다. express.js node.js가 자동차의 엔진이면 express.js는 엔진을 가지고 자동차를 만드는 것이다. node를 이용하여 서버를 구축할 때 사용되는 것이다. 환경설정 node.js 설치를 해야 한다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 여기서 설치를 하면 된다. 설치가 완료되면 cmd나 git-bash를 켜서 확인을 한다. node -v라는 명령어로 확인할 수 있다...
Requirements 우선적으로, node.js를 설치해야 한다. nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org ver10.0 이상이면 된다. npm은 ver6 이상이면 된다. 코드 편집기는 VS Code로 진행할 예정이다. window개발 환경에서 iphone어플을 개발하기는 쉽지 않다. 테스트 또한 그렇다. 하지만 expo를 이용하면 window환경에서도 iphone으로 테스트하며 개발을 할 수 있다. 만약 안드로이드 app 개발을 원하는 경우에는 안드로이드 스튜디오 AVD를 이용할 수 있지만 실제 핸드폰에 어떻게 보이는지 확인하면 더욱 쉽게 개발할 수 있..
그래프(Graph)란? 그래프는 노드(node, 혹은 정점(vertex))와 그들을 잇는 간선(edge)으로 구성되어 있다. 경로(path)는 한 노드에서 그래프의 간선을 지나 다른 노드까지 가는 길을 의미한다. 경로의 길이는 경로에 포함된 간서의 개수이다. 예를 들어 1번 노드에서 5번 노드로 가는 길이가 3인 경로( 1 -> 3 -> 4 -> 5)가 나와 있다. 사이클(Cycle)은 처음 노드와 마지막 노드가 같은 경로를 의미한다. 예를 들어 1 -> 3 -> 4 -> 1로 구성된 사이클이 존재한다. 그래프의 모든 노드 간에 경로가 있는 경우를 연결 그래프(connected graph)라고 한다. 연결 그래프 연결 그래프가 아님 그래프의 연결된 부분을 컴포넌트(component)라고 표현한다. 연결 ..