본문 바로가기

전체 글61

Real MySQL 8장 인덱스 데이터베이스의 디스크 읽기 방식과 인덱스 기초데이터베이스 성능에서 가장 중요한 것은 디스크 I/O를 어떻게 최소화하느냐입니다.1. 디스크 저장 매체의 특성HDD vs SSD하드 디스크 드라이브(HDD)기계식 저장 장치데이터베이스 서버의 주요 병목 지점디스크 헤더의 물리적 이동 필요랜덤 I/O 성능이 상대적으로 낮음솔리드 스테이트 드라이브(SSD)전자식 저장 장치HDD와 동일한 인터페이스 지원HDD 대비 약 1000배 빠른 속도랜덤 I/O 성능이 월등히 우수초당 트랜잭션 처리량: HDD(60개) vs SSD(436개)성능 비교구분 HDD SSD순차 I/O 우수 매우 우수랜덤 I/O 매우 느림 우수내구성 우수 제한적가격 저.. 카테고리 없음 2025. 1. 20.
JPA @ElementCollection으로 레시피 데이터 모델링 개선하기 레시피 서비스를 개발하면서 가장 큰 고민 중 하나는 레시피의 이미지와 조리 단계를 어떻게 저장하고 관리할 것인가였습니다. 초기에는 JSON 문자열로 저장했지만, 이는 여러 문제를 일으켰습니다. 이번 글에서는 @ElementCollection을 활용한 데이터 모델 개선 과정과 그 효과를 공유하고자 합니다.초기 구현의 문제점처음에는 단순히 JSON 문자열로 저장했습니다@Entitypublic class Recipe { @Column(length = 4000) private String recipeImagesJson; // ["url1", "url2", ...] @Column(length = 4000) private String recipeManualsText; // "step1,step.. 카테고리 없음 2025. 1. 17.
JPA 검색 쿼리 최적화로 검색 성능 개선하기 레시피 검색 서비스를 개발하면서 가장 큰 고민은 사용자들이 원하는 레시피를 얼마나 잘 찾을 수 있게 하느냐였습니다. 초기 버전에서는 단순 문자열 일치 검색만 지원했지만, 이는 여러 한계점을 가지고 있었습니다. 이번 글에서는 검색 쿼리를 어떻게 개선했고, 그 효과를 어떻게 측정했는지 공유하고자 합니다.초기 문제점처음에는 단순한 정확 일치 검색을 구현했습니다public List findByRecipeNm(String keyword) { return recipeRepository.findByRecipeNm(keyword);}이 구현의 한계점"김치찌개"를 검색하려면 정확히 "김치찌개"라고 입력해야 함대소문자를 정확히 맞춰야 함 ("Kimchi" ≠ "kimchi")연관된 결과를 찾을 수 없음 ("김치" 검.. 카테고리 없음 2025. 1. 16.
UUID를 활용한 다중 이미지 업로드 시스템 개선기 레시피 공유 플랫폼을 개발하면서 가장 큰 도전 과제 중 하나는 다중 이미지 처리였습니다. 한 레시피당 여러 장의 조리과정 사진이 필요했고, 이를 효율적으로 관리해야 했습니다. 이 글에서는 이미지 업로드 시스템을 어떻게 개선했는지 공유하고자 합니다.초기 구현의 한계처음에는 단순히 하나의 이미지만 처리하는 방식으로 구현했습니다private String uploadImageToS3(MultipartFile image) throws IOException { String fileName = image.getOriginalFilename(); return amazonS3Service.uploadImage(image, fileName);} 이 구현의 문제점은원본 파일명을 그대로 사용하여 파일명 충돌 위험이.. 카테고리 없음 2025. 1. 16.
네이버 부스트캠프를 마치며(9기, 웹모바일) 오늘은 6개월간의 긴 부스트캠프 일정을 마치고 난 후기를 작성하려고 합니다. 1차 문제 해결력 테스트, 2차 문제 해결력 테스트, 챌린지 + 3차 문제 해결력 테스트 총 3번의 테스트를 거쳐 멤버십 과정에 합격했습니다. 부스트캠프 지원부스트캠프에 지원하게 된 계기에 대해 먼저 말씀드리겠습니다. 올해 4학년이 된 저는 아무것도 모르던 시절에 처음 Spring Boot를 접해본 인턴 경험 한 번과, 그 경험을 바탕으로 졸업 작품을 만들어본 경험밖에 없어서 할 줄 아는게 아무것도 없었습니다. 그래서 취업전에 목표는 부트캠프를 하나 수료하여 공부하는 법을 배우고, 인맥도 늘리는 것이었습니다. 그렇게 저는 소프트웨어 마에스트로, SSAFY, 네이버 부스트캠프, 우아한 테크 코스 등의 부트캠프 후기를 엄청 찾아 보.. 카테고리 없음 2025. 1. 15.