오늘 공부한 내용
- 코드카타 2문제
- 면접대비 2문항 공부
- 마지막 프로젝트 주제 구현 및 SA추가 작성
어려웠던 내용
- 하이브 생성 기능 구현시 매개변수 작성에서 혼란을 겪었으나 팀원의 도움을 받아 작성후 기능 구현에 완료 하였습니다.
새로 알게된점
- NoSQL과 RDBMS의 특징과 차이점에 대한 장, 단점
RDBMS : `관계형 데이터베이스` `Schema` `Table` `SQL`
정의 : 관계형 데이터베이스를 생성하고 수정, 삭제 관리할 수 있는 소프트웨어
특징 : 데이터 구조가 변경될 여지 없이 명확, Update가 잦은 시스템, 외래키를 이용한 테이블 간 Join 가능
장점 : Data를 Column, Row형태로 저장, 분류, 정렬, 탐색속도 빠름, 스키마로 명확한 데이터구조 보장
단점 : 시스템이 커지면 Join문이 많은 복잡한 쿼리 생성, 수직적 확장을 주로 사용
NoSQL : `대용량데이터` `비규격화` `Key,Value`
정의 :
특징 : 데이터양이 많으며 Update가 자주 이루어지지 않을 때 사용, Key.Value 사용시 이미지, 비디오 등 어떠한 형태의 데이터도 담을 수 있다.
장점 : 유연한 데이터 구조, 수평적 확장 용이
단점 : 데이터 중복 발생 가능, 데이터 변경시 모든 컬렉션 수정필요,
- mvc 패턴
- 답변 `model` `view` `controller`
정의 : 프로젝트 구성할 때 그 구성 요소를 세가지 역할로 구분한 패턴
장점 : 비교적 간단한 패턴으로 구조파악과 확장을 쉽게 할 수 있다.
단점 : 뷰와 모델의 완벽한 분리가 어렵고 앱이 커지면 컨트롤러의 코드량이 커져 유지보수 하기가 힘들다.
model (모델)
- 컨트롤러가 호출을 하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리하는 역할
- 데이터 추출, 저장, 삭제, 업데이트 등의 역할을 수행
view (뷰)
- 사용자와 상호작용을 하며 컨트롤러로부터 받은 모델의 결과값을 사용자에게 화면으로 출력
controller (컨트롤러)
- Model과 View 사이를 이어주는 인터페이스 역할
- Model이 데이터를 어떻게 처리할지 알려주는 역할
'개발자 일지 > TIL' 카테고리의 다른 글
스파르타 내일배움캠프 96일차 240109 (1) | 2024.01.10 |
---|---|
스파르타 내일배움캠프 95일차 240108 (2) | 2024.01.09 |
스파르타 내일배움캠프 91일차 240104 / 마지막 프로젝트 시작 (1) | 2024.01.06 |
스파르타 내일배움캠프 90일차 240103 / KPT (1) | 2024.01.06 |
스파르타 내일배움캠프 89일차 240102 / Swagger-UI 사용 (0) | 2024.01.02 |