모든 글 202

백준 10974번 모든 순열 (java)

[Silver III] 모든 순열 - 10974문제 링크성능 요약메모리: 81456 KB, 시간: 2172 ms분류백트래킹, 브루트포스 알고리즘제출 일자2025년 1월 9일 17:47:48문제 설명N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.출력첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.풀이dfs로 완탐하면 끝이다.전체 코드public class Main { static int N; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedRe..

[개발일지] webp 확장자를 통한 이미지 제공 최적화 작업

공식 홈페이지 개발 중 프론트엔드에서 이미지를 띄우는 데 시간이 너무 오래 걸린다는 문제점을 확인했다. 이미지의 해상도가 너무 높아, 이미지의 크기가 큰 것이 문제였다.이렇게 큰 크기의 이미지가 동시에 8개가 제공되니, UX가 낮아질 것이 분명했고 대책을 찾고자 했다. 이를 해결하기 위해 처음엔 해상도를 낮추는 방식을 생각했었다. 여러 가지 해결책을 찾아보던 중 webp라는 확장자를 알게 되었고, 이를 프로젝트에 적용한 내용을 정리해보려 한다. Webp 확장자란?WebP는 구글에서 개발한 이미지 파일 형식으로, JPEG, PNG, GIF와 같은 기존 이미지 형식에 비해 더 높은 압축률을 제공한다.WebP는 두 가지의 압축 방식을 대표적으로 제공한다.손실 압축 (Lossy Compression): JPEG..

[AWS] aws 강의 섹션 31 (AWS의 기타 서비스들)

AWS SES - Simple Email Service이메일을 보내는데 사용된다.SMTP 프로토콜을 사용하며, AWS SDK로 이메일을 보낼 수 있다.여러 서비스와 통합이 가능하다.S3SNSLambda이메일을 발신, 수신하려면 IAM이 필요한데, IAM과도 통합이 되어 있다.OpenSearch ServiceElasticSearch의 후속작이다.다이나모 DB에서 인덱스나 기본키를 이용해서 데이터를 쿼리할 수 있다.하지만 opensearch를 사용하면 이부만 매칭되어도 모든 필드를 검색할 수 있다.예를 들어서 TAVE를 검색하고자 할 때, 기존 다이나모 디비는 정확히 매칭되는 키를 사용해서 TAVE 값을 가져와야 했다면,openSearch는 TA만 검색해도 TAVE를 가져올 수 있다는 의미이다.검색 뿐만 아..

AWS 2025.01.02

[자바 트러블슈팅 공부] Scouter 그래프 보는 법 및 Xlog 보는 방법

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. 그래프 보는 법상단 오른쪽에 초록색 화살표 두 개가 맞물린 버튼이 있다.그래프는 처음 추가했을 때부터의 데이터를 제공하는데, 저 버튼을 누르면 5분 간의 데이터를 확인할 수 있다.그래프에 오른쪽 마우스를 클릭하면 다음과 같은 메뉴가 나타난다.과거 데이터, 하루치 데이터, 누적된 데이터의 확인이 가능하다.Total이라고 된 메뉴는 누적 그래프를 제공하며두 개 이상의 인스턴스를 모니터링할 경우 전체 인스턴스의 값이 합쳐진 그래프가 나온다.화면 전환하기스카우터를 사용해서 서버 두 개 이상의 서비스를 모니터링할 때 하나의 화면으로 모니터링하는 것은 거의 불가능하다.그래서 Perspective 기능이 제공된다.클라이언트 화면 오른..

APM/Scouter 2024.12.31

백준 10973번 이전 순열 (java)

[Silver III] 이전 순열 - 10973문제 링크성능 요약메모리: 31964 KB, 시간: 464 ms분류조합론, 구현, 수학제출 일자2024년 12월 31일 22:22:42문제 설명1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 바로 이전에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다.1, 2, 31, 3, 22, 1, 32, 3, 13, 1, 23, 2, 1입력첫째 줄에 N(1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄에 순열이 주어진다.출력첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다..

백준 10972번 다음 순열 (java)

[Silver III] 다음 순열 - 10972문제 링크성능 요약메모리: 24596 KB, 시간: 408 ms분류조합론, 수학제출 일자2024년 12월 30일 19:47:05문제 설명1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 다음에 오는 순열을 구하는 프로그램을 작성하시오.사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다.N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다.1, 2, 31, 3, 22, 1, 32, 3, 13, 1, 23, 2, 1예제 입력 1 복사41 2 3 4예제 출력 1 복사1 2 4 3입력첫째 줄에 N(1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄에 순열이 주어진다.출력첫째 줄에 ..

백준 1759번 암호 만들기 (java)

[Gold V] 암호 만들기 - 1759문제 링크성능 요약메모리: 14264 KB, 시간: 108 ms분류백트래킹, 브루트포스 알고리즘, 조합론, 수학제출 일자2024년 12월 28일 23:00:57문제 설명바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을..

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

본 게시글은 이상민 저자의 자바 트러블슈팅 책을 읽고 공부한 내용을 정리한 글이다. 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