서버개발/spring-boot
-
[Spring Boot] JPA (2/4) : JPA 기본 개념서버개발/spring-boot 2020. 1. 30. 14:52
목적 JPA 의 탄생 배경부터 특징, 그리고 JPA를 이해하기 위한 ORM 표준등 관련된 용어의 개념에 대해 정리한다. JPA 란 JPA(Java Persistence API)는 ORM(Object-Relation Mapping) 전문가가 참여한 EJB 3.0(Enterprise Java Beans) 스펙 작업에서 기존 EJB ORM 표준으로 사용되던 엔티티빈(Entity Bean) 을 대체하여 나온 ORM 표준이다. 기존 엔티티빈이 EJB 컨테이너에 의존하던것에 비해 POJO 방식 프레임워크로 개발되었으며, 이로인해 Java EE 뿐 아니라 JAVA SE 에서도 사용 가능하며 활용도가 높다. *POJO : https://itewbm.tistory.com/entry/POJOPlain-Old-Java-Ob..
-
[Spring Boot] JPA (1/4) : SQL/NoSQL 차이점서버개발/spring-boot 2020. 1. 29. 18:20
작성 목적 JPA를 적용하기에 앞서 기본적인 DBMS에 대한 이해를 돕고 어플리케이션의 특성에 맞추어 DBMS 선택의 폭을 넓히기 위해 작성한다. 이 페이지는 데이터베이스의 원리나 기본 개념보다는 비관계형 데이터베이스(NoSQL) 의 특징과 종류, 그리고 관계형 데이터베이스와의 차이점에 대해 다룬다. SQL(관계형 데이터베이스) 관계형 데이터베이스(RDB, Relational Database)데이터간의 중복성을 최소화 하고 사전에 정의된 관계(Relation) 에 따라 데이터를 저장하는 데이터베이스이다. 이러한 관계들은 항목은 열과 행으로 이루어진 테이블 집합으로 구성된다. 테이블은 데이터베이스에 표시할 해당 객체들에 관한 정보를 저장하며, 이 때 각 열은 이 테이블의 속성을 나타낸다. 가장 일반적으로 ..
-
[Spring Boot] HTTP/HTTPS (1/2) : 개념 이해서버개발/spring-boot 2020. 1. 21. 20:15
HTTP와 HTTPS HTTP (Hypertext Transfer Protocol)는 Hypertext (대표적으로 HTML. Hypertext Markup Language)를 전송하기 위한 통신규약이다. HTTPS에서 S는 Secure Socket Layer의 약자이며, 이름 그대로 보안을 위한 통신 레이어가 추가된 HTTP 이다. HTTP와 TCP/IP HTTPS를 살펴보기 전에 기본적인 HTTP의 통신 흐름에 대해 확인한다. TCP/IP 인터넷을 포함한 일반적인 네트워크는 대부분 TCP/IP 프로토콜로 통신을 한다. HTTP는 이러한 TCP/IP 프로토콜의 응용 계층(Application Layer)의 프로토콜이며, 일반적으로 HTTP 프로토콜이 사용된 통신방법을 의미한다. TCP/IP는 응용 계층..
-
[Spring Boot] OAuth2 (1/2) : 개념 이해서버개발/spring-boot 2020. 1. 21. 11:15
OAuth 란? OAuth(Open Authorization, Open Authentication)는 사용자 리소스를 관리하는 서비스(구글, 페이스북 등)에서 제3의 애플리케이션에게 사용자의 패스워드 제공 없이 인증, 인가할 수 있는 인증 관련 표준 프로토콜이다. OAuth 이전에 사용자의 권한을 위임받는 방식은 사용자가 이용하는 서비스의 계정/패스워드를 제공받는 방식이었다. 이는 패스워드 유출 뿐 아니라 권한을 위임받는 애플리케이션이 필요 이상으로 계정에 대한 모든 권한을 획득하게 되는 등 다양한 문제점이 존재한다. OAuth 인증은 API를 제공하는 서버에서 사용자 인증 및 권한 부여를 진행하고 이에 대한 'Access Token'을 발급하는 방식을 제공하며 이러한 문제들을 해결할 수 있다. OAut..