오늘은 10월 24일 10일차이다.
서버는 Node.js를 기반으로 express를 활용하여 구축할 것이다. 이를 위해서 프로젝트 시작 전에 React와 더불어 Node.js도 공부를 했었다. 그래서 일단은 오늘은 가장 기초적인 부분만 만들었다. package.json을 만들었고, 정보들을 입력했다. nodemon을 -D 옵션을 줘서 설치했고, start 명령어에 nodemon을 걸어놨다. 그 후 미들웨어에 필요한 패키지들을 설치했는데, 내가 공부했던 책에서 사용했던 것들만 설치했고, 추후 필요해지면 다른 패키지도 찾아서 설치할 예정이다. 패키지는 다음과 같다.
그리고 이번 기회에 npm에 기록되어 있는 각 패키지들의 문서들 및 express 공식 문서 일부분도 읽어봤다. 책으로 공부할 때는 그럴 시간도 없었고 엄두조차 안나서 읽어보지 못했는데, 확실히 공식 문서를 읽어보니 어떻게 사용하면 되는지 명확히 알 수 있었다. 개발자의 의도를 쉽게 파악할 수 있었다. 미들웨어에 연결한 후, 4000번 포트에 연결시키고 간단한 응답을 보내면서 서버를 실행했다.
const express = require('express');
const morgan = require('morgan');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const dotenv = require('dotenv');
const path = require('path');
dotenv.config();
const app = express();
app.set('port', process.env.PORT || 4000);
app.use(morgan('dev'));
app.use('/', express.static(path.join(__dirname, 'public')));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(session({
resave: false,
saveUninitialized: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false,
},
name: 'session-cookie',
}));
app.get('/', (req, res) => {
res.send('Hello, Express');
});
app.listen(app.get('port'), () => {
console.log(app.get('port'), '번 포트에서 대기 중');
});

잘 구동되고 있다. 로그도 정상적으로 뜬다.
오늘은 백엔드 첫 날이라 가볍게 시작해봤다. 아무리 프론트의 UI/UX가 잘 되어 있다고 해도 서버가 불안정하다면 의미없다고 생각한다. 그만큼 더 공부하고 집중해서 서버를 구성해야겠다.