오늘 공부한 내용

  • 코드카타 2문제
  • 면접대비 2문항 공부
  • 마지막 프로젝트 주제 구현 및 SA추가 작성

 

어려웠던 내용

  • 하이브 생성 기능 구현시 매개변수 작성에서 혼란을 겪었으나 팀원의 도움을 받아 작성후 기능 구현에 완료 하였습니다.

 

새로 알게된점

  • NoSQLRDBMS의 특징과 차이점에 대한 장, 단점

RDBMS : `관계형 데이터베이스` `Schema` `Table` `SQL`

정의 : 관계형 데이터베이스를 생성하고 수정, 삭제 관리할 수 있는 소프트웨어

특징 : 데이터 구조가 변경될 여지 없이 명확, Update가 잦은 시스템, 외래키를 이용한 테이블 간 Join 가능

장점 : DataColumn, Row형태로 저장, 분류, 정렬, 탐색속도 빠름, 스키마로 명확한 데이터구조 보장

단점 : 시스템이 커지면 Join문이 많은 복잡한 쿼리 생성, 수직적 확장을 주로 사용

 

NoSQL : `대용량데이터` `비규격화` `Key,Value`

정의 :

특징 : 데이터양이 많으며 Update가 자주 이루어지지 않을 때 사용, Key.Value 사용시 이미지, 비디오 등 어떠한 형태의 데이터도 담을 수 있다.

장점 : 유연한 데이터 구조, 수평적 확장 용이

단점 : 데이터 중복 발생 가능, 데이터 변경시 모든 컬렉션 수정필요,

 

  • mvc 패턴

- 답변 `model` `view` `controller`

정의 : 프로젝트 구성할 때 그 구성 요소를 세가지 역할로 구분한 패턴

장점 : 비교적 간단한 패턴으로 구조파악과 확장을 쉽게 할 수 있다.

단점 : 뷰와 모델의 완벽한 분리가 어렵고 앱이 커지면 컨트롤러의 코드량이 커져 유지보수 하기가 힘들다.

 

model (모델)

- 컨트롤러가 호출을 하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리하는 역할

- 데이터 추출, 저장, 삭제, 업데이트 등의 역할을 수행

 

view ()

- 사용자와 상호작용을 하며 컨트롤러로부터 받은 모델의 결과값을 사용자에게 화면으로 출력

 

controller (컨트롤러)

- ModelView 사이를 이어주는 인터페이스 역할

- Model이 데이터를 어떻게 처리할지 알려주는 역할

 

 

+ Recent posts