17-스프링 관리하기

스프링 부트 Admin 사용하기 스프링 부트 Admin은 관리용 프론트엔드 웹 애플리케이션이며, 액추에이터 엔드포인트를 사람들이 더 많이 소비할 수 있게 한다. 액추에이터 엔드포인트는 두 개의 주요 구성 요소로 나뉜다. 스프링 부트 Admin 클라이언트 Admin 서버 생성하기 일반적으로 Admin 서버는 독립 실행형 애플리케이션으로 사용된다. 의존성 추가 구성 클래스에 @EnableAdminServer 애노테이션 추가 아래 사진에서는 현재 0개 애플리케이션의 0개의 인스턴스가 등록되어 있는 것이다. Admin 클라이언트 등록하기 두 가지 방법 각 애플리케이션이 자신을 Admin 서버에 등록 Admin 서버가 유레카 서비스 레지스트리를 통해서 서비스를 찾기 각 애플리케이션이 자신을 Admin 서버에 등록 의존성 추가 spring....

2024-09-15 · 3 min · 565 words

1697

편집 시간: 2022년 2월 9일 오후 6:45 코드 Algorithm/1697.py at main · Junroot/Algorithm 풀이 bfs를 이용하여 탐색하다가 처음으로 k에 도달하는 지점의 시간을 출력하면 된다. 이 때 중복된 위치를 탐색하는 것을 방지하기 위해서 visited라는 집합을 만들어 사용했다.

2024-09-15 · 1 min · 36 words

1629

편집 시간: 2022년 2월 24일 오후 2:35 코드 Algorithm/1629.py at main · Junroot/Algorithm 풀이 제곱을 이용해서 분할 정복을 했다.

2024-09-15 · 1 min · 19 words

1620

편집 시간: 2022년 2월 16일 오후 3:46 코드 Algorithm/1620.py at main · Junroot/Algorithm 풀이 해쉬 맵을 이용하면 어려움 없이 해결할 수 있다. 숫자에 해당하는 이름과 이름에 해당하는 숫자를 해쉬 맵으로 따로 저장한뒤 출력하면 된다.

2024-09-15 · 1 min · 34 words

16-장인정신

코드 작성은 설계이다. 설계는 투자 비용보다 값어치가 빨리 늘어나는 불투명한 영역이다. 진정한 장인정신으로 소프트웨어를 만들면, 무언가 예상치 못했던 작업을 할 때, 응용프로그램은 지능적으로 반응한다. 핵심기능이 아니라 자주 쓰지 않는 부가기능을 정확하게 처리하기 위해서는 훨씬 더 많은 노력이 들어간다. 일반 소비자를 위한 상용 소프트웨어를 개뱔하는 방법만이 장인정신에 투자할 수 있는 유일한 길이다.

2024-09-15 · 1 min · 51 words

16-스프링 부트 액추에이터 사용하기

액추에이터: 스프링 부트 애플리케이션의 모니터링이나 메트릭과 같은 기능을 HTTP와 JMX 엔드포인트를 통해 제공한다. 액추에이터 개요 액추에이터가 노출하는 엔드포인트를 사용하면 실행 중인 스프링 부트 애플리케이션의 내부 상태에 관한 것을 알 수 있다. 액추에이터의 기본 경로 구성하기 기본적으로 액추에이터의 모든 엔드포인트 경로에는 /actuator가 앞에 붙는다. 기본 경로를 수정하고 싶으면, management.endpoint.web.base-path 속성을 설정하여 변경할 수 있다. 액추에이터 엔드포인트의 활성화와 비활성화 엔드포인트의 노출 여부를 제어할 때는 management.emdpoints.web.exposure.include와 management.endpoints.web.exposure.exclude 속성을 사용하면 노출을 원하는 엔드포인트를 지정할 수 있다....

2024-09-15 · 5 min · 865 words

15654

편집 시간: 2022년 2월 24일 오후 2:52 코드 Algorithm/15654.py at main · Junroot/Algorithm 풀이 정렬된 수열에 대해서 dfs로 문제를 풀면된다. 현재 어떤 숫자를 썼는지 확인하기 위해 visited 배열을 만들었다.

2024-09-15 · 1 min · 29 words

15650

편집 시간: 2022년 2월 16일 오후 7:35 코드 Algorithm/15650.py at main · Junroot/Algorithm 풀이 재귀 함수를 이용해서 모든 경우의 수를 탐색하면 된다.

2024-09-15 · 1 min · 22 words

15-쏘면서 움직여라

정지한 물체는 계속해서 정지하려고 한다. 하지만 최고 속력으로 굴러가기 시작하면, 속력을 유지하는 데 별다른 힘이 들지 않는다. 페어 프로그래밍은 동료와 페어 프로그래밍 세션 일정을 잡고 나서, 어서 일을 시작하자고 서로 북도아줬기 때문에 생산성을 높일 수 있다. 장기적인 암목을 키워야 하며, 매일 조금씩 앞으로 나아가야 한다.

2024-09-15 · 1 min · 45 words

1463

편집 시간: 2022년 4월 1일 오후 4:30 코드 Algorithm/1463.py at main · Junroot/Algorithm 풀이 1에서 시작해서 x에 도착하기까지 연산의 수로 문제를 바꾸어 해결했다. BFS로 순회하면서 이미 방문한 숫자는 무시했을 때, 최초로 x에 도착했을 때의 연산의 수가 답이 된다.

2024-09-15 · 1 min · 38 words

14501

편집 시간: 2022년 4월 21일 오후 7:59 코드 Algorithm/14501.py at main · Junroot/Algorithm 풀이 인풋 범위를 보니 브루트포스로 구현해도 되지만, dp를 이용해서 풀었다. f(x): x일까지의 최대 이익 f(x) = max(consults[index][2] + f(consults[x][1] - 1), f(x-1)) consults[index][1] == x인 경우만 다른 풀이 다른 사람의 풀이를 보니 상담 완료날짜 기준이 아니라 시작날짜를 기준으로 dp로 풀면 정렬을 할 필요가 없었다. O(nlogn)을 O(n)문제로 해결할 수 있다.

2024-09-15 · 1 min · 62 words

14500

편집 시간: 2022년 4월 21일 오후 4:31 코드 Algorithm/14500.py at main · Junroot/Algorithm 풀이 모든 경우를 다 해보고 가장 큰 값을 찾는다.

2024-09-15 · 1 min · 22 words

14499

편집 시간: 2022년 4월 21일 오후 4:28 코드 Algorithm/14499.py at main · Junroot/Algorithm 풀이 구현 문제다. 주사위를 배열로 저장해두고 회전할 때의 배열이 어떻게 변하는지 직접 그려보면서 풀었다.

2024-09-15 · 1 min · 27 words

14003

오답 여부: o 편집 시간: 2022년 4월 5일 오후 7:35 코드 Algorithm/14003.py at main · Junroot/Algorithm 풀이 12015 이 때와 완전히 똑같이 잘못된 방법으로 접근했다… 풀이 방법도 언급한 문제와 같은데, 추가적으로 가장긴 수열을 출력을 해야된다. 수열을 출력하기 위해서 입력값의 각 숫자가 sequence 에 몇번째 index에 저장이 되는지 기억해두면 출력할 수 있다. 아래 링크를 참고하면 이해하기 쉽다. https://yabmoons.tistory.com/561

2024-09-15 · 1 min · 57 words

14-화성인 아키텍터를 조심하세요

위대한 사상가는 문제에 대해 생각할 때, 패턴을 보기 시작한다. 하지만 추상화를 추구하기 위해 너무 높이 올라가면, 모순이 생기고 전체만을 아우르는 의미없는 내용만 담게 된다.

2024-09-15 · 1 min · 24 words

14-클라우드 구성 관리

스프링 클라우드의 구성 서버는 애플리케이션의 모든 마이크로서비스에 대해 중앙 집중식의 구성(config)를 제공한다. 구성 서버를 사용하면 애플리케이션의 모든 구성을 한 곳에서 관리할 수 있다. 구성 공유하기 application.yml 또는 application.properties 파일 속성만 변경하기 위해 애플리케이션을 재배포해야된다. 데이터베이스 비밀번호와 같은 일부속성들은 개발자 조차 접근할 수 없도록 해야한다. 자바 시스템 속성이나 운영체제의 환경 변수에 구성 속성을 설정하는 경우 속성의 변경으로 인해 애플리케이션이 재시작되어야 한다. 데이터베이스 비밀번호와 같은 일부속성들은 개발자 조차 접근할 수 없도록 해야한다....

2024-09-15 · 6 min · 1260 words

13549

편집 시간: 2022년 2월 24일 오후 3:03 코드 Algorithm/13549.py at main · Junroot/Algorithm 풀이 bfs로 풀면되지만, 순간이동하는 경우에는 시간이 흐르지 않기 때문에 큐 대신 우선순위 큐를 사용하면 된다.

2024-09-15 · 1 min · 28 words

13460

편집 시간: 2022년 3월 1일 오후 7:24 코드 Algorithm/13460.py at main · Junroot/Algorithm 풀이 기본적으로 BFS를 사용해서 모든 경우를 탐색하면 된다. 하지만, R과 B의 이동 처리에 대한 문제가 있었다. R과 B가 나란히 붙어있으면, R과 B가 함께 굴러가야되는데 막혀있는 걸로 판별하여 한 구슬만 이동하게 되는 경우가 발생할 수 있기때문이다. 이를 해결하기 위해 한 틱에 한 칸씩 이동시키면서 앞에 가록막는 구슬이 있다면 일단 정지시키도록 했다. 이를 계속 반복하여 R과 B가 더 이상 움직이 못할 때까지 이동시키면 된다....

2024-09-15 · 1 min · 75 words

13458

편집 시간: 2022년 4월 21일 오후 4:26 코드 Algorithm/13458.py at main · Junroot/Algorithm 풀이 간단해서 따로 설명할 것이 없다. 시험장 하나씩 계산해서 합하면된다.

2024-09-15 · 1 min · 23 words

13-종이 프로토타이핑

제품이 수행할 모든 작업을 프로토타입이 할 수 없다면 쓸모없어진다. 종이 프로토타입은 소프트웨어 도구로 할 수 있는 어떤 작업보다도 엄청나게 저렴하다.

2024-09-15 · 1 min · 20 words