[PS] 백준1967 : 트리의 지름(Java)
CS/알고리즘2024. 6. 1. 21:57[PS] 백준1967 : 트리의 지름(Java)

문제https://www.acmicpc.net/problem/1967 풀이깊이 우선 탐색(DFS) 활용한 풀이접근법각 노드에서 순회(dfs)방문체크를 통해 한쪽 깊이로만 탐색더 이상 탐색이 불가능한 노드에 도착 시 최대값 비교 및 갱신문제에서 “트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우” 라는 문맥을 통해서 두 노드 사이를 순회하여 제일 높은 가중치를 구하면 되겠구나 라는 생각을 함. 해당 문제를 풀며 조금 생각이 필요했던 부분은 특정한 노드에서 부모노드로 순회를 하게되는 경우였음.이번에 접근한 방식으로는 클래스 배열을 활용하여 부모노드에 대해 기록을 한 뒤 순회를 하도록 구현하였음. (자세한 부분은 아래코드를 참조)소스코드import java.io.*;import..

[INFRA] Nginx In Container?, host?
DevOps.2024. 4. 25. 15:48[INFRA] Nginx In Container?, host?

프로젝트 환경 위와 같은 프로젝트 환경이 구축되어있고, Nginx를 통한 https 리버스 프록시를 구축하려는 상황에서 재미있는 논의 주제가 나와 포스팅을 남기게 되었습니다. 논의 주제Nginx를 컨테이너로 구동해야할까? EC2 호스트 위에서 구동해야할까?라는 주제로 SSAFY 구미캠 인프라 자타공인 포조님과 토론을 하게 되었습니다. 최초의 고민하게 된 부분은 포트의 노출 및 외부로의 접근을 허용할 시 보안 측면에서 좋지 않다라는 부분에서 논의가 시작되었습니다.사실 보안적인 부분에 대해서는 어떤 공격이 있는지, 어떤 대처를 해야하는지에 대해 깊게 공부해보지 못한 부분이다보니 토론내용이 잘 못 되었을 가능성은 높습니다. 하지만 아는 선에서 서로의 의견을 맞대어 보니 어느정도 정리된 부분이 있는 것 같아 유..

DevOps./Monitoring2024. 4. 16. 17:18[모니터링] 실무 모니터링 개요

개요 실무 모니터링 환경을 구성을 하기 위해서는 다음과 같은 3단계를 구축해야합니다. 대시보드 애플리케이션 추적 로그 대시보드 전체를 한눈에 볼 수 있는 가장 높은 뷰라고 할 수 있습니다. 제품 마이크로미터, 프로메테우스, 그라파나 등등 모니터링 대상 시스템 메트릭(CPU, 메모리) 애플리케이션 메트릭(톰캣 쓰레드 풀, DB 커넥션 풀, 애플리케이션 호출 수) 비즈니스 메트릭(주문수, 취소수) 애플리케이션 추적 주로 각각의 HTTP 요청을 추적, 일부는 마이크로서비스 환경에서 분산 추적할 수 있습니다. 제품 핀포인트(오픈소스), 스카우트(오픈소스), 와탭(상용), 제니퍼(상용) https://github.com/pinpoint-apm/pinpoint GitHub - pinpoint-apm/pinpoint..

[Springboot] 액추에이터(Actuator)
Framework/SpringBoot2024. 4. 16. 17:16[Springboot] 액추에이터(Actuator)

실무 모니터링 환경을 구축하기 위한 첫 번째 단계로 스프링부트에서 제공되는 액추에이터에 대해 학습한 내용을 정리하였습니다. 개요 운영 환경에서 서비스할 때 필요한 기능들을 프로덕션 준비 기능이라 합니다. 간단하게 알아보면 애플리케이션이 현재 살아있는지, 로그 정보는 정상 설정 되었는지, 커넥션 풀은 얼마나 사용되고 있는지 등을 확인할 수 있어야 합니다. 스프링부트에서 제공하는 액추에이터는 위와 같은 기능을 매우 편리하게 사용할 수 있는 다양한 편의 기능들을 제공합니다. 액추에이터 build.gradle 추가 //actuator 추가 implementation 'org.springframework.boot:spring-boot-starter-actuator' 의존성을 추가 후 아래 url로 접속해보면 몇 ..

image