분류 전체보기(137)
-
Jpa Save vs SaveAll 성능 차이 체감해보기
프로젝트를 진행하면서 JPA의 save와 saveAll 메서드를 사용해 데이터를 저장하게 됩니다. 일반적으로 100개 미만의 데이터를 저장할 때는 두 메서드 간의 성능 차이를 크게 느끼지 못할 수 있습니다. 그러나 대량의 데이터를 저장할 때는 두 메서드의 성능 차이가 매우 크다는 점을 확인할 수 있었습니다. 이번 글에서는 이 차이에 대해 살펴보고 각각의 사용 시 주의해야 할 점을 정리해 보겠습니다. Save vs SaveAll 차이점 save와 saveAll의 가장 큰 차이는 트랜잭션의 생성 방식과 처리 방식에 있습니다.동작 방식: 데이터를 하나씩 저장하며, 호출될 때마다 별도의 트랜잭션을 생성하여 처리합니다.특징: N개의 데이터를 저장할 경우 N번의 트랜잭션이 생성됩니다.동작 방식: 한 번의 트랜잭션 ..
2025.01.11 -
Redis Cluster 모드 생성 및 배포 (feat: redis Redisson, Synology NAS, Spring boot Cache 연동)
목차Redis Cluster 란?Redis Cluster 로컬환경 배포Redis Cluster 클라우드 환경 배포redis.conf 파일 수정redis 연결 테스트spring boot 캐싱 테스트 Redis Cluster 란? 여러개의 master를 두고 데이터를 분산 저장하며 수평적인 확장을 가능하게 만들어 준다. 즉 서버의 필요 상태에 따라 저장 공간을 늘리거나 줄이는 것이 용의하다. 각각의 마스터들에는 하나 이상의 slave가 매핑될 수 있으며 해당 slave는 master 상태가 비정상적인 경우 master로 승급되며 이전 데이터 상태를 유지하며 다시 redis 서버가 중지 없이 가동 될 수 있게 만들어 준다. Redis Cluster 로컬환경 배포 3M - 3S 먼저 로컬 환경에는 redis ..
2025.01.06 -
Redis 운영 방식 3가지 Standalone, Sentinel, Cluster의 장단점
Redis 운영 방식에는 크게 Standalone, Sentinel, Cluster 3가지가 존재한다. 대부분의 토이프로젝트에서는 간단한 Standalone 방식을 이용해 배포해 캐싱 작업을 수행한다. Redis Standalone 모드 단일 인스턴스로 단일 서버에서 Redis를 실행하며, 별도의 백업 노드 없이 동작한다.별도의 설정과 구조 변경 없이 바로 사용이 가능해 쉽게 사용가능하다.단일 인스턴스 서버이므로 장애가 발생시 데이터 손실 가능성이 생기며 별도의 복구 메커니즘이 존재하지 않습니다. Redis Sentinel 모드Redis의 노드간의 마스터 - 슬레이브 구조를 가진다. 이를 통해 장애가 발생하면 슬레이브 중 하나를 새로운 마스터로 승격시켜 서비스를 유지 시킨다.복잡한 클러스터 설정 없이도 ..
2024.11.29 -
PostMan을 이용한 Auth2.0 KAKAO Login Test
사전 준비 사항 Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.comClient id: 앱 설정 -> 앱 키 -> REST API 키Client Secret: 제품 설정 -> 보안 -> 키 발급요청 링크 : https://kapi.kakao.com/v2/user/me Authorization 설정Auth Type : OAuth 2.0Add authorization data to : Request Headers Confugure New Token Token Name : 저장할 토큰 이름 ( 아무거나 입력 )Grant type : Authorization ..
2024.11.27 -
[프로그래머스 - JAVA] 아이템 줍기
문제 설명 다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다. 지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다.만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다. 단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다.즉, 위 그림처럼 서로 다른 두 직사각형이 꼭짓점에서 만나거나, 변이 겹치는 경우 등은 없습니다.다음 그림과 같이 지형이 2개 이상으로 분리된 경우도 없습니다.한 직사각형이 다른 직사각형 안에 완전히 포함되는 경우 또한 없습니다.지형을 나타내는 직사각형이 담긴 2차원 배열 rec..
2024.10.11 -
[2294 - JAVA] 동전 2
문제 n가지 종류의 동전이 있다. 이 동전들을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그러면서 동전의 개수가 최소가 되도록 하려고 한다. 각각의 동전은 몇 개라도 사용할 수 있다.입력 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어질 수도 있다.출력 첫째 줄에 사용한 동전의 최소 개수를 출력한다. 불가능한 경우에는 -1을 출력한다. 3 151512 예제 값을 이용해 점화식을 구해야 한다. 3개의 동전이 15가 되는 경우 동전의 수를 구하는 표를 작성해보자 DP | 0 1 2 3 4 5 6 ..
2024.10.06