반응형

PROGRAMING 106

[MongoDB] Rewriting comments

블로그의 댓글을 이제 MongoDB에 저장하여 연결 하도록 하겠습니다. 이전에 사용했던 Post method를 수정해서 구현하였고 변경된 코드는 다음과 같습니다. server.js import express from 'express'; import { MongoClient } from 'mongodb'; const app = express(); app.use(express.json()) app.get('/api/articles/:name', async (req, res) => { const { name } = req.params; const client = new MongoClient('mongodb://127.0.0.1:27017'); await client.connect(); const db = cl..

[MongoDB] Rewriting upvote

메모리에 저장했던 좋아요(upvote)를 MongoDB에 저장하도록 하겠습니다. 이전과 같은 Put method를 사용하며 변경된 코드는 다음과 같습니다. server.js import express from 'express'; import { MongoClient } from 'mongodb'; const app = express(); app.use(express.json()) app.get('/api/articles/:name', async (req, res) => { const { name } = req.params; const client = new MongoClient('mongodb://127.0.0.1:27017'); await client.connect(); const db = client..

[MongoDB] Adding MongoDB to Express

이제 Bank End Express에 MongoDB를 연결해 보겠습니다. MongoDB 라이브러리를 사용하기 위해 먼저 MongoDB 팩키지를 설치합니다. npm install monogodb 본격적으로 블로그 페이지에 좋아요와 댓글 정보를 데이터베이스에서 불러오기 위해 다음과 같이 Get Endpoint를 추가합니다. server.js import express from 'express'; import { MongoClient } from 'mongodb'; const app = express(); app.use(express.json()) app.get('/api/articles/:name', async (req, res) => { const { name } = req.params; const cli..

[MongoDB] MongoDB 실행

MongoDB 설치가 완료되면 Terminal에서 사용하기 위해 다음과 같이 환경 변수 (Environment Vairables) 에 MongoDB 설치 경로를 등록합니다. 등록 완료후 시스템을 다시 시작하면 VS Code안 Terminal에서 MongoDB의 사용이 가능합니다. MongoDB를 Back End의 Express에 연결하기 위해 데이터를 저장할 mongo-db-data 폴더를 생성해줍니다. MongoDB 데몬 명령어를 통해 다음과 같이 MongoDB 서비스를 시작합니다. mongod --dbpath ./mongo-db-data/ https://www.mongodb.com/try/download/shell Try MongoDB Tools - Download Free Here Free down..

[MongoDB] MongoDB

MongoDB는 비 관계형 데이터베이스(Non-relational Database)라고 불리며 기본적으로 테이블과 행과 같이 데이터 형식이 어떻게 지정되는지에 정해진 바가 없는 자유형식의 데이터를 저장할수 있습니다. NoSQL 데이터베이스 솔루션인 MongoDB는 관계형 데이터베이스 관리 시스템을 필요로 하지 않으므로, 사용자가 다변량 데이터 유형을 손쉽게 저장하고 쿼리할수 있는 탄력적인 데이터 저장 모델을 제공합니다. MongoDB Community Edition 설치 Go to https://www.mongodb.com/try/download/community Try MongoDB Community Edition Try MongoDB Community Edition on premise non-rela..

[Back End] Adding comments

이제 댓글을 달아 보도록 하겠습니다. 댓글을 추가 하기위해 새로운 댓글 추가 endpoint와 DB대신에 임시로 사용하고 있는 객체에 comments라는 배열을 새로 추가해줍니다. 댓글은 Post요청을 통하여 처리합니다. server.js import express from 'express'; // Use temporary let articlesInfo = [{ name: 'learn-react', upvotes: 0, comments: [], // adding comments array }, { name: 'learn-node', upvotes: 0, comments: [], // adding comments array }, { name: 'mongodb', upvotes: 0, comments: []..

[Back End] Automatically updating with nodemon

지금까지 코드가 수정될때마다 메뉴얼로 서버를 정지 시켰다가 다시 시작해야 했습니다. 그 번거러움을 덜기 위해 Nodemon을 사용하겠습니다. Nodemon을 사용하기 위해서는 다음과 같은 명령어로 설치를 해줍니다. 여기서 실제 production이 아닌 dev환경의 package를 따로 사용할것이라고 지정합니다. npm install nodemon --save-dev 설치과 완료되면 이제부터는 node명령어가 아닌 아래와 같은 명령어로 서버를 시작할수 있습니다. npx nodemon src/server.js 이제 이 명령어를 통해서 서버가 지속적으로 실행 되고 소스가 업데이트될때마다 자동으로 서버를 새로 고치고 다시 시작합니다. 소스를 수정하고 저장 하게 되면 아래와 같은 메세지를 뿌리고 서버를 자동으로..

[Back End] Upvoting articles

블로그 페이지에 "좋아요" 를 표시해 보겠습니다. 현재는 DB에 글들이 연결되어 있지 않고 메모리에서 작동하는 방식으로 먼저 구현을 하고 나중에 DB와 연결하는 과정을 다시 해보겠습니다. Upvoting 즉 좋아요를 구현하기 위해서 PUT request를 사용합니다. 코드는 아래와 같습니다. server.js import express from 'express'; // Use temporary let articlesInfo = [{ name: 'learn-react', upvotes: 0, }, { name: 'learn-node', upvotes: 0, }, { name: 'mongodb', upvotes: 0, }] const app = express(); app.use(express.json()) ..

[개발] Agile 과Jira 개요

Agile 개요 overview Agile 이란? What is agile? 작업 계획을 짧은 단위로 세우고 제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화나 회사의 방침에 유연하고도 신속하게 대응하는 방법론입니다. 작업을 완료하는 방법 - A way of getting things done 프로젝트 관리에 대한 경험적 접근 방식 - An empirical approach to project management 즉, 프로젝트 관리에 과학적 또는 데이터 기반 접근 방식을 사용합니다. Agile을 사용하면 계획, 프로세스 및 제품을 지속적으로 개발할수 있습니다. (Continuously develop the plan, process and product) 이것은 프로세스와 계획을 미리 개발한 다..

PROGRAMING 2024.03.14

[Back End] URL parameters in Express

URL parameter에 의한 매개 변수 전달. Get Request를 통해 매개 변수를 전달 하는 방법은 다음과 같습니다. 우선 아래와 같이 Get Method를 추가합니다. server.js import express from 'express'; const app = express(); app.use(express.json()) app.post('/hello', (req, res) => { res.send(`Hello! ${req.body.name}!`); }); app.get('/hello/:name', (req, res) => { //const name = req.params.name; const { name } = req.params; // object destructuring for litt..

반응형