2022.02.06
이번 주차는 스프링 숙련 주로 댓글 작성 및 스프링 시큐리티를 통한 로그인,회원가입 및 테스트코드등을 만들어 보았다.
스프링 시큐리티랑 테스트코드는 처음배우는 것이였는데, 지금까지 항해를 하면서 제일 힘들었던 시간을 보낸거 같다.
과제에 필요한 기능들은 구현하였지만, 시큐리티나 테스트코드에 대해서 아직까지 많이 부족한 거 같다는 생각이 든다.
자바, 스프링, 스프링 JPA 들도 아직 부족한게 많은데 시큐리티와 테스트코드까지 더 공부해야 하는 것이..
개발자가 되기로 선택하는 것을 좀 더 일찍 했으면 무척좋았을 것 같다.
이번 회고록에서는
ORM,SQL,MVC에 대해 말하려 한다.
ORM 이란 (Object Relational Mapping) 객체-관계 매핑을 뜻한다.
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하는데,
ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.
데이터베이스 데이터 < - 매핑 - > Object 필드
객체를 통해 간접적으로 데이터베이스를 다룬다.
SQL이란
Structured Query Language(구조절 질의 언어) 줄임말로,
SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
관계형 데이터 베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정,
데이터 베이스 객체 접근 조정 관리를 위해 고안되었다.
많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다
MVC는 디자인 패턴중 하나이다.
Model - View - Controller로 하나의 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다.
Model : 애플리케이션의 정보, 데이터를 나타낸다, 또한 이러한 Data , 정보들의 가공을 책임지는 컴포넌트를 말한다.
View : 사용자가 시각적으로 보는 부분 즉 출력을 담당한다.(ex. index.html)
Controller : 클라이언트의 요청에 대한 자동응답기. 클라이언트가 보낸 요청을 구체적으로 어떻게 처리하는지에 대한 부분으로, 이 곳에서 많은 프로그래밍과 제어가 이루어짐.
장점 : 역할을 분리하여 서로의 의존성을 낮추고 독립적인 개발을 가능하게 함
'항해 시절' 카테고리의 다른 글
첫 협업을 하면서 느낀점 (항해 6주차 회고록) (0) | 2022.07.02 |
---|---|
CORS란 무엇인가 (항해 5주차 회고록) (0) | 2022.07.02 |
DI,IoC, Bean란 무엇인가 (항해 3주차 회고록) (0) | 2022.07.02 |
객체지향프로그램, JVM이란 무엇인가 (항해 2주차 회고록) (0) | 2022.07.02 |
int, Integer 차이는 무엇인가 (0) | 2022.07.02 |