반응형

분류 전체보기 106

[Spring Boot] Spring Boot에서 Actuator 설정

Spring Boot Actuator 설정을 위해 필요한 지식을 정리한 글입니다. 1. Spring Boot Actuator란?Spring Boot Actuator는 Spring Boot 기반의 애플리케이션에서 모니터링 및 관리를 위한 기능을 제공하는 라이브러리와 모듈의 집합입니다.Spring Boot Actuator는 애플리케이션을 운영 및 모니터링하기 위한 API를 제공하고, HTTP 또는 JMX를 통해 엔드포인트를 노출시켜 중요한 정보를 조회하고 수정할 수 있도록 합니다. 2. Spring Boot Actuator 주요 기능 및 엔드포인트/actuator/health: 애플리케이션의 건강 상태를 확인합니다. 이 엔드포인트는 애플리케이션의 상태를 간단하게 확인할 수 있습니다. 예를 들어, "UP" 또..

[DevOps] IaC(Infrastructure as Code) - Terraform 구성요소

AWS Korea Hero인 '송주영' 님의 처음 시작하는 Infrastructure as Code: AWS & 테라폼 인프런 강의를 참고하여, 내용 정리 및 실습을 진행해본 내용이다.IaC 도구로 Hashicorp에서 만든 Terraform을 가장 많이 사용하므로, 여기서는 IaC 도구로 Terraform을 사용해보았다.IaC(코드로써의 인프라)는 더이상 선택이 아니라 필수이다..!!IaC(Infrastructure as Code)에 대한 간단한 개념IaC는 인프라 구성요소들을 코드를 통해 구축하는것이다.따라서, 코드로써의 장점을 가진다. 즉 작성용이성, 재사용성, 유지보수 등의 장점을 가진다.Terraform 구성요소

[Spring Boot] Spring Boot에서의 Logging Pattern 설정 (Logback 활용)

Spring Boot에서의 Logging Pattern 설정을 위해 Log와 관련된 간단한 지식을 정리한 글입니다.Logging Pattern 설정과 관련된 내용입니다.1. Logback이란?Java에서 Log 기록을 위한 Open-Source framework.  SLF4J의 구현체입니다.Spring Boot에서는 default로 설정되어 있어서 사용 시 별도로 라이브러리를 추가하지 않아도 됩니다.spring-boot-start-web 안에 spring-boot-starter-logging에 구현체가 있습니다.Logback을 이용하여 logging 하기 위해서 필요한 주요 설정 요소로는 Logger,  Appender, Encoder의 3가지가 있습니다.  2. Spring Boot  logback 설..

[Spring Test] Test Double에 대한 소개

0. 들어가면서Kent Beck의 XP(Extreme Programming) Explained 저서에는 이런 문구가 있습니다.개발의 기본 흐름은 일단 실패하는 테스트를 작성하고, 그 다음으로 그 테스트를 통과하도록 만드는 것이다.…해결하고 싶은 스토리들을 목록으로 만들고, 그 스토리들을 표현하는 테스트들을 작성하고, 그런 다음 그 테스트들 통과하도록 만든다. 여러분이 작성해야 할 필요가 있다고 생각하는 테스트들을 목록으로 만들고, 테스트를 하나 작성하고, 그 테스트를 통과하도록 만들고, 다른 테스트를 작성하고, 두 테스트 모두 통과하도록 만들고 하면서 목록이 비워질 때까지 일한다.이번에 VmWare Tanzu Labs분들에게 TDD로 진행하는 법을 배우면서, 테스트 주도 개발(TDD, Test Drive..

[JAVA] 이펙티브 자바 1장. 들어가기

1장. 들어가기 1. 이 책은 자바 언어와 그 기반 라이브러리, 즉 java.lang, java.util, java.io, java.util.concurrent, java.util.function 같은 하위 패키지를 효과적으로 사용하게끔 구성했음(때때로 다른 패키지도 다룸) 2. 많은 디자인 패턴과 관용구를 설명해줌 3. 이 책의 규칙 대부분은 아주 핵심적인 기본 원칙 몇 개에서 파생됨 바로 명료성과 단순성임. - 컴포넌트는 사용자를 놀라게하는 동작을 해서는 절대는 안됨. - 코드는 복사되는게 아니라 재사용되어야함. - 컴포넌트 사이의 의존성은 최소로 유지해야함. 4. 기술 용어는 대부분 자바 8용 언어 명세를 따르며, 주요사항은 아래와 같음 - 자바가 지원하는 타입은 인터페이스, 클래스, 배열, 기본타..

[JAVA] 백준 1181번 : 단어 정렬 (정렬)

www.acmicpc.net/problem/1181 문제 해결 방안 1. HashSet을 이용하여 입력을 받아 중복된 경우를 제거해준다. 2. ArrayList에 담아서 해당 ArrayList를 Collections.sort()를 이용하여 정렬해준다. 이 때, new Comparator를 사용하여 길이가 짧은 것과 길이가 같으면 사전순으로 정렬하는 코드를 구현해준다. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import jav..

[JAVA] 백준 7568번 : 덩치 (브루트포스)

www.acmicpc.net/problem/7568 문제 해결 방안 전체 경우의 수를 비교해보면 되는 간단한 문제이다. 완전탐색을 이용하여 peoples i번째의 키와 몸무게를 다른 j번째 키와 몸무게를 비교하면 된다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // 덩치 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.rea..

[JAVA] 백준 2667번 : 단지번호붙이기(DFS)

www.acmicpc.net/problem/2667 문제 해결 방안 total이 단지 수가 되고 지도를 탐색하면서 1을 발견하면 total++을 해준다. 그리고 DFS탐색으로 통해 해당 단지에 속한 집의 갯수를 cnt에 저장하여 dfs()를 빠져나오면 ArrayList에 해당 cnt를 넣어준다. 그리고 ArrayList에 저장된 각 단지의 집의 갯수들을 정렬하여 출력해주면 된다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import ..

[JAVA] 백준 1012번 : 유기농 배추(DFS)

www.acmicpc.net/problem/1012 문제 해결 방안 배추가 있는 공간들을 DFS 탐색을 통해 분리된 갯수를 찾는 문제이다. maps에 배추가 있는 값들을 추가해주고 maps를 탐색하면서 1(배추가 있는 곳)일 때 result(지렁이)++해주고 DFS를 해서 visited를 true로 만들어줘서 다음에 1일때 이미 방문했으면 넘어갈 수 있게 해주었다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; //유기농 배추 public class Main { static int m; // 가로길이(1~50) static int n; // 세로길이(1~50) static int ..

[JAVA] 백준 2178번 : 미로 탐색(BFS+DP)

www.acmicpc.net/problem/2178 문제 미로의 (1,1) 에서 (n,m)위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 문제이다. BFS + DP를 이용하여 해결하였다. 해결 방안 1. 미로의 이동 가능 여부 관련 값은 maps[][]에 저장하였다.(1이면 이동 가능) 미로의 해당 칸으로 이동할 때 지나야하는 최소의 칸 수는 cnts[][]에 저장하였다.(0이면 한번도 이동 안한 곳) 2. 주어진 maps의 (1,1) 위치에서 (m,n)으로 BFS 방법으로 4방향을 탐색하고 DP를 이용하여 cnts에 지나야하는 최소 칸 수를 메모제이션하였다. 3. cnts[n][m]을 출력하면 도착 위치에 가기위해 지나야하는 최소의 칸을 출력한다. 코드 import java.io.BufferedR..

반응형