WIL 2022-10-16

Merong·2022년 10월 16일
1

WIL

목록 보기
4/8

4주차를 마치고

1 . Security

보안을 담당하는 스프링 프레임워크
인증과 권한(인증, 인가)에 대한 부분을 Filter의
흐름에 따라 처리합니다.

인증(Authentication)

  • 사용자의 신원을 확인
    ex) 로그인, 회사 출입을 위한 출입증 확인 혹은 생체정보 (지문, 홍채) 인식

인가(Authorization)

  • 사용자 권한을 확인하는 행위
    가지고 있는지 확인
    ex) - 회사 건물 내 접근 권한 관리
    1. 방문자 → 회의실만 접근 가능
    2. 직원 → 회의실, 사무실 접근 가능
    3. 관리자 → 회의실, 사무실, 서버실, 물품보관실 접근 가능

    JWT

    https://velog.io/@sun1203/JWTJSON-WEB-Token

    JPA

JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준

  • JPA가 제공하는 API를 사용하면 객체를 DB에 저장하고 관리할 때, 개발자가 직접 SQL을 작성하지 않아도 된다.

  • JPA가 개발자 대신 적절한 SQL을 생성해서 DB에 전달하고, 객체를 자동으로 Mapping 해준다.

  • JPA는 내부적으로 JDBC API를 활용하는데, 개발자가 직접 JDBC API를 활용하면 패러다임 불일치, SQL 의존성 등으로 인해 효율성이 떨어진다.

  • 이 때, JPA를 활용한다면 모든 SQL에 대해 개발자 대신 JPA가 자동으로 해결해 준다는 점에서 생산성을 크게 높인다.

ORM

ORM(Object-Relational Mapping)은 객체와 관계형 DB를 매핑한다는 뜻

  • ORM 프레임워크를 사용하면 객체를 마치 자바 컬렉션에 저장하듯 저장할 수 있고, 이에 대해 ORM 프레임워크가 적절한 SQL을 생성해서 DB에 객체를 저장해준다.

출처 https://velog.io/@jwkim/JPA-JPA%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

MVC

Model-View-Controller의 약자로 애플리케이션을 세 가지 역할로 구분한 개발 방법론입니다. 아래의 그림처럼 사용자가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달하게 됩니다.


이러한 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시작적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있게 됩니다.


Model

데이터를 가진 객체를 모델이라고 지칭합니다. 데이터는 내부의 상태에 대한 정보를 가질 수도 있고, 모델을 표현하는 이름 속성으로 가질 수 있습니다. 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보합니다. 이와 같은 통보를 통해 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있습니다.

모델의 규칙

  • 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야만 함
  • 뷰나 컨트롤러에 대해서 어떠한 정보도 알지 말아야 함
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함

View

View는 클라이언트 측 기술은 HTML/CSS/Javascript들을 모와둔 컨테이너입니다. 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어옵니다.

뷰의 규칙

  • 모델이 가지고 있는 정보를 따로 저장해서는 안됨
  • 모델이나 컨트롤러와 같이 다른 구성 요소를 몰라야 함
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함

Controller

사용자가 접근한 URL에 따라 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model을 의뢰하고, 데이터를 View에 반영해서 사용자에게 알려줍니다.

모델에 명령을 보냄으로써 뷰의 상태를 변경할 수 있음 => (워드에서 문서 편집)
컨트롤러가 관련된 모델에 명령을 보냄으로써 뷰의 표시 방법을 바꿀 수 있음 => (문서를 스크롤하는 것)

컨트롤러의 규칙

  • 모델이냐 뷰에 대해서 알고 있어야 함
  • 모델이나 뷰의 변경을 모니터링해야 함

MVC 패턴 요약

Model - 백그라운드에서 동작하는 비즈니스 로직(데이터) 처리

View - 정보를 화면으로 보여주는 역할.

Controller - 사용자의 입력 처리와 흐름 제어 담당. 화면과 Model과 View를 연결시켜주는 역할

출처 https://cocoon1787.tistory.com/m/733

SQL

SQL 이란? : DBMS에서 사용되는 언어

SQL 을 배워야 DBMS(데이터베이스 소프트웨어)를 잘 다룰 수 있고, DBMS 안의 데이터베이스를 조작 할 수 있다. 그러므로 SQL에 대해 알아본다!

SQL(Structured Query Language)은 이러한 DBMS에 데이터를 구축, 관리하고 활용하기 위해서 사용되는 언어가 "SQL" 이다. 간단히 말해서 "SQL"은 데이터베이스 용 프로그래밍 언어이다.
SQL은 구조화된 쿼리 언어이며, 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다.

출처 https://velog.io/@estell/SQL-1-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4DB-SQL%EC%9D%B4%EB%9E%80

1개의 댓글

comment-user-thumbnail
2022년 10월 20일

좋은글 더 써주세요!!!

답글 달기