Day 17

Preznt·2022년 11월 3일
0

국비 교육

목록 보기
10/13

MVC(Model View Controllor) 패턴 기반 FullStack

  1. 사용자가 Web을 통해 Request(요청)를 하면
  2. DBMS 를 통해 데이터를 SELECT 하고
  3. SELECT 된 데이터를 객체(Model)에 담아 View로 보내 rendering(html 변환) 한 후 UI(시각적 표현 화면구현)로 Response
  4. Model View Controller 패턴은 요구사항이 변경되더라도 상호간에 최소한의 영향만으로 프로젝트가 구현되어야 한다
  5. View는 사용자와 상호작용하며 Controller(router) 는 데이터 처리와 비지니스 로직(연산)을 담당한다

npm(node package manager)

https://poiemaweb.com/nodejs-npm
: 자바스크립트 패키지 매니저이다.
Node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI(Command line interface)를 제공한다.
자신이 작성한 패키지를 공개할 수도 있고 필요한 패키지를 검색하여 재사용할 수도 있다.

  • dependencies 항목에는
    해당 프로젝트가 의존하는 패키지들의 이름과 버전을 명시한다. 여기서 의존하는 패키지란 해당 프로젝트에서 참조하는 모듈을 의미한다.
    프로젝트를 진행할 때는 이미 만들어진 여러 패키지를 참조해서 사용하는데, package.json 파일의 dependencies 항목에 해당 패키지의 이름과 버전을 명시함으로써 의존성을 설정한다.

  • 모듈(module)
    모듈(module)이란 프로그램을 구성하는 구성 요소로, 관련된 데이터와 함수를 하나로 묶은 단위를 의미한다.
    보통 하나의 소스 파일에 모든 함수를 작성하지 않고, 함수의 기능별로 따로 모듈을 구성한다.

  • nodemon (node monitor)
    노드가 실행하는 파일이 속한 디렉터리를 감시하고 있다가 파일이 수정되면 자동으로 노드 애플리케이션을 재시작하는 확장 모듈이다. nodemon을 설치하면 재시작 없이 코드를 자동 반영 할수 있다

Node06A 프로젝트 관련 내용

  • morgan
    : 요청에 대한 정보를 콘솔에 기록해준다.

  • app.use(express.urlencoded({ extended: false }));
    form 에서 import 데이터를 담아 post 전송할때 데이터를 수신하고 req.body 객체로 변환하는 도구
    extended:false : NodeJS 자체에서 기본으로 제공하는 도구 사용
    extended:true : express 내부에서 qs 라는 외부 도구를 사용

  • req.params / req.query / req.body
    https://studyingych.tistory.com/34
    req.params : 예를 들어 /user/:name 경로가 있으면 "name"속성을req.params.name으로 사용할 수 있다.
    req.query : 경로의 각 쿼리 문자열 매개 변수에 대한 속성이 포함 된 개체다. (주로 GET 요청에 대한 처리)
    req.body : JSON 등의 바디 데이터를 담을때 사용한다.
    주로 POST로 유저의 정보 또는 파일 업로드(formdata)를 보냈을 때 사용
    요청 본문에 제출 된 키-값 데이터 쌍을 포함한다. 기본적으로 이는 정의되어 있지 않으며 express.json(), express.urlencoded()와 같은 미들웨어를 사용해야한다.

  • router.get / router.post
    get 같은 경우 URL에 parameter를 함께 보내 요청하지만, post는 request body에 parameter를 보내서 정보를 추출해야 한다.


그외

오늘은 왜 개발자가 되고 싶은지에 대해 고민해보는 시간을 가졌다
이번시간에 고민했던 걸 디벨롭해서 자소서에 녹이면 좋을 것 같다

mysql.query mysql.execute 에 대해서 알아보기

0개의 댓글