AWS EC2(Amazon Linux) Java 8 설치하기 EC2는 기본적으로 JAVA 1.7을 사용한다. 그렇기 때문에 젠킨스나 그 위에 자바 버전을 사용하려면 리눅스에 설치된 자바 버전을 변경해줘야 합니다. 먼저 현재 버전을 확인하면 자바 1.7버전인 것을 알 수 있습니다. java -version 자바 버전을 바꾸기 위해서는 먼저 openjdk8을 설치하셔야 합니다. sudo yum install -y java-1.8.0-openjdk-devel.x86_64 설치를 완료한 다음에 기존에 설치된 7버전에 8버전으로 변경해주셔야 합니다. 아래의 명령어를 통해 설치된 버전을 변경합니다. sudo /usr/sbin/alternatives --config java 위 명령어를 치시면 아래의 스크린샷과 같이..
Spring 멀티 모듈 구성 Root 프로젝트 생성 (1) New Project > Gradle > Additional Libraries and Frameworks > Next (2) GroupId, ArtifactId 입력 > Next (3) Use auto-import 체크 해제되어있는지 확인 > Next > Finish GroupId란? GroupId는 어떤 한회사에서 식별될 수 있는 값으로 설정하는게 좋다. 예를들어 wan라는 회사가 첫 프로젝트 이름으로 com.wan.boot라는 이름으로 groupid를 가져갔다고 해보자. 그다음 규모가 켜저서 payment를 분리하는 프로젝트를 만들었다고해보자 그렇게되면 그 해당 프로젝트에 group id는 com.wan.payment가 될것이다. 보통은 도메..
청크 지향 프로세싱 Spring batch 처리 방법 스프링 배치는 크게 2가지 배치 처리 방법이 있습니다. Tasklet 방식과 청크 제향 프로세싱 방법입니다. 이전 글에서 예제로 만들었던 job 방식이 Tasklet 방입니다. 실무에서 tasklet 방식 같은 경우 일반적으로 통계를 구하는 작업에서 많이 쓰이는 방법입니다. 이번 글에서 알아볼 방식은 청크 제향 프로세싱 방법입니다. 반대로 청크 제향 프로세싱 방법은 일괄 데이터 변경이나 어떤 데이터 변화를 주는 작업에서 청크 제향 프로세싱 방법을 사용할 수 있습니다. 위 설계도는 Srping-batch1 글에서 봤던 Spring batch 구조대입니다. 일반적으로 Spring batch는 위와 같은 구조를 가지게 됩니다. 위에서 Step을 taskle..
간단한Job 만들기 1. 개발 환경 구성 2. 배치 메타 테이블 정보 2.1. Job Instance (BATCH_JOB_INSTANCE) 2.2. Job Execution (BATCH_JOB_EXECUTION) 2.3. Job parameteres (BATCH_JOB_EXECUTION_PARAMS) 2.4. Step 2.5. StepExection (BATCH_STEP_EXECUTION) 3. 간단한 잡 만들기 1 4. 간단한 잡 만들기 2 4.1. BATCH_JOB_EXECUTION 4.2. BATCH_JOB_EXECUTION_PARAMS 1. 개발 환경 구성 먼저 간단한 잡을 만들기 위해 Spring batch 의존성 주입을 해줘야 합니다. 먼저 배치 의존성과 배치 테스트를 하기 위한 배치 테스트를..
Spring 데이터베이스 Schema 및 Data 초기설정하기 Spring에서는 초기에 scheme 생성 및 데이터를 세팅하는 여러 가지 메커니즘을 제공합니다. 아래는 이러한 설정을 설명한 것입니다. Spring script-sql 설정 Spring 기본값으로 classpath 루트에 schema.sql, data.sql 파일이 있다면 서버 시작 시 스크립트를 실행합니다. 보통 schema.sql은 DDL 스크립트를 명시해두고, 데이터를 위한 DML 문은 data.sql 파일로 작성합니다. 만약 특정 환경에 맞는 sql 문을 실행하고 싶다면 아래와 같이 platform이라는 property를 설정하면 됩니다. spring.datasource.platform=test 다음과 같이 설정하게 되면 schema..
Spring Batch Example - Spring Batch란? 많은 엔터프라이즈 에플리케이션에서 대량의 작업들을 한번에 일과적으로 처리를 할필요가 있다. 배치 작업들은 유저에 처리 없이 자동화되어 많은 양의 작업들이 한번에 처리되는것을 의미한다. 이러한 배치성 작업들은 대부분 시간 기반 이벤트(주기적인 시간다, 알림처리 등)들이다. 배치 어플리케이션으로 주기적으로 외부또는 내부로부터 받은 데이터를 형식화하고 검증하여 여러 기록 시스템에서 그 형식에 맞는 트랜잭션 방법으로 작업을 처리한다. 이렇듯 배치처리는 하루에 수백만건의 작업들을 처리하기위해 사용되어진다. 스프링 배치는 가볍고 종홥적고 일상적인 엔터프라이즈 시스템들에서 튼튼한 배치를 처리하기위해 설계되어졌다. 스프링배치는 스케줄링 프레임워크는 아..
Step-06 : 주문하기 기능 구현하기 - 1 지금까지 유저에 대한 회원가입에 대한 로직과 테스트 코드를 작성했습니다. 이번 장부터 online-book-store에 핵심 기능인 주문하기 기능을 만들어보겠습니다. 또한 Spring 부트 버전을 기존 1.5.9 -> 2.1.0으로 올리겠습니다. 목차 책, 주문 도메인 정의하기 책 도메인 정의하기 주문 도메인 정의하기 벨류와 엔터티 구별하기 엔터티란 벨류 타입란 Book생성 API 만들기 setter 사용하지 않기 Book생성 API호출 책, 주문 도메인 정의하기 책 도메인 정의하기 먼저 주문하기 기능을 구현하기 전에 처음 설계했던 도메인 설계를 다시 봐보겠습니다. 위에 도메인 설계에서 볼 수 있듯이 회원이 주문을 하기 위해서는 책 데이터가 필요합니다. 그..
HandlerMethodArgumentResolver 인터페이스를 이용한 Controller 커스텀 파라미터 객체 만들기 이 인스터페이스는 전략 패턴의 일종으로 컨트롤러 메서드에서 특정 조건에 해당하는 파라미터에 바인딩 해주는 전략 인터페이스이다. 따라서 AOP로 모든 메서드를 일일이 찾아서 데이터를 바인딩 할 필요없이 어노테이션을 만들어 쉽게 바인딩 할 수 있다. 예를 들어 컨트롤러에서 세션을 조회해야 하거나 HttpServletRequest에서 토큰 또는 쿠키 정보를 기반으로 인증 객체를 만들어야 한다고 가정해보자. 그렇게 되면 이러한 객체를 만들기 위해서는 아래의 소스같이 session에서 유저정보를 가져오거나 request 정보에서 인증정보를 가져오는 중복 코드가 발생할 수 있다. 이러한 문제를 ..
- Total
- Today
- Yesterday
- Angular
- Collection
- Infra
- Gradle
- Spring
- jenkins #mac방화벽
- Chache
- Quasar
- IntelliJ
- vue
- Jenkins
- OS
- OAuth
- network
- SSH
- https
- tobi
- #linux
- HMAC
- Linux
- Github
- java
- javascript
- aws
- kotlin
- batch
- JPA
- eslint
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |