본문 바로가기

728x90
반응형

분류 전체보기

(222)
Spring cloud gateway netty httpclient pool 로그 모니터링 netty httpclient pool을 모니터링하는 방법   implementation 'io.micrometer:micrometer-registry-logging'gradle에 micrometer-registry-logging추가 logging.level.reactor.netty.resources.PooledConnectionProvider=TRACElogging.level.reactor.netty.connection.provider=TRACElogging.level.io.micrometer.core.instrument.logging=DEBUGapplication.propertis에 위와 같이 설정  max-idle-time과 max-life-time설정spring.cloud.gateway.httpc..
SW Expert Academy 5658. 보물상자 비밀번호(java) 문제 풀이 - 같은 숫자일 경우 중복을 제거한 후 정렬이 필요하기 때문에 TreeSet을 이용했다. 마름모형태로 한 변에 각각 같은 개수의 숫자가 오기 때문에 n개를 4로 나누어서 시계방향으로 돌릴때 n / 4 번째 돌리면 결국 처음 상태와 같아진다. import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Scanner; import java.util.TreeSet; import java.util.stream.IntStream; public class Solution { public static void main(String[] args) { ..
SW Expert Academy 1210. S/W 문제해결 기본 2일차 Ladder1(java) 사다리타기 게임 문제 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T; T=10; for(int test_case = 1; test_case 0 && arr[x][y-1] == 1) { while(y > 0 && arr[x][y-1] == 1) { y = y - 1; } } else if( y < 99 && arr[x][y+1] == 1) { while(y < 99 && arr[x][y+1] ==1) { y = y + 1; } } } if(arr[x][y] == 2) { result = j; break; } }..
SW Expert 1859. 백만장자프로젝트 (Java) 최대이익찾기 입력 : 3 5 9 출력 : 10 입력 : 1 1 3 1 2 출력 : 5 import java.util.Scanner; import java.io.FileInputStream; class Solution { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); int T; T = sc.nextInt(); long results[] = new long[T]; for (int test_case = 1; test_case -1; i--) { maxValue = Math.max(arr[i], maxValue); result += (maxValue - arr[i]); } results[..
Spring boot netty access log 남기는 방법 Spring boot에서 netty를 사용할 경우 access log가 남지 않는다. 톰캣을 사용하는 경우 access log를 남길 수 있지만 netty는 설정을 해줘야 access log를 남길 수 있다. 자바 프로퍼티 설정에 추가 -Dreactor.netty.http.server.accessLogEnabled=true 주의할 점은 Spring property가 아니라 Java System Property에 추가를 해야 한다. Logback 설정 access_log.log %msg%n AccessLog 클래스에서 accesslog를 남기기 때문에 해당클래스를 loback설정을 통해 출력해주면 된다. netty AccessLog Customizing accesslog를 보기 편하게 커스터마이징할 수 있..
Jenkins에서 ECR로 이미지 push 하기 Jenkins에서 ECR로 이미지 푸시하는 방법 준비사항ECR에 푸시할 IAM 계정으로 AccessKey발급 필요.Jenkins에 ECR 플러그인 설치. IAM 계정으로 AccessKey 발급AWS로그인 -> IAM -> 사용자 생성 AmazonEC2ContainerRegistryFullAccess권한 적용 사용자를 생성한 후 사용자 상세 화면에 들어가서 보안 자격 증명 탭을 선택한다. 액세스키를 선택한 후 액세스키를 발급받는다. (액세스키와 시크릿키가 필요하니 꼭 저장해둬야함) Jekins에 ECR플러그인 설치Jenkins관리 -> 플러그인 매니저ECR 플러그인을 설치한다. https://plugins.jenkins.io/aws-java-sdk-ecr/ Amazon Web Services SDK :: ..
Spring Actuator 란 무엇일까 Actuator 명사로 동작시키는 것을 의미. 무언가를 움직이거나 제어하는 기계 장치 스프링 액추에이터는 HTTP 엔드포인트나 JMX로 실행주인 앱의 모니터링과 관리기능을 제공한다. 의존성을 추가하면 쉽게 사용이 가능하다 // maven org.springframework.boot spring-boot-starter-actuator // gradle implementation 'org.springframework.boot:spring-boot-starter-actuator' 서버 실행 후에 actuator 엔드포인트로 호출하면 볼 수 있다. http://localhost:8080/actuator HTTP/1.1 200 Content-Type: application/vnd.spring-boot.actuat..
스프링부트 구동할 때 초기화 코드 넣는 방법(CommandLineRunner, ApplicationRunner) 스프링부트에서는 시작 시점에 특정코드를 실행하기 위해 CommandLineRunner와 ApplicationRunner를 제공한다. 두 개의 Runner인터페이스 중에 하나를 이용해 run메서드를 오버라이드해서 빈으로 등록하면 사용이 가능하다. CommandLinerRunner functional interface로 람다식으로도 사용이 가능하다. 빈으로 등록해야 사용이 가능하다. 여러개의 CommandLineRunner를 빈으로 등록할 수 있으며 @Order를 통해 순서를 지정할 수 있다. argument는 배열로 전달된다. 스프링부트가 구동되면서 컴포넌트 스캔을 통해 빈을 등록하고 run()메소드를 실행한다. 사용방법 @SpringBootApplication public class DemoApplica..

728x90
반응형