TIL&WIL/TIL(25)
-
MVC 패턴 [ TIL ]
Problem MVC 패턴에 대해 알아보자. MVC 란? MVC 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다 - mdn web docs - 소프트웨어의 비즈니스 로직과 화면을 구분하는데에 중점을 두고 있다. 1. Model : 데이터와 비즈니스 로직을 관리한다. 2. View : 레이아웃과 화면을 처리한다. 3. Controller : 명령을 모델과 뷰 부분으로 라우팅한다. 1. Model 데이터와 비즈니스 로직을 관리한다. 모델은 앱이 포함해야할 데이터가 무엇인지 정의한다. 데이터의 상태가 변경되면 일반적으로 뷰에게 알린다. 2. View 레이아웃과 화면을 처리한다. 앱의 데이터를 보여주는 방식을 정의한다. 표시할 데이터를 모델로부터 받는다. 3...
2023.08.05 -
클론 프로젝트 주차 회고 [ TIL ]
organization : https://github.com/CowDogHome CowDogHome CowDogHome has 3 repositories available. Follow their code on GitHub. github.com repository : https://github.com/CowDogHome/Clone-BE GitHub - CowDogHome/Clone-BE Contribute to CowDogHome/Clone-BE development by creating an account on GitHub. github.com 회고 이번주차 프로젝트는 소통의 중요성을 많이 느꼈던 한주였다. 첫날 회의를 긴시간 했음에도 불구하고 API 명세서에 대해 자세히 예기하지 않아 다음날 다시 긴..
2023.07.27 -
미들웨어 [ 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 -
SQL vs NoSQL [ TIL ]
Problem mongo 를 공부한후 mysql 을 공부헸다. 두 데이터베이스는 NoSQL 과 SQL 로 나눤다. 두 데이터베이스의 특징과 차이의 대해 알아보자. Solve SQL (관계형 데이터베이스) SQL 을 사용하면 RDBMS 에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 데이터는 정해진 데이터 스키마에 따라 테이블에 저장되고, 관계를 통해 여러 테이블에 분산된다. 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없다. 즉, 스키마를 수정하지 않는 이상은 정해진 구조에 맞는 레코드만 추가 가능한 것이 관계형 데이터베이스의 특징이다. 또 데이터의 중복을 피하기 위해 관계를 이용한다. NoSQL (비관계형 데이터베이스) 스키마도 없고, 관계도 없다. NoSQL 에서는 레코드를 문서라고..
2023.07.09