티스토리 뷰
"분산하여 관리하면 유지보수 및 확장에 용이하다."
분산처리? 이런거 정보처리기사 공부할 때 참 많이 봤던 내용이다. 컴퓨터는 뭐든 나누는 것을 좋아한다.
DB 정규화 하는 작업도 결국 나누는 거고, ,네트워크도, 운영체제도 계층으로 나눈다.
소프트웨어의 결합도를 낮추고 응집도를 높이는 것도 결국 적절한 기능으로 잘 나누기 위함이다.
분산관리는 우리가 이미 하고 있다.
예를 들어서, 내가 수 많은 사진파일을 한 폴더에 넣어 관리한다면 내가 원하는 사진을 찾기까지 꽤 시간이 걸릴 것이다. 하지만 내가 사진폴더에 하위 폴더를 생성하여, 사진파일을 찍은 시기에 따라 정리했기 때문에 나중에 다시 찾아볼 때 훨씬 쉽게 찾을 수 있다.
특히 소프트웨어는 한번 만들고 끝나는 것이 아니라 끊임없이 유지보수를 해줘야하는데, 분산하여 관리한다면 더 쉽게 할 수 있을 것이다.
이번에는 게시판 서버파일을 라우터를 사용하여 나누는 작업을 해봤다.
기존 나의 서버는 이런 모양인데
이거를
이런 식으로 나눠보려고 한다.
애걔? 겨우?
물론 지금은 규모가 작아서 나누는 게 더 귀찮을 수도 있다. 하지만 규모가 커진다면 나눠서 관리하는 것이 작업을 하는 데 있어 훨씬 수월할 것이다.
우선 서버파일이 있는 폴더에 routes라는 폴더를 만들고 그 안에 board.js 파일과 index.js파일을 만들었다.
우선 index.js 와 board.js에 라우터를 생성해줘야한다. 라우터? 네트워크 계층의 라우터와 비슷한 역할을 하는 녀석들이다. 위 그림의 초록색 부분에 해당하는 것들을 만들어줘야한다.
index.js에는
const express = require('express');
const router = express.Router();
board.js에는
const express = require('express');
const router = express.Router();
이렇게 라우터를 만들어준 다음에 server.js에서 우선 라우터를 연결해줘야한다.
const main = require('./routes/index');
const board = require('./routes/board');
const express = require('express');
const app = express();
const main = require('./routes/index');
const board = require('./routes/board');
그리고 라우터를 설정해줘야한다. 경로 / 로 들어오면 main이라는 라우터로 향하고,
경로가 /board 로 시작하면 board라는 라우터로 향한다.
그리고 라우터를 설정해준 index.js나 board.js에서
router를 사용해서 express를 사용하면 된다.
const express = require('express');
const router = express.Router();
// 여기서 get('/board/list')를 하지 않는 이유는 이미 앞에 server.js의 app.use('/board', board);
// 를 통해서 /board로 들어왔기 때문.
router.get('/list', (req, res) => {
'Node.js' 카테고리의 다른 글
카카오 로그인 맛보기 (0) | 2021.05.21 |
---|---|
게시판 pagination (0) | 2021.05.03 |
0424 수업 (0) | 2021.04.24 |
[Node.js] 0421 수업 (1) | 2021.04.21 |
[Node.js]0420수업내용 (0) | 2021.04.20 |
- Total
- Today
- Yesterday
- 그래프
- 면접비
- DB 생성
- 투포인터 연습
- 은둔청년체험
- node.js
- 서버개발
- create databases;
- MySQL
- MOD
- BFS
- 면접질문
- 투포인터
- 로드나인
- 개발자면접
- 동적프로그래밍
- 최소공통조상
- 다이나밍프로그래밍
- 롱베케이션
- 서버점검
- 다이나믹프로그래밍
- create db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |