일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- aws
- 클라우드
- 알고리즘
- golang
- 오라클
- Spring Cloud
- DP
- 운영체제
- db
- 자료구조
- 데이터베이스
- Jenkins
- Kafka
- 백준
- 코딩
- feign
- MVC
- 디자인 패턴
- Intellj
- SQL
- Spring Boot
- 쿼리
- Spring Cloud Feign
- Spring
- JPA
- 페이징
- 자바
- PL/SQL
- MST
- retry
- Today
- Total
목록IT (131)
justgo_developer
Spring Cloud Feign 목차 Feign Client 정의 Feign Client 예제 Feign Client 추가 설정(심화) 1. Feign Client 정의 Feign은 넷플릭스에서 개발한 웹 서비스 Client Binder 도구. 어노테이션을 붙이고, interface를 선언하여 쉽고 편하게 사용할 수 있다. 2. Feign Client 예제 spring-cloud-starter-openfeign maven 추가 1.8 Finchley.RELEASE org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} po..
Jenkins 빌드 중지 목차 Jenkins 모든 Item 빌드 중지 Jenkins 특정 Item 빌드 중지 개요 점검과 같은 이유로 Jenkins 빌드 중지하는 방법에 대해서 알아보려고 함. 상세 1. Jenkins 모든 Item 빌드 중지 The easiest way to stop/restart a Jenkins instance is through the instance itself. In addition to the basic stop and restart commands Jenkins provides a set of commands to safely stop/restart Jenkins by putting it in a quiet mode. quietDown: Put Jenkins in a Qui..
Jenkins로 Spring Batch 스케줄링 목차 Jenkins를 이용한 스케줄링 Spring batch 멱등성 Spring batch 실행 상세 1. Jenkins를 이용한 스케줄링 jenkins은 스케줄링 주기를 설정할때 cron expression을 사용한다. 10분 마다 실행하는 cron 표현식을 작성하여 테스트 # 10분 마다 실행 * /10 * * * * Build periodically 체크 후 cron 표현식 작성 jenkin gradle 빌드가 되는 경로는 /var/lib/jenkins/workspace/프로젝트명 경로에 빌드가 된다. gradle jar가 위치하는곳은 /build/libs 안에 jar파일이 생성되어 있다. 스케줄링 시킬 Shell Command 작성 jar파일 실행 ..
Jenkins gradle 빌드 및 에러 해결 방법 목차 Jenkins gradle 빌드 build 시 에러 해결 방법 상세 1. Jenkins gradle 빌드 일단, Jenkins 서버에 gradle을 설치.(리눅스 환경에 젠킨스 서버를 구성하였음.) sudo apt install gradle Jenkins에 Gradle 설정 Jenkins 관리 >> Global Tool Configuration >> Gradle >> Gradle 버전 선택 및 Install automatically 체크 Jenkins 빌드 Item 생성 새로운 Item 생성 >> Build >> gradle version(위에 설정해돈 Gradle name 작성) >> Tasks에 clean, build 입력 >> Build Fi..
Linux 환경에서 Jenkins 설치 및 구축 목차 Linux 환경 설치(Ubuntu) Jenkins 설치 Jenkins 초기 설정 상세 1. Linux 환경 설치(Ubuntu) 윈도우에서는 MicroSoft store에서 제공해주는 Ubuntu 앱을 설치하여 쉽게 리눅스 환경을 설치 할 수 있다. 2. Jenkins 설치 Jenkins 공식 홈페이지에서 운영체제별 설치 방법에 따라 설치 ※ https://www.jenkins.io/doc/book/installing/linux curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null e..
Spring Data Envers 목차 Spring Data Envers 개요 변경이력을 관리해야하는데 당연히 이력테이블을 새로 만들어 진행하려고 했는데, 구글링 중 우연히 Spring Envers 발견 이력테이블을 추가하려고 생각하고 있었는데 Spring Data Envers라는 변경이력을 관리해주는 라이브러리가 존재하였다. 하지만, 사용할 수 있을지는 모르겠다(테이블명, 항목명 표준 이슈) 상세 1. 하이버네이트 Envers 하이버네이트 핵심 모듈 JPA스펙에 정의된 모든 매핑 관리 엔티티의 변경이력을 자동으로 관리 XX Table -> XXX_AUD 테이블로 이력관리 히스토리를 계속 쌓는 방식으로 관리 REV == 리비전 식별자 REVTYPE 0 : 등록, 1 : 수정, 2 : 삭제 @Audited..
JPA Custom ID Generate + PostgreSQL 목차 PostgreSQL 시퀀스 키 생성 및 조회 방법 JPA 키 자동생성 방법 JPA Custom ID Generate 예제 개요 PostgreSQL과 JPA 적용 중 ID를 커스텀마이징 해서 만들어야 하는 일이 생겼다. 이전에 써본 경험이 있는데 그 경험을 토대로 새롭게 적용해보려고 한다. 상세 1. PostgreSQL 시퀀스 키 조회 방법 일단, PostgreSQL 디비는 시퀀스키 생성은 오라클과 같지만, 조회하거나 증가시키는 쿼리는 다르다. Oracle select seq_xx.currval from dual; -- 시퀀스 현재값 select seq_xx.nextval from dual; -- 시퀀스 다음값 : 증가시키고 다음값 리턴..
JPA Auditing 목차 JPA Auditing이란? JPA Auditing 예제 JPA Auditing 테스트 결과 개요 JPA를 이용하여 Audit 항목들을 다루어 보려고 한다. 상세 1. JPA Auditing이란? 어플리케이션 개발을 하다보면 각 업무 환경에서 공통으로 사용하는 테이블 항목들이 존재한다. 이때 변경사항을 추적하기 위한 필수적인 생성일자, 생성자, 수정일자, 수정자 등과 같은 공통적으로 사용되는 항목들이 존재하는데 이러한 항목들을 Audit 항목이라고 한다. Spring Data JPA에서는 Audit 항목들을 효율적으로 관리하고 매핑 할수 있도록 Auditing 기능을 제공하고 있다. 2. JPA Auditing 예제 @EnableJpaAuditing 어노테이션 추가하여 JPA..
1.SRP(Single Reponsibility Principle) : 단일 책임 원칙 객체는 단 하나의 책임만 가져야 한다. 객체에 책임을 할당할 떄는 어떤 객체보다도 작업을 잘 할 수 있는 객체에 책임을 할당해야한다. 모든 코드를 테스트하는 문제를 해결하려면 한 클래스에 너무 많은 책임을 부여하지 말고 단 하나의 책임만 수행하도록 해 변경 사유가 될수 있는 것을 하나로 만들어야 한다. 이를 책임 분리라 한다. 예시)Student 클래스가 수강과목추가/조회, 데이터베이스 저장, 읽는작업, 성적표 출력 등 너무 많은 책임을 수행한다면, 수강과목을 추가하고 조회하는 책임만 수행하도록 하는것이 SRP 따르는 설계이다. 나머지는 다른 클래스가 더 잘 할수 있는 여지가 있다. 2. OCP(Open Closed ..
피터 코드는 상속의 오용을 막기 위해 상속을 사용을 엄격하게 제한하는 규칙들을 만들었다. 아래 5가지 규칙 중 어느 하나라도 만족하지 않는다면 상속을 사용해서는 안된다. 1. 자식 클래스와 부모 클래스 사이는 역할 수행 관계가 아니어야 한다. 2. 한 클래스의 인스턴스는 다른 서브 클래스의 객체로 변환할 필요가 절대 없어야 한다. 3. 자식 클래스가 부모 클래스의 책임을 무시하거나 재정의하지 않고 확장만 수행해야 한다. 4. 자식 클래스가 단지 일부 기능을 재사용할 목적으로 유틸리티 역할을 수행하는 클래스를 상속하지 않아야 한다. 5. 자식 클래스가, 역할, 트랜잭션, 디바이스 등을 특수화 해야 한다.