본문 바로가기

Develop53

saveAll() vs Batch Insert(with JPA, 쓰기 지연) 성능 비교: 영속성 context 관리와 트랜잭션 관리 관점에서 들어가기 전…JPA를 사용해 프로젝트를 진행하던 중 데이터를 한번에 여러개 저장해야하는 경우는 많이 경험했기에 save 를 통해 데이터를 반복적으로 저장하는 것보다 saveAll 이 성능이 좋다는 것을 경험적으로 알 수 있었습니다. 오늘은 save와 saveAll의 코드를 분석하고 성능차이의 이유를 알아보려고 합니다. (쓰기 지연에 대하여) 또한, saveAll에 hibernate 설정으로 어떻게 JPA로 쉽게 Batch Insert를 적용하는지 알아보고자합니다. 아래는 해당 블로그 글을 적용한 프로젝트입니다.https://github.com/Findy-org/FINDY_BE GitHub - Findy-org/FINDY_BE: Findy, 순간을 찾아 연결하다Findy, 순간을 찾아 연결하다. Contr.. 2024. 10. 31.
심플한 사진 갤러리 정적 웹사이트: GitHub Pages & Jekyll GitHub Pages와 GitHub Actions로 Jekyll 사이트 자동 배포하기 🖼️최근 사진을 찍는게 확실한 취미로 자리잡힌게 느껴져서 여기저기 마음에 드는 사진을 찍으러 다니고 있는데요. 이걸 공유하고 싶다는 욕구가 불쑥 생겨버렸습니다. 그래서 가장 쉽게 공유할 수 있는 방법을 생각하다가 문득 github page라는 최강의(?) 정적 웹사이트 시스템이 생각났습니다. 이런 계기로 저의 취미를 좀더 넓게 공유하고 관리하면 좋겠다는 바람과 함께 만든 사이트를 기록해보고자 합니다.기능이 많은 것도 아니고 어려운 로직이 들어간 것도 아니지만 정말 가볍게 공유하기 좋은거 같아 저 같은 개발도하고 사진도 좋아하는 분들에게 이 글을 바칩니다! 또한 GitHub Pages와 Jekyll을 활용해 온라인 개.. 2024. 10. 26.
Spring Boot에서 Access Token으로 인증 구현하기: Filter, SecurityContext와 @AuthenticationPrincipal활용 들어가기 전@AuthenticationPrincipal을 통해 UserDetails를 받아 실제 DB에 저장된 User를 받아오는 방식을 @LoginUser라는 어노테이션을 통해 쉽게 접근한 경험이 있었습니다access Token을 Filter를 SecurityContext에 저장하고 저장된 유저를 쉽게 얻어오는 방식을 정리해보고자 합니다. 해당 작업을 포함한 프로젝트 주소입니다.https://github.com/Findy-org/FINDY_BE GitHub - Findy-org/FINDY_BEContribute to Findy-org/FINDY_BE development by creating an account on GitHub.github.com Spring Security에서 Access Token.. 2024. 10. 6.
알고리즘 | 백트래킹 | Java 백준[Silver II] 외판원 순회 2 - 10971 [Silver II] 외판원 순회 2 - 10971문제 링크성능 요약메모리: 12984 KB, 시간: 100 ms분류백트래킹, 브루트포스 알고리즘, 외판원 순회 문제제출 일자2024년 9월 29일 16:28:03문제 설명외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자.1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다) 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획.. 2024. 9. 29.
알고리즘 | 백트래킹 | Java 백준[Silver I] 부등호 - 2529 [Silver I] 부등호 - 2529문제 링크 성능 요약메모리: 26648 KB, 시간: 132 ms분류백트래킹, 브루트포스 알고리즘제출 일자2024년 9월 28일 12:51:50문제 설명두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시된 부등호 순서열 A가 다음과 같다고 하자. A ⇒ 부등호 기호 앞뒤에 넣을 수 있는 숫자는 0부터 9까지의 정수이며 선택된 숫자는 모두 달라야 한다. 아래는 부등호 순서열 A를 만족시키는 한 예이다. 3 1 7 0이 상황에서 부등호 기호를 제거한 뒤, 숫자를 모두 붙이면 하나의 수를 만들 수 있는데 이 수를 주어진 부등호 관계.. 2024. 9. 28.
알고리즘 | DFS | Java 백준[Silver II] 유기농 배추 - 1012 [Silver II] 유기농 배추 - 1012문제 링크성능 요약메모리: 13552 KB, 시간: 96 ms분류그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 9월 28일 00:27:07문제 설명차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 .. 2024. 9. 28.