Section 3 - 56일차

노태경·2021년 6월 23일
0

SEB-Section 3

목록 보기
10/31

1. Toy - 29일차

  • 왼쪽 노드부터 채워져 나가는 이진 트리, 완전 이진 트리
  • 부모 노드가 자식 노드보다 큰 경우 최대힙 <> 반대의 경우 최소힙
  • 부모 노드 = 자식 노드 / 2

2. ORM

  • MVC, MVVM >> 소프트웨어 설계와 관련된 디자인 패턴
  • MVC(Model-View-Controller)
    소프트웨어가 돌아가는 하나의 패턴
    특정 라이브러리를 지칭하는 것은 아님
    이러한 패턴으로 만들어진 프레임워크나 라이브러리는 있음
    Database <> Model <> Controller <> View 등 기능적인 분리


    Model
    데이터를 가지고 있음
    자신이 가지고 있던지, 데이터베이스와 연결되있던지
    컨트롤러와 데이터를 주고받음

View
유저가 웹브라우저를 통해 보는 부분
컨트롤러와 데이터(액션, 이벤트)를 주고받음

Controller
뷰에서 일어나는 액션,이벤트 등을 받아 가공된 데이터를 모델에 넘겨줌
반대로 모델에서 전달받은 데이터를 가공해 뷰로 넘겨줌

  • ORM은 Model을 기술하는 도구
    Object-Relational Mapping
    데이터베이스와 프로그래밍 언어 사이의 간극을 줄여준다

OOP vs Relational Database
관계형 데이터베이스에 익숙하지 않고 프로그래밍 언어에 익숙한 사람이 활용하기 좋음
SQL 문법없이도 데이터베이스에 접근할 수 있음

  • Sequelize를 사용해볼것임!
    RDBMS 사이의 호환성을 위해 Sequelize에서는 STRING, INTEGER등으로 타입 정의
    id는 자동으로 PK로 생성해줌

Association >> SQL의 JOIN, 1:1 1:N N:M 관계 등의 정의

Transaction >> 작업 중 실패하면 롤백, 성고시 커밋 등의 동작

3. 스프린트

  • sequelize-cli, sequelize 설치 후
  • sequelize-cli init 필요!
    cli >> generate:model로 모델을 만듬(table)
  • 공식문서를 잘 읽어보면, 사용하는데 문제는 없을듯?
profile
개발자 공부 일기😉

0개의 댓글