전체 글 205

[자바 트러블슈팅 공부] 각종 메뉴와 필수 그래프 항목

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. Scouter 클라이언트의 종류이제 클라이언트에 대해서 자세히 살펴보도록 하자.스카우터 서버 즉, 콜렉터에 저장되어 있는 내용을 확인하려면 별도의 클라이언트를 거쳐야만 한다.현재 제공하는 클라이언트의 종류는 설치형, 웹형 이렇게 두 가지로 나뉜다.설치형 클라이언트에서 제공하는 기능을 제대로 익히면, 웹 클라이언트를 사용하는 것은 어렵지 않으니책에서는 설치형 클라이언트를 중심으로 설명한다고 한다.설치형 scouter 클라이언트는 윈도우, 리눅스, 맥을 지원한다.Object 창 살펴보기먼저 왼쪽 상단의 Objects 창을 살펴보자.해당 창에는 수집 서버들의 목록이 나열되어 있고, 그 목록을 펼치면 서버와 JVM 인스턴스들의 ..

APM/Scouter 2024.12.27

백준 14501번 퇴사 (java)

[Silver III] 퇴사 - 14501문제 링크성능 요약메모리: 14220 KB, 시간: 108 ms분류브루트포스 알고리즘, 다이나믹 프로그래밍제출 일자2024년 12월 27일 16:38:29문제 설명상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다.각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다.N = 7인 경우에 다음과 같은 상담 일정표를 보자.35112421020102015402001일에 잡혀있는 상담은 총 3일이 걸리며..

[AWS] aws 강의 섹션 30 (KMS, SSM Parameter Store, CloudHSM, Nitro Enclaves)

Encryption i flight (TLS / SSL)암호화를 해서 전송하고, 수신측에서 받은 후 디코딩을 하는 방식데이터를 암호화 하기 위해 TLS 인증서가 사용된다 (HTTPS)중간자 공격을 방어하기 위해 암호화를 통해 데이터를 전송한다.전송을 목표로하는 대상 서버만이 데이터를 해독할 수 있도록 한다. Server-side encryption서버에서 수신한 데이터를 암호화 시켜 저장하는 것이다.클라이언트에게 송신하기 전 디코드를 진행하고 전송한다.보통 키를 사용해 암호화와 디코딩 작업이 일어난다.서버는 해당 키에 접근이 가능해야한다. Client-side encryption데이터가 클라이언트 측에서 암호화, 해독이 이뤄진다.서버는 이 데이터를 해독할 수 없어야 한다.마찬가지로 키를 사용해 암호화한다..

AWS 2024.12.26

[자바 트러블슈팅 공부] scouter와 SpringBoot 연동 ( + 파일들의 역할)

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. 스프링부트와 scouter를 연동하기 전에 먼저 scouter를 구성하는 기능들을 살펴보겠다.scouter 서버scouter 서버의 주요 역할은 다음과 같다.에이전트에서 전송한 데이터 수집 및 저장API 제공(scouter-paper 등을 사용할 때 필요)집킨을 사용할 경우 집킨으로의 데이터 전송scouter 서버는 Scala라는 언어로 되어 있으나, 스칼라는 자바 기반의 JVM에서 실행되는언어이기 때문에, 컴퓨터에 자바만 설치외어 있으면 큰 문제 없이 실행할 수 있다고 한다.scouter 서버는 컬렉터라고 부르기도 하는데, 대부분 서버라고 부른다고 한다.다운받은 scouter 파일을 살펴보면 server라는 디렉토리가 ..

APM/Scouter 2024.12.24

백준 1748번 수 이어 쓰기 1 (java)

[Silver IV] 수 이어 쓰기 1 - 1748문제 링크성능 요약메모리: 14144 KB, 시간: 152 ms분류구현, 수학제출 일자2024년 12월 24일 16:56:32문제 설명1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.1234567891011121314151617181920212223...이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.출력첫째 줄에 새로운 수의 자릿수를 출력한다.풀이1의 자리 수는 9개10의 자리 수는 90개100의 자리 수는 900개다 만약 목표 수가 1024라면 9 * 190 * 2900 * 3에 1000부터 1024까지 * 4..

백준 6064번 카잉 달력 (java)

[Silver I] 카잉 달력 - 6064문제 링크성능 요약메모리: 18920 KB, 시간: 320 ms분류브루트포스 알고리즘, 중국인의 나머지 정리, 수학, 정수론제출 일자2024년 12월 20일 17:32:08문제 설명최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현하였다. 그들은 이 세상의 시초에 해당하는 첫 번째 해를 로 표현하고, 두 번째 해를 로 표현하였다. 의 다음 해를 표현한 것을 이라고 하자. 만일 x 예를 들어, M = 10 이고 N = 12라고 하자...

[자바 트러블슈팅 공부] APM이란?, 스카우터 기본 세팅

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. APM 이란APM은 Application Performance Monitoring의 약자로, 애플리케이션의 성능을 모니터링하고관리하는 도구를 의미한다.APM을 사용하면 운영 중인 시스템을 모니터링하거나 성능 측정 시 병목 지점을 매우 빠르게 찾을 수 있다.상업용 APM 종류다이나트레이스 (dynatrace)현존하는 최고의 APM이다.AI까지 도입하여, 자동으로 장애를 감지하는 기능도 제공하고 있다.금전적 여유가 충분하다면 반드시 사용할 도구라고 한다.앱 다이나믹스 (AppDynamics)다이나 트레이스의 기술 지원을 맡았던 사람들이 나가서 만든 APM이라고 한다.뉴 레릭 (New Relic)다양한 언어와 다양한 플러그인을..

APM/Scouter 2024.12.19

백준 14500번 테트로미노 (java)

[Gold IV] 테트로미노 - 14500문제 링크성능 요약메모리: 36788 KB, 시간: 688 ms분류브루트포스 알고리즘, 구현제출 일자2024년 12월 19일 13:32:26문제 설명폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절..

[AWS] aws 강의 섹션 29 (고급 IAM 정책)

AWS STS - Security Token ServiceSTS는 임시 자격 증명을 생성해주는 서비스다. 이를 통해 최대 1시간 유효한 권한을 얻어 AWS 리소스에 액세스할 수 있다.여러 가지 STS 관련 API를 알아보도록 하자.AssumRole: 다른 AWS 계정에 있는 Role을 빌려온다.내 계정 또는 다른 계정에서 특정 권한이 있는 역할을 수행하고 싶을 때 사용한다.AssumeRoleWithSAML: 사용자가 SAML로 로그인 한 경우 사용자에게 임시 보안 인증을 부여한다.AssumeRoleWithWebidentity: 사용자가 소셜로그인을 통해 로그인 할 경우 Role을 반환한다.요즘엔 잘 사용하지 않고, 대신 cognito를 이용한 로그인을 사용한다고 한다.GetSessionToken: 사용자..

AWS 2024.12.18

백준 1107번 리모컨 (java)

[Gold V] 리모컨 - 1107문제 링크성능 요약메모리: 14436 KB, 시간: 204 ms분류브루트포스 알고리즘제출 일자2024년 12월 18일 12:51:23문제 설명수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다.리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다.수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오.수빈이..