SpringBoot+JPA 게시판

[SpringBoot + JPA 게시판 만들기] 게시판 페이징 및 N+1문제 최적화 ( Pageable, join fetch )

🤔 페이징(Paging)?많은양의 데이터가 데이터베이스에 저장되어 있고, 정장된 모든 데이터를 한번에 응답하려면 페이지 로딩 시간이 길어지며 사용자가 페이지를 스크롤 하거나 데이터를 찾는데 어려울 수 있습니다. 이러한 성능과, 사용자 경험을 향상시키기 위해 페이징을 사용하여 전체 데이터를 한번에 표시하지않고, 여러 페이지로 나누어 표시하는 기법입니다.  ✔ PageableSpring Data 에서는 페이징 처리를 간편하게 할 수 있도록 Pageable Interface를 제공합니다.구현체로 PageRequest class를 사용합니다. 🔎 PageRequestpackage org.springframework.data.domain;import org.springframework.lang.Nullable..

문제

[BOJ/JAVA] 백준 12865번 평범한 배낭 ( DP )

✔ 문제 난이도 : 골드5 🥇 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net N개의 물건이 주어질때 각 물건은 무게 W와 가치V를 가지는데, 해당 물건을 배낭에 넣어서 가면 V만큼 즐길 수 있습니다. 하지만 K만큼의 무게만 넣을 수 있는 배낭만 들고 다닐 수 있습니다. 이때 최대한 즐거운(가치가 높은) 여행을 하기 위해 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 구하는 문제..

자료구조

[자료구조] 해시 테이블(Hash Table) 이해와 구현 with 자바

🤔 해시?, 해시 테이블(Hash Table)? 해시 테이블을 알아보기 전에 해시(Hash)에 대해서 알아보겠습니다. 📌해시(Hash) 임의의 길이의 데이터를 고정된 길이의 값으로 매핑한 값을 말하며 해시 함수에 의해 매핑됩니다. 이때 매핑 전 원래 데이터를 키(Key), 매핑 후 고정된 길이의 값을 해시, 해시값(hash value) 매핑하는 과정을 해싱(hashing)이라고 합니다. 해시 함수에 의해 매핑된 해시값은 배열의 인덱스로 사용되고, 인덱스를 사용하여 값을 저장하거나 검색하게 됩니다. 📌 해시 테이블(Hash Table) '저장된 자료의 양에 상관없이 평균 상수 시간 작업이 가능하게 할 수는 없을까?' 라는 질문을 시작으로, 자료를 검색, 삽입, 삭제하는 데 평균 O(1) 시간(상수시간)이 ..

CS

[Java] 가비지 컬렉션(Garbage Collection, GC)이란 무엇일까요?

🤔 가비지 컬렉션, GC? 자바의 메모리 관리 방법으로, JVM(자바 가상 머신)의 Heap영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체(Garbage)를 모아 주기적으로 제거하는 프로세스를 말합니다. C, C++ 같은 언어는 GC가 없기 때문에 개발자가 직접 메모리 할당과 해제를 해주어야 합니다. 하지만 자바는 개발자가 직접 해제하지 않고 GC에 의해 메모리를 관리하기 때문에 개발에만 집중할 수 있다는 장점이 있습니다. GC는 메모리를 자동으로 관리해주지만, 메모리가 언제 해제되는지 정확하게 알 수 없어 제어하기가 힘듭니다. 또한 GC가 동작하는 동안에는 다른 동작을 멈추기 때문에 오버헤드가 발생되는 문제가 있습니다. 이러한 점들로 상황에 따라 프로그램의 성능이 하락시킬 수 있어 프로..

문제

[BOJ/JAVA] 백준 1890번 점프 ( DP )

✔ 문제 난이도 : 실버1 🥈 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net NxN 게임판에 수가 적혀 있습니다, 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가야 합니다. 각 칸에 적혀 있는 수만큼 오른쪽 또는 아래쪽으로 갈 수 있습니다. ( 아래로 점프, 오른쪽으로 점프 두 경우만 존재 ) 가장 왼쪽 위 칸에서 가장 오른쪽 아래칸으로 규칙에 맞게 이동할 수 있는 경로의 개수를 구하는 문제입니다. ✔ 문..

장용석
dot