분류 전체보기(329)
-
미들웨어 [ TIL ] [ express ]
Problem express 의 미들웨어를 알아보자 Solve 요청과 응답의 중간에 위치하기 때문에 미들웨어 라고 부른다. 보통은 요청과 응답을 조작해 기능을 추가하거나 나쁜 요청을 걸러낸다. 각각의 미들웨어는 next() 메소드를 호출해 그 다음 미들웨어가 작업을 처리 할 수 있도록 순서를 넘긴다. 미들웨어는 req, res, next 가 매개변수인 함수이고, 미들웨어 함수를 여러번 인자로 쓸 수 있다. const express = require('express') const app = express() app.use((req, res, next) => { console.log('응애 나 미들웨어'); next() }); app.get('/', (req, res) => { res.send('하이염'..
2023.07.16 -
CORS [ TIL ] [ node.js ]
Problem 배포를 완료하고 프론트에 데이터를 주었는데 프론트에서 CORS 오류가 발견됨 Try npm i cors // app.js // ... const cors = require("cors"); // ... let corsOptions = { origin: "*", credential: true, }; // ... Solve 옵션에 origin 을 여러번 바꿔보았으나 프론트에 문제가 계속되었고, 위의 코드로 변경 후, 프론트에서 CORS 관련된 코드를 모두 제거하니 해결 되었다. What I Learned CORS 에 대해 배웠다. CORS 는 브라우저에서 보안적인 이유로 cross-origin HTTP 요청들을 제한한다. 그래서 요청을 하려면 서버의 동의가 필요한데 동의를 하지 않는다면 브라..
2023.07.16 -
테스트코드 [ TIL ]
Problem jest 를 공부하며 테스트코드에 대해 몇가지 궁금증이 생겼다. 기준은 단위테스트이다. 1. 테스트코드는 보조적인 수단인것 같은데 테스트를 위해 원본 코드의 구현을 고치는게 맞는가? 2. api 단위 테스트는 보았던 강의처럼 실제 코드를 먼저 구현하고 테스트코드를 구현하는데 이게 보편화되어 있는 것인가? Try 검색을 해보았지만 원하는 답을 얻기 어려웠다. 그래서 보고있는 강의의 강사분께 질문을 드렸다. Solve 개발자가 생각한 비즈니스로직이 정상적으로 동작하는지 확인하기 위해 구현 하는 것 이라고 강사님이 말씀하셨고, 테스트 코드를 구현하면서 실제 비즈니스 로직과 괴리감이 들거나, 실제 비즈니스 로직을 수정해야 한다면, 이는 잘못된 개발 방식으로 진행 하고 있을 가능성이 있다고 한다..
2023.07.12 -
TypeError: test is not a function [ Jest ] [express ]
개요 jest 를 이용해 service 단에서 단위테스트를 연습하다 겪은 에러이다. 에러 코드 FAIL __tests__/unit/posts.service.unit.spec.js ● Test suite failed to run TypeError: test is not a function 18 | }); 19 | > 20 | test("Posts Service findAllPosts Method", async () => { | ^ 21 | const findAllPostReturnValue = [ 22 | { 23 | postId: 1, at test (__tests__/unit/posts.service.unit.spec.js:20:3) at Object.describe (__tests__/unit/pos..
2023.07.12 -
git/github 방금 commit 한 메시지 변경하기
git commit --amend insert 모드로 변경후 메시지 수정, 저장 후 종료 # git push -f git push -f origin main
2023.07.12 -
Sequelize 관계 쿼리
include 우리가 SQL 에서 관계 있는 테이블을 불러올 때는 JOIN 을 사용하여 원하는 데아터를 가지고 왔다. 시퀄라이즈에서는 include 를 사용한다. 관계가 있는 모델을 include 에 배열을 넣어주면 된다. → 배열인 이유는 다양한 모델과 관계가 있을 수 있기 때문 const findPosts = await Posts.findAll({ // 컬럼 나열 attributes: ['postId', 'userId', 'title', 'createdAt', 'updatedAt'], include: [ { model: Users, // posts에 없는 컬럼을 join을 통해 가져오기 attributes: ['nickname'], // nickname 가져오기 }, ], order: [['creat..
2023.07.09