본문 바로가기

728x90

기타/node js

(32)
Node js : express ejs 예제 express는 node js로 서버를 개발할 때 보다 쉽게 할 수 있도록 도와주는 웹 애플리케이션 프레임워크입니다. ejs는 자바스크립트가 내장되어 있는 html 생성을 가능하게 해줍니다. script태그 안에 넣어줘야 하는 js코드를 태그를 통해 html의 어떤 곳에든 넣을 수 있게 해 줍니다. ejs를 사용하면 node js서버로부터 가져온 데이터를 html을 생성할 때 바로 사용할 수 있습니다. 필요한 데이터를 받은 후 html에 추가할 때의 번거로움을 줄여주는 효과가 있습니다. 오늘은 express서버와 ejs를 사용하는 예제를 한 번 살펴보도록 하겠습니다. 다음 예제를 시행하기 전 nodejs 프로젝트에서 모듈을 npm을 통해 다운로드해야 합니다. ejs와 express를 다운로드해주셔야 합니..
node js npm 모듈설치 방법과 .gitignore node_modules, npmjs로 패키지 정보 알아보기 오늘 공부할 내용은 패키지를 npm을 통해 다운로드하는 방법과. gitignore, npmjs를 통해 패키지 정보를 보는 법입니다 패키지를 다운로드 할 때는 npm install 패키지명 조건 다음과 같이 입력하며 됩니다. 여기서 조건은 -g(시스템 전역에서 사용할 수 있도록 하는 명령어) 등이 들어가고 생략이 가능합니다. install을 i로 줄여써도 됩니다. 또한 다운로드하고자 하는 패키지를 npm i 패키지 1 패키지 2 패키지 3... 이렇게 입력하면 한 번에 다운로드할 수 있습니다. 다운로드를 하면 package.json에 다음과 같이 추가됩니다. "dependencies": { "body-parser": "^1.19.0", "ejs": "^3.1.5", "express": "^4.17.1", ..
node js fs.writeFile, fs.writeFileSync, fs.appendFile 사용방법 오늘은 node js에서 파일을 생성하고 내용을 추가하는 fs.writeFile, fs.appendFile에 대해 알아보도록 하겠습니다. fs.writeFile('파일 이름', '입력할 데이터', (err) => { 데이터를 넣은 후 처리해야 할 프로세스 혹은 에러가 났을 때 처리할 피로세스. }); writeFile은 파일을 다른 데이터로 덮어 씌우거나 새로운 파일을 생성하는 기능을 수행하기 때문에 내용을 추가할 때는 사용할 수 없습니다. 파일 이름에 기존에 존재하는 파일이름이 있을 때, 덮어 씌움 없을 때, 새로운 파일을 생성한다. 없는 파일을 새롭게 생성할 때, 아래와 같은 코드를 실행하면 어떤 결과가 나올까요? fs.writeFile('message.txt', 'Hello Node.js', (er..
nodejs readFile과 readFileSync의 차이(비동기와 동기의 차이) fs는 nodejs가 기본적으로 제공하는 filesystem이다. 파일을 불러오는 등의 기능을 제공한다. readFile과 readFileSync의 차이 reaFile로 파일을 다음과 같이 불러오면 어떤 결과가 나올까? test.json은 아래와 같다. { "id":123, "name":"lim" } const fs = require('fs'); fs.readFile('./test/test.json','utf-8',(err,data)=>{ if (err) return console.log(err); console.log(data); }) console.log('1111111111111'); 1번 data->11111111111 2번 11111111111-> data 정답은 2번이다. 프로그램에 대한 기본..
Node js 동작원리 및 npm 사용법 nodejs는 자바스크립트로 서버를 개발할 수 있게 해주는 도구입니다. nodejs의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리로 필요하신 대부분의 기능을 누군가 구현해놓았기 때문에 대부분의 기능을 손쉽게 구현할 수 있습니다. 이벤트 기반, 논 블로킹 i/o모델(네트워크 통신 등을 할 때 별도의 프로세스로 넘긴다.)을 사용하기 때문에 가볍고 효율적입니다. node js의 구동원리는 다음과 같다. 여러명의 사용자가 request를 보내면 event loop, single thread를 사용한다. single thread는 하나의 요청에 대해서 하나의 프로세스를 사용한다는 의미이다. 어떻게 보면 늦어보일 수 있지만 delegate를 통해 시간이 오래걸리는 작업은 다른 프로세스에서 진행하..
XHRHttpRequest 이해, cors 해결하는 방법 xhr 객체는 서버와 상호작용하기 위해서 사용되는 객체로, 전체 페이지의 새로고침없이 url로부터 데이터를 받아올 수 있습니다. 이는 ajax프로그래밍에 주로 사용됩니다. 프론트엔드에서 다음과 같이 데이터를 post http통신을 통해 백엔드에 보내면 백엔드는 response로 json파일을 보내줍니다. 그러면 아래와 같이 network->xhr에서 확인할 수 있습니다. 이렇게 받은 데이터를 기반으로 전체 페이지 새로고침 없이 일부 페이지만 갱신할 수 있습니다. cors는 브라우저에서 서버로 요청을 보낼 때 포트, 도메인이 다르면 요청을 거절하는 제도입니다. 이를 해결하기 위해서는 서버에서 모든 포트, 도메인에서 온 요청을 받을 수 있도록 해주어야 합니다. npm i cors 로 cors 패키지를 다운받..
node js에서 mongoose 사용하기 mongdb는 nosql의 대표적인 도구입니다. nosql은 언제 사용할까? nosql에는 세가지 종류가 있습니다. document db, key value db, graphdb mongdb는 document db에 속합니다. 데이터를 json document형태로 저장합니다. 행과 열이 존재하지 않기 때문에 어떤 모양의 데이터든 저장할 수 있습니다. 자유도가 높습니다. mongoose.connect(`mongodb+srv://사용승인된 유저 이름입력:비밀번호 입력@cluster0.vwjt7.mongodb.net/프로젝트이름입력?retryWrites=true&w=majority`) .then(() => { app.listen(3000, () => { console.log('listen t0 3000') ..
node js bodyparser 미들웨어 사용하기. bodyparser는 body에 담겨온 데이터를 쉽게 처리할 수 있도록 하는 미들웨어입니다. npm i body-parser 위의 명령어를 cmd에서 실해하면 다운로드할 수 있습니다. const bodyParser = require('body-parser'); app.use(bodyParser.json()); app.post('/auth/signup',(req,res,next)=>{ console.log(req.body) const email = req.body.email; const password =req.body.password; const name =req.body.name; }) bodyparser를 불러온다음 app.use()를 사용해 사용해줍니다. 그렇게 되면 app.post안의 req에 p..

728x90