전체 글114 Prometheus와 Grafana를 활용한 모니터링 환경 구축 오늘은 Spread 프로젝트에 Prometheus와 Grafana를 활용하여 모니터링 환경을 구축하려고 한다.이번 포스팅의 목차는모니터링 환경을 왜 구축해야 하는지?모니터링 툴에는 어떤 것들이 있는지?왜 필자는 Prometheus와 Grafana를 사용했는지?Prometheus란?Prometheus와 Grafana를 활용해 모니터링 환경 구축하기이다.1. 모니터링 환경을 왜 구축해야 하는지?우리는 서버를 운영/관리하며 작동 중 예기치 못한 문제가 발생 시 빠르게 대응해야 사용자의 불편함을 줄일 수 있다. 또한 개발 이후 지속적으로 서버를 관찰하며 어느 부분에서 병목현상이 생겨 성능이 저하되는지, 어떤 부분에서 장애 대응이 부족한지를 파악해야 한다.즉, 모니터링 환경을 구축하는 이유는 이상 징후 감지, 장.. 2025. 7. 4. Spring boot에서 Redis 사용하기 - @RedisHash, @Indexed D사 면접을 준비하며 CS에 대한 지식이 부족하다 느꼈다. 지금까지 프로젝트를 하며 과연 근본적인 기술에 대한 지식을 쌓았는지에 대한 의문과 마구잡이로 기능을 구현하는 것에 경각심을 느껴 현재 진행하고 있는 Spread 프로젝트의 리팩토링을 진행하기로 결심했다.그 중 Member의 로그인 기능 중 Redis에 Refresh Token을 저장하고 해당 토큰을 활용해 로그인 하는 과정을 먼저 살펴보았다. 그런데 해당 부분을 살펴보고 테스트하던 중 하나의 사용자가 회원가입을 했는데 Redis에는 아래와 같이 세 개의 값이 저장되었다.해당 토큰을 저장하는 코드를 살펴보고 왜 세 개의 값이 저장되는지에 대해서 알아보고자 한다. 코드먼저 Spring boot에서 Redis를 사용하기 위해서는 아래와 의존성을 추가해.. 2025. 6. 26. Redis를 왜 JWT의 저장용 DB로써 사용할까? 우리는 프로젝트에서 JWT토큰을 저장할 때 습관적으로 Redis에 저장하곤 한다. 그런데 생각해보면 RDB에 저장해도 되는데 왜 Redis를 사용할까? 오늘은 JWT를 왜 Redis에 저장하는지에 대해 알아보고자 한다. 일단 왜 Redis에 저장하는지 알기 위해서는 Redis가 무엇인지부터 알아야 한다.Redis란 무엇일까?Redis는 In-Memory 기반의 초고속 NoSQL 데이터 베이스이다. 즉, 디스크(보조 메모리)가 아닌 메모리(RAM)에 저장하기 때문에 매우 빠른 특성을 가지고 있다.음... 그럼 과연 이것만으로 이유가 될까?정답은 '아니다'이다.그럼 Redis의 여러 가지 특징 중 어떤 특징 때문에 JWT 저장에 적합한지 알아보자. Redis의 특징1. In-Memory 저장소 : Disk .. 2025. 6. 26. [프로그래머스] 여행 경로 - Java https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ⭐️ 중요 포인트1. graph에 출발지와 도착지에 대한 정보를 기록한다. 이 때, isNotUsed와 graph를 따로 정의한 이유는 조건 중 "만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다."라는 조건을 맞추기 위해서 graph의 도착지는 List 형식으로 저장하였다. 다만 그래프를 순회하면서 중복 순회를 방지하기 위해서 값을 저장해야 하는데, 이 때, List.contains() 를 사용하게 되면 한 번 탐색.. 2025. 6. 13. [백준] 2239. 스도쿠 - Java https://www.acmicpc.net/problem/2239 https://kyxxgsoo.tistory.com/entry/%EB%B0%B1%EC%A4%80-2580-%EC%8A%A4%EB%8F%84%EC%BF%A0-Java [백준] 2580. 스도쿠 - Javahttps://www.acmicpc.net/problem/2580 백트래킹 + 재귀를 활용한 문제 ⭐️ 중요 포인트1. blank의 가로, 세로, 해당 blank를 포함하는 정사각형 구역에서 주어진 num이 나오지 않았는지를 판별하는 메서드 구kyxxgsoo.tistory.com해당 문제와 동일한 방식으로 푸는 문제이다.. 아마 입출력만 바뀐듯.. import java.util.*;import java.io.*;public class P22.. 2025. 6. 13. [프로그래머스] 아이템 줍기 - Java https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ⭐️ 중요 포인트1. 사각형의 외부 테두리와 내부를 구별해서 보드를 채워야 한다. (나중에 겹치는 부분을 모두 2로 채우고, 테두리를 1로 설정해서 BFS/DFS를 돌 때 추가적인 체크 없이 1만 따라서 돌 수 있도록 제한하기 위함.)2. 보드에 실제 크기로 선을 따라 칠하면 ㄷ자나 ㄹ자처럼 간격이 좁게 직선이 겹친 구간을 판단하지 못한다. 따라서 2배 업스케일링해서 보드를 칠한 다음에 cnt에서 /2를 한 값을 answer로 출력하도록 해야한다.아래 .. 2025. 6. 13. 이전 1 2 3 4 ··· 19 다음