Server
-
TypeORM 개념 및 설치 및 사용방법Server 2020. 6. 7. 23:58
👉 Typeorm 공식문서 ORM 개요 Object-relational mapping, 객체-관계 매핑 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해준다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재한다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. TypeORM 개요 express와 관계형 데이터베이스를 조합할 때 자주 사용되는 ORM으로 Sequelize가 있다. 그리고 요즘 Typescript의 인기와 함께 떠오르는 ORM으로 TypeORM 이 있다. Sequelize와 TypeORM 중 어떤 ORM을 사용할지 고민을 많이 했다. 결국은 TypeORM 을 선택..
-
[Spring Security] JWT(JSON Web Token) 의 코드 구현Server/Spring 2020. 5. 17. 23:58
🐥 깃허브 : 전체 코드 Spring Boot에 Spring Security와 JWT를 사용해 로그인 구현 1. 동작과정 Generating JWT Client : 로그인 요청 POST (id, pw) Server : id, pw가 맞는지 확인 후 맞다면 JWT를 SecretKey로 생성 Client : Server에게 받은 JWT를 로컬 or 세션에 저장 Client : 서버에 요청할 때 항상 헤더에 Token을 포함시킴 Server : 요청을 받을 때마다 SecretKey를 이용해 Token이 유효한지 검증 서버만이 SecretKey를 가지고 있기 때문에 검증 가능 Token이 검증되면 따로 username, pw를 검사하지 않아도 사용자 인증 가능 Server : response 2. Token 유..
-
[Spring Security] JWT(JSON Web Token) 의 모든 것Server/Spring 2020. 5. 10. 19:04
1. 정의 #JSON #Claim_based_Token #Self_contained JSON Web Token의 약자로 클레임 토큰 기반의 방식. 클라이언트의 세션 상태를 저장하는 것이 아닌 필요한 정보를 토큰 body에 저장해 클라이언트에 저장해두고 이를 증명서 처럼 사용한다. Claim based? Claim : 사용자에 대한 프로퍼티 / 속성 토큰 자체가 정보 Self-contained : 자체 포함, 즉 토큰 자체가 정보 key / value 로 이루어짐 2. 구성 {Header}.{Payload}.{Verify Signature} 3가지 정보를 '.'로 연결하여 사용한다. JWT 공식사이트 를 통해 JWT를 생성 및 검증할 수 있다. Header : JWT 토큰의 유형이나 사용된 해시 알고리즘의..
-
[spring boot] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스-1Server/Spring 2020. 5. 3. 23:54
✔ 프로젝트 개발환경** 프로젝트 개발 환경은 다음과 같습니다. IDE : IntelliJ IDEA Ultimate Git Tools : Git Bash OS : Window SpringBoot 2.2.6 Java8 Gradle ✔프로젝트 코드 ( 깃허브 ) 👉👉👉 https://github.com/devAon/SpringBoot-WebService ✔ 프로젝트 코드 및 구현 내용 설명** build.gradle plugins { id 'org.springframework.boot' version '2.2.6.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id '..
-
[spring boot] 연락처 관리 프로젝트 (+TDD)Server/Spring 2020. 4. 26. 21:23
✔ 프로젝트 구조 **✔MVC 패턴 (Model–View–Controller)** **✔프로젝트 전체 코드 ( 깃허브 )** 👉👉👉 https://github.com/devAon/SpringBoot-Manage-Contact ✔ 프로젝트 코드 및 구현 내용 설명 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' implementation 'org.springframework.boot:sp..
-
[spring] TDD (테스트 주도 개발) 방법Server/Spring 2020. 4. 19. 18:14
TDD ? ( Test Driven Development ) 선 테스트코드 작성 후 실제 코드 개발 구현 -> 테스트 -> 리펙토링 Development -목표주도개발 -사용자 중심 개발 -인터페이스 중심 개발 목표? -올바르게 작동 -test -깔끔한 코드 - 이때 refactoring TDD 3가지 cycle Red - 실패 Green - 성공 Refactoring test 코드 리팩터링. TDD 만드는 방법 test파일 만들고싶은 파일에서-goto-test 예시 Controller TDD HelloWorldController.java @RestController public class HelloWorldController { @GetMapping("/api/helloworld") public Str..
-
[Spring] jpa, Hibernate, mybatis 란? 그리고 SQL Mapper와 ORMServer/Spring 2020. 4. 19. 18:12
목차 🍓 1. 계층 🍓 2. SQL Mapper와 ORM 🍓 3. JDBC(Java Database Connectivity) 🍓 4. JPA (Java Persistence API) 🍓 5. Hibernate 🍓 6. Mybatis 1. 계층 - 영속성(Persistence) 계층 참고 프레젠테이션 계층 (Presentation layer) - UI 계층 (UI layer) 이라고도 함 애플리케이션 계층 (Application layer) - 서비스 계층 (Service layer) 이라고도 함 비즈니스 논리 계층 (Business logic layer) - 도메인 계층 (Domain layer) 이라고도 함 데이터 접근 계층 (Data access layer) - 영속 계층 (Persistence la..
-
[Spring] 설정 및 구현 - 생명주기, MVCServer/Spring 2020. 4. 12. 23:47
목차 🍓 1. 빈(Bean) 객체의 생명주기(Life Cycle) 🍓 2. 어노테이션을 이용한 스프링 설정 🍓 3. 웹 프로그래밍 설계 모델 🍓 4. 스프링 MVC 웹서비스 🍓 5. STS를 이용하지 않은 웹 프로젝트 🍓 6. Service & Dao 객체 구현 🍓 7. Controller 객체 구현 🍓 1. 빈(Bean) 객체의 생명주기(Life Cycle) 스프링 컨테이너 생성시점과 빈객체의 생성시점은 동일하다. 🍓 2. 어노테이션을 이용한 스프링 설정 🍓 3. 웹 프로그래밍 설계 모델 13-1 웹프로그래밍을 구축하기 위한설계모델 13-2 스프링MVC플레임워크 설계 구조 13-3 DispatcherServlet 설정 13-4 Controller 객체 -@Controller 13-5 Controller..