전체 글

웹 사이트의 성능을 높이기 위해서는 여러 기술을 적용할 수 있다. 이 중 백엔드 개발자가 적은 시간을 투자하며 최대 성능 효과를 얻을 수 있는 방법으로 HTTP 압축, 다양한 리소스 최적화 기법(이미지, JS, CSS, 기타 리소스), HTTP 캐싱 등의 방법이 있다. 이 중 HTTP 캐시가 무엇인지와 적용 방법에 대해서 조금 더 자세히 알아보도록 하겠다. 1. 캐시 (Cache) & 캐싱 (Caching) 간단하게 설명하자면 캐시는 자주 사용되는 데이터나 값을 미리 복사해 놓는 임시 장소를 말하고 캐싱은 데이터를 이 캐시 영역에 저장하는 행위를 뜻한다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데..
즉시 로딩 개선현재 프로젝트에서 Writing, Category Entity는 각각 자기 자신과 @OneToOne 연관 관계를 가지고 이는 Eager Loading(즉시 로딩)으로 관리되고 있다.해당 로직을 Lazy Loading(지연 로딩)으로 바꿔 성능 개선을 해보고자 한다.발생 배경동글 서비스에서는 글과 카테고리의 순서를 사용자가 관리할 수 있는 기능을 제공한다.순서를 관리하기 위해서 단방향 연결리스트 구조를 바탕으로 로직을 구현하였다.public class Category { @OneToOne(fetch = FetchType.EAGER) @JoinColumn(name = "next_category_id") private Category nextCategory; ...}..
· etc
1. 코드 편집단축키설명Ctrl + F찾기 창Ctrl + H바꾸기 창Ctrl + A코드 전체 선택Shift + 방향키방향 키에 따라 코드 선택Ctrl + K + F커서가 위치한, 선택된 줄 자동 줄맞춤Ctrl + K + C커서가 위치한, 선택된 줄 주석 처리Ctrl + K + U커서가 위치한, 선택된 줄 주석 제거Ctrl + M + L코드 전체 or 선택된 줄 확장, 축소Ctrl + M + M커서가 위치한 코드를 확장, 축소Shift + Delete커서가 위치한 코드 한 줄 삭제​2. 디버깅단축키설명Ctrl + F5실행Ctrl + F10커서가 위치한 줄까지 실행F5디버깅, 중단점까지 실행F9커서가 위치한 줄에 중단점 생성, 삭제Ctrl + Shift + F9중단점 모두 삭제F10디버깅 모드에서 한 줄씩 ..
토리토리토토
내가 보려고 정리하는 블로그