Backend(15)
-
JWT
JWT JWT는 RFC 7519 웹 표준으로 지정되어 있습니다. JSON 객체를 이용해서 토큰 자체에 정보들을 저장하고 있는 Web Token이라 정의할 수 있습니다. JWT를 이용하는 방식은 아주 간편하고 쉽게 적용할 수 있어 사이드 프로젝트 등을 진행할 때 매우 유용합니다. JWT는 Header, Payload, Signature 3개의 부분으로 구성되어 있습니다. Header - Signature를 해싱하기 위한 알고리즘 정보 포함 Payload - 서버와 클라이언트가 주고받는, 시스템에서 실제로 사용될 정보 포함 Signature - 토큰의 유효성 검증을 위한 문자열입니다. 이 문자열을 통해 서버에서 이 토큰이 유효한지 검증할 수 있습니다. JWT의 장점 중앙의 인증 서버, 데이터 스토어에 대한 ..
2021.06.08 -
7. SpringBoot 입문 - AOP가 필요한 상황
AOP AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs. 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 문제점 회원가입, 회원 조회 등에 시간을 측정하는 기능은 핵심 관심 사항이 아니다. 시간을 측정하는 로직은 공통 관심 사항이다. 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 유지보수가 어렵다. 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다. 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다. AOP 적용 AOP : Aspect Oriented Programming 공통 관심 사항과 핵심 관심 사항을 분리한다. package he..
2021.06.07 -
6. SpringBoot 입문 - Spring DB 접근 기술 - Spring Data JPA
H2 데이터베이스 설치 순수 JDBC Spring 통합 테스트 Spring JdbcTemplate JPA Spring Data JPA (JPA를 더 편리하게) 6. Spring Data JPA Spring Boot와 JPA만 사용해도 개발 생산성이 많이 증가하고 개발해야할 코드 또한 확연히 줄어듭니다. 여기에 스프링 데이터 JPA를 사용하면 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있습니다. 그리고 기본 CRUD 기능도 스프링 데이터 JPA가 제공합니다. 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술로 JPA를 먼저 학습한 후 스프링 데이터 JPA를 학습해야 합니다. 스프링 데이터 JPA 생성 및 활용 방법 1. repository 패키지에 interface ..
2021.05.26 -
6. SpringBoot 입문 - Spring DB 접근 기술 - JPA
H2 데이터베이스 설치 순수 JDBC Spring 통합 테스트 Spring JdbcTemplate JPA Spring Data JPA (JPA를 더 편리하게) 5. JPA JDBC에서 JdbcTemplate으로 바꿨을 때 불필요한 코드들이 줄어든 것을 알 수 있었습니다. 하지만 SQL을 개발자가 직접 작성해야하는 문제는 아직 남아있었습니다. JPA를 사용하면 SQL 쿼리도 자동으로 작성해줘 개발 생산성을 높일 수 있습니다. build.gradle 파일에 JPA 관련 라이브러리를 추가하겠습니다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 라이브러리를 추가하고 마찬가지로 refresh 해줍니다. application.prop..
2021.05.26 -
6. SpringBoot 입문 - Spring DB 접근 기술 - 순수 JDBC
H2 데이터베이스 설치 순수 JDBC Spring 통합 테스트 Spring JdbcTemplate JPA Spring Data JPA (JPA를 더 편리하게) 2. 순수 JDBC 애플리케이션에서 데이터베이스와 연동하여 CRUD 하는 내용을 다뤄보겠습니다. 순수 JDBC는 오래전에 개발자들이 사용했던 방법입니다. build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리를 추가해줍니다. implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' Java는 기본적으로 DB와 연동하려면 JDBC Driver가 꼭 있어야 합니다. 라이브러리를 추가하면 오른쪽 상단에 gradle ..
2021.05.26 -
6. SpringBoot 입문 - Spring DB 접근 기술 - H2 데이터베이스 설치
H2 데이터베이스 설치 순수 JDBC Spring 통합 테스트 Spring JdbcTemplate JPA Spring Data JPA (JPA를 더 편리하게) 1. H2 데이터베이스 설치 이전에 계속 사용해오던 메모리 저장 방식과 달리 데이터베이스에서 데이터를 저장하고 관리하는 방식을 알아보겠습니다. H2 데이터베이스는 용량도 작고 admin 화면도 제공하는 등 교육용으로 좋습니다. 여기에서 본인의 환경에 맞는 버전으로 다운로드 받으시면 됩니다. 다운로드를 받고 압축을 해제해줍니다. $ cd h2 $ cd bin 해당 명령어로 h2/bin 경로로 접근합니다. 위 경로로 가시면 h2.sh 파일을 확인하실 수 있습니다. 권한 설정을 위해 chmod 755 h2.sh 명령어로 권한 설정을 해줍니다. (권한 설..
2021.05.26