이번주 항해하면서 느낀점 / 배운점
이번주는 immediate과정이 끝나는 주였다
무슨 느낌이냐면 계속 공부할것들이 늘어나는데 마음만 조급해져서
제일 base에 쌓아야 할것들을 숙지하지못하고 계속 새로운것들로 채우려하다보니까 자꾸 꼬이는 느낌이었다.
그래도 계속 보다보니 아주살짝 어떻게 돌아가는지는 알것같은데
아직 코드해석이 어렵다.
그래서 이번주는 못따라가더라도 마음을 편하게먹고 하나하나씩 코드해석하면서 해석이 안되는 부분에대한 자바 문법에 이해를 하는데
집중했다.
이것들이 쌓여서 내가 직접 코드를 작성하는데 도움이되길 바라는바다....
MVC패턴 이란?
애플리케이션을 구성할때 모델(Model), 뷰(View), 컨트롤러(Controller) 세가지 역할로 구분한 패턴
위의 그림을 설명하자면
- 요청 : 클라이언트가 컨트롤러에 데이터 요청을 함
- 백그라운드 로직 호출 : 컨트롤러가 모델에서 요청하는 데이터를 가져옴
- 처리결과 전달 : 가져온 데이터를 컨트롤러가 뷰에 전달함
- 응답 : 뷰에서 요청한 데이터를 클라이언트에게 보여줌
MVC 패턴의 장점
MVC패턴은 각각의 구성요소가 구분되어 있어 한 구성요소 로직의 수정이 다른 요소에 영향을 미치지 않는다.
따라서....
- 디자이너와 프로그래머가 협업할때 공동작업이 쉬워짐
- 디자인과 로직의 수정이 서로에게 영향을 주지않아 유지보수가 용이함
- 기능단위 테스트를 독립적으로 실행할수있어 테스트 자동화가 쉬워짐
ORM 이란?
객체(Object)와 관계형 데이터(Relational data)를 매핑하기 위한 기술명이다.
이러한 매핑이 필요한 이유는 객체 지향언어 (예를들면 java) 와 데이터 베이스에서 데이터를 표현 하는 방식(예를들면 MySQL)이 다르기때문이다.
ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수 있다.
데이터베이스에서느 SELECT * FROM user;라는 query를 실행해야하지만, ORM을 사용하면 User 테이블과 매핑된 객체를 user라 할 때, user.findAll() 라는 메서드 호출로 데이터를 조회 가능합니다.
여기서 JPA가 java진영에서 만든 ORM API이다.
그럼 SQL이란?
SQL은 Structured Query Language (구조적 질의 언어)라는 영어뜻으로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기위해 설계된 언어이다.
SQL문법에 대해 깊게 알아보진 않아서 분류만 알아보았다.
SQL 쿼리문은 역할에 따라 3가지로 분류되며 아래와 같다.
- DDL(Data Definition Language, 데이터 정의어)
DB 오브젝트를 생성, 삭제, 변경하는 역할을 하며, DB 설계 단계에서 주로 사용됩니다. (CREATE, DROP, ALTER...) - DML(Data Manipulation Language, 데이터 조작어)
DB를 조회, 삽입, 삭제, 변경하는 역할을 하며, 관리 목적의 쿼리문입니다. (SELECT, INSERT, UPDATE...) - DCL(Data Control Language, 데이터 제어어)
사용자의 권한을 관리하는 역할을 합니다. (GRANT, DENY, REVOKE...)
'항해99' 카테고리의 다른 글
22.8.11 TIL (0) | 2022.08.11 |
---|---|
22.8.10 TIL (0) | 2022.08.10 |
항해99 WIL.3 [Spring]IoC,DI,Bean 개념 및 회고 (0) | 2022.07.31 |
항해99 WIL.2 객체지향 프로그래밍이란?(OOP) (0) | 2022.07.24 |
항해99 WIL.1 JWT와 API (0) | 2022.07.17 |