목록분류 전체보기 (37)
아님말고
여러 프로젝트에서 의존성 추가하여 사용 가능한 라이브러리 jar을 배포하는 방법을 알아보자. [테스트 환경] java : 17 spring boot : 2.7.10 gradle : 7.6.1 라이브러리용으로 gradle 프로젝트를 하나 만들어서 아래 내용되로 수정한다. 1.build.gradle 수정하기 plugins { id 'java' id 'org.springframework.boot' version '2.7.10' id 'io.spring.dependency-management' version '1.0.15.RELEASE' id 'maven-publish' } group = 'com.skt' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' publi..
RDS 데이터베이스 AWS Aurora MySQL : AWS만의 관계형 데이터베이스로 위의 기본 RDS MySQL보다 성능이 더 좋은것 같다. NO-SQL 데이터베이스 MogoDB : 오픈 소스로 어디에든 설치 사용 AWS DynamoDB : AWS에서만 사용 가능 파일서버 AWS S3 (Simple Storage Service)
eclipse 에서 build 실패시 오류내용이 상세하지 않는 경우 콘솔에서 빌드 시도해보자 1.cmd 창 띄우기 2.나의 repository 경로로 이동 workspace / {프로젝트명} 으로 이동하여 아래 명령을 실행한다. 3.빌드 실행 > gradlew.bat build 오류 확인
1. 의존성 추가 implementation 'io.jsonwebtoken:jjwt-api:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' 2. 토큰 만들기 및 검증하기 @Service public class TokenService { private static final String SECRET_KEY = "OnlyICanChangeMyLifeNoOneCanDoItForMe"; /** * 토큰 생성하기 * @return */ public String makeJwtToken() { Date now = new Date(); Key key = Keys.hmacShaKey..
APIM(API Management)란? API를 생성하고 수정하고 삭제하는 과정과, API를 서비스할 수 있도록 배포하고 사용 정보를 확인하는 과정들을 통칭해 부르는 개념입니다. 일반적으로 APIM은 API의 요청과 응답을 중계하는 API Gateway와 API 관리를 위한 Management 시스템으로 구성됩니다. 이를 통해, API 제공자와 요청자(사용자)가 함께 윈윈할 수 있는 플랫폼의 역할을 하게 됩니다. Service Mesh 구성 Service Mesh는 API Gateway를 통해 들어온 내부 네트워크를 관리하는데 초점을 맞추고있다. 특히 기존 어플리케이션 영역(Business Logic)과 네트워크 영역을 분리(Sidecar 추가 (istio솔루션))하여 네트워크의 변경 및 적용을 분리된..
Projection는 JPA로 조회시 원하는 컬럼을 가져오는 방식으로 Spring Data JPA 에서 사용하는 방식과 QueryDSL 에서 사용하는 방식으로 나눠서 볼 수 있습니다. Member.java @Data @Entity @Table(name = "member") public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; private String email; } Spring Data JPA 에서 사용하는 방식 크게 Interface 방식과 Class 방식이 있다. Interface 기반 Projections Closed Projections Memb..
Member.java @Data @Entity @Table(name = "member") public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; private String email; } MemberDTO.java @Getter public class MemberDTO { private String name; private String email; @QueryProjection public MemberDTO(String name, String email) { this.name = name; this.email = email; } } MemberReposit..
maven 의존성 주입 com.querydsl querydsl-apt ${querydsl.version} provided com.querydsl querydsl-jpa ${querydsl.version} plugin 추가 com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.jpa.JPAAnnotationProcessor queryDsl은 entity 객체기준으로 생성한 Q타입 (query type) 객체로 연산을 하는데 Q타입 객체를 build 하는 plugin 세팅이다. JPAAnnotationProcessor 가 target/generated-sources/java 경로에 Q타입 객체..