기본 소문자를 사용한다. 실수할 일이 적고 MySQL은 대소문자를 구분하기에 통일해준다. Space 즉 띄어쓰기는 Underscore _ 로 대체한다. 숫자는 허용하지 않는다. 컬럼의 의미를 설명가능한 이름이며 64자를 넘지 않는다. prefix를 사용하지 않는다. 데이터베이스 이름 단수형, 복수형 모두 사용할 수 있지만 데이터베이스 자체가 1개의 데이터들의 모음을 나타내게 되므로 단수형이 옳다. 가능한 한 prefix는 피한다. 테이블 이름 소문자를 사용한다. 대소문자를 구분하는 리눅스 서버 위에 보통 MySQL을 호스팅한다. 또 MySQL과 함께 사용되는 많은 프레임워크들(php, JPA)이 자동 생성해주는 테이블이름은 소문자를 사용한다. 테이블 이름은 단수형이다. 여러 형태의 데이터를 담고 있는 것..
인증 : Authentication 인가 : Authorization 참고도서 : 스프링 부트 핵심 가이드(장정우 저) JWT (JSON Web Token) : 당사자 간에 정보를 JSON 현태로 안전하게 전송하기 위한 토큰 - JWT는 URL로 이용할 수 있는 문자열로만 구성되어 있으며, 디지털 서명이 적용되어 있어 신뢰할 수 있다. - JWT는 주로 서버와의 통신에서 권한 인가를 위해 사용한다. - URL에서 사용할 수 있는 문자열로만 구성되어 있기 때문에 HTTP 구성요소 어디든 위치할 수 있다. JWT의 구조 헤더(Header) 내용(Payload) 서명(Signature) 헤더에는 검증과 관련된 내용이 담겨 있다. 두 가지 정보가 포함되어 있는데, alg와 typ 속성이다. 1) alg에서는 해..

MVC : 프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법 -> 웹 시스템 개발에 자주 사용되고 있다. Model , View , Controller 1. Model - 시스템에서 비즈니스 로직 담당(시스템의 코어 부분, 시스템의 목적을 처리하는 부분) ex) 회원가입 상황 - 아이디 중복 확인 / 본인 인증 / 비밀번호 규칙 확인 2. View : 외형. 사용자 입력과 결과 출력 등 시스템에서 표현 부분을 담당하며 웹 애플리케이션에서는 주로 화면을 담당한다. 3. Controller : 서비스 처리를 담당하는 모델과 화면 표시를 담당하는 뷰를 제어하는 역할. -- 사용자가 입력한 내용을 뷰에서 받고, 받은 데이터를 기준으로 모델에 내용을 전달한다. -- 또, 모델에서 받은 데이터를 뷰에 전달해..
@RequiredArgsConstructor @NoArgsConstructor @AllArgsConstucroctor @GenerateValue(stratege = GenerationType.Auto) @GenerateValue(stratege = GenerationType.Identity) @GenerateValue(stratege = GenerationType.Table) @GenerateValue(stratege = GenerationType.Sequence) @MappedSuperClass @PathVariable @Transactional의 쓰임 @RestController @RequestBody 와 @ResponseBody 의 차이. JSON 형식과 JacKson @Column @Table @..
어노테이션의 의미 1) 주석을 의미하는 영어 포현 2) @oooooo 형태로 작성 3) 외부 소프트웨어에 필요한 처리 내용을 전달한다. 인스턴스 생성 어노테이션 - 애플리케이션 만들 때 레이어로 만드는 것이 좋다. 즉 계층화를 하라는 의미이다. 도메인 주도 설계 레이어 개요 애플리케이션 레이어 (Application Layer) 클라이언트와의 데이터 입출력을 제어하는 레이어 도메인 레이어 (Domain Layer) 애플리케이션의 중심이 되는 레이어로서 업무 처리를 수행하는 레이어 인프라스트럭처 레이어 (Infrastructure Layer) 데이터베이스에 대한 데이터 영속성(Persistence Context) 등을 담당하는 레이어 인스턴스 생성 어노테이션(주요) 어노테이션 개요 @Controller 애..

데이터베이스 : 데이터를 보관하기 위한 상자. 특정 규칙을 적용하여 데이터를 정리해서 보관한다. 보통 약칭 DB라고 부른다. 관계형 데이터베이스 : 데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 데이터베이스. 표는 테이블이라고 부르고 테이블과 테이블 관계를 Relationship이라고 부른다. 관계형 데이터베이스는 가장 일반적으로 사용되는 데이터베이스. 보통 RDB라고 부른다. 테이블 : 데이터베이스 안에서 실제로 규칙을 가진 데이터가 저장되는 상자. 레코드와 칼럼 - 테이블의 세로 열을 칼럼(column) / 가로 행을 레코드(record)라고 한다. [테이블의 제약 조건] 제약 조건의 예 > 제약 조건 개요 NOT NULL NULL 입력을 허용하지 않는다(필수 입력)..

의존성 주입 뜯어보기 : 의존하는 부분을 외부에서 주입하는 것. -- 의존하는 부분 : "사용하는 객체" 클래스에 "사용되는 객체" 클래스가 작성된 상태 -- 외부에서의 주입 : "사용하는 객체" 클래스의 밖에서 "사용되는 객체" 인스턴스를 주입하는 것. - 지금까지는 인스턴스를 생성하는 데에 new 키워드를 사용했지만, 인스턴스 생성과 같은 작업을 프레임워크에 맡길 수 있고, 그 역할을 하는 것이 DI 컨테이너다. *스프링 프레임워크는 임의로 구현한 클래스를 인스턴스로 만들어주는 기능을 제공 => DI 컨테이너가 그 기능을 제공한다. 다섯 가지 규칙 1) 인터페이스를 이용하여 의존성을 만든다. ==> 의존하는 부분에 인터페이스를 이용한다는 것. 2) 인스턴스를 명시적으로 생성하지 않는다. ==> 인스턴..