#TDD
수박수박.js 테스트 코드를 작성하고 리팩토링을 했다.
--- 수박수박.js
export const solution = (n) => {
const arrayWaterMelon = [];
for (let i = 1; i <= n; i++) {
let isWaterMelon = i % 2 !== 0 ? '수' : '박';
arrayWaterMelon.push(isWaterMelon);
}
return arrayWaterMelon.reduce((a, c) => a + c);
};
--- 수박수박.test.js
import { solution } from "./수박수박";
describe("수박수박 테스트", () => {
it("수박수박", () => {
expect(solution(3)).toEqual("수박수");
expect(solution(4)).toEqual("수박수박");
expect(solution(1)).toEqual("수");
});
});
별로 리팩토링 한 건 없다. 처음에는 변수로
const water = "수"
const melon= "박"
String (수, 박)을 담던 것을 삭제하기만 했다.
바로 String을 넣어주면 되기 때문에, 변수를 생성할 필요가 없다고 생각했다.
#Node.js (Youtube Clone)
Session을 사용하기 위해 express session을 NPM으로 install 했다.
import session from "express-session";
app.use(
session({
secret: process.env.COOKIE_SECRET,
resave: true,
saveUninitialized: false
})
);
--- .env
COOKIE_SECRET = "z%,Ya03;Q=LuO?qKbDXDo`>JC9]NP{"
session에 옵션을 넣어줄 수 있는데, secret은 쿠키를 임의로 변조하는 것을 방지하기 위한 값이라고 하는데, 사실
정확하게 이해하지는 못한 것 같아 조금 더 파보려고 한다.
resave는 세션을 언제나 (변경되지 않더라도) 저장할지 정하는 값이다. express session doc에서는 이 값을 false로 하는 것을 권장하고 필요에 따라 true로 설정하라고 되어있다.
saveUninitialized는 세션이 저장되기 전에 uninitialized 상태로 미리 만들어서 저장한다.
Node.js 백엔드 부분은 어려우면서도 재미가 있는 것 같아서 계속 공부하게 되는 것 같다.
'TIL' 카테고리의 다른 글
2020-06-18 TIL (0) | 2020.06.18 |
---|---|
2020-06-17 Node.js & MongoDB (0) | 2020.06.17 |
2020-06-09 TDD (0) | 2020.06.09 |
2020-06-03 TDD Refactoring & Passport (0) | 2020.06.03 |
2020-06-02 TDD 입문 (0) | 2020.06.02 |