반응형
This Week I Learned
항해 4주차 WIL
(2021.11.22~2021.11.28)
이번주 주요 이벤트
- 개인프로젝트 - 회원가입/로그인, 소셜로그인, 유효성검사, 상세페이지 댓글, 회원권한 설정 등의 기능 구현
- 채용설명회 등
새로 학습한 내용
MVC 패턴
- MVC 패턴이란 애플리케이션을 크게 모델(Model, View, Controller)의 세 영역으로 구분하고 영역 간의 결합도를 최소화 패턴이다.
- Model 영역은 애플리케이션에 비즈니스 로직과 사용되는 데이터를 다루는 영역이다. 일반적으로 비즈니스 데이터는 데이터베이스에 의해 관리되고, 그 데이터를 다루는 연산은 SQL문을 통해서 구현된다.
- View 영역은 최종 사용자에게 보여줄 프리젠테이션 로직을 담당하는 영역이다. 일반적으로 자바 웹 애플리케이션에서는 JSP를 통해서 구현된다.
- Controller 영역은 흐름을 관리하는 역할을 하며, 모델과 뷰 영역간의 조정 역할을 한다. 사용자의 요청을 받아 이를 수행하기 위한 비즈니스 로직을 선택하고 호출하며, 수행한 비즈니스 로직의 결과를 보여주기 위해 뷰를 선택하여 포워드 해주는 역할을 한다.
- Controller 영역이 모델과 뷰를 이어주는 역할을 할 수 있지만, View 영역과 동일하게 기능할 수도 있다. 이 경우 프리젠테이션로직과 비즈니스로직의 분리가 어렵고 뷰의 재활용성이 떨어진다.
- View(JSP)와 Controller 를 분리하게 된다면 개발 초기의 부하가 비교적 높고, 아키텍처에 대한 수준 높은 이해를 요구하지만, 재사용성이 높고 확장이 용이하다는 장점이 있다.
ORM(Object-Relational Mapping)
- 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는 것을 말한다.
- 객체는 객체대로 설계하고 DB는 DB대로 설계 한 후에 중간의 차이를 ORM프레임웍이 해결해준다.
- OOP(Object Oriented Programming)에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블 자동으로 매핑(연결)하는 것을 의미한다.
- 장점
객체 지향적 코드로 인해 더 직관적이고 개발자가 객체 모델만 이용하여 프로그래밍을 하는데 집중 할 수 있게 한다. - 단점
사용하기 편한만큼 잘못 구현될 경우 속도 저하 또는 일관성이 무너지는 문제점이 생길 수 있다.
- 장점
SQL (Structured Query Language)
- SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
- 데이터베이스가 이해할 수 있는 질의 언어. 여기서 질의라는 것은 Query의 번역으로, 우리가 원하고자 하는 데이터를 데이터베이스에 요청한다는 의미.
타임리프 문법
spring security 이용방법등
느낀 점
- 이번주는 고난의 주였다. 거의 잠을 하루에 4시간 씩만 자면서 개인 과제를 했다. 저번주에 비해 많은 요구사항이 있었고, 강의를 듣고 기능구현하는게 초보자인 나로서는 정말 어려웠다. 하지만 직접 부딪혀보고 결국에는 기능을 완성시켜나가면서 엄청난 성취감과 성장을 느꼈다.
반응형
'기록 > 회고' 카테고리의 다른 글
[TIL] 항해 32일차 (0) | 2021.12.03 |
---|---|
[TIL] 항해 29일차 (0) | 2021.11.30 |
[TIL] 항해 22일차 (0) | 2021.11.23 |
[WIL]항해 3주차 WIL (0) | 2021.11.21 |
[TIL] 항해 19일차 (0) | 2021.11.19 |