728x90 Spring30 [SpringBoot Redis Sample] Redis 를 활용한 최근 검색 캐시 데이터 설계 및 개발 (테스트코드 와 부하테스트 까지) SpringBoot Redis Sample🚦 Overview예제에서 사용된 모든 코드는 GitHub 저장소에 공개되어 있습니다https://github.com/freelife1191/springboot-redis-sample.git회사에서 각 카테고리/검색타입 별 최근 검색 데이터를 저장/수정/조회/삭제할 필요성이 있어 최근 검색 기능을 개발최근 검색 카테고리AIR: 항공 카테고리HOTEL: 숙소 카테고리TOACT: 투어&액티비티 카테고리PLACE: 여행지 찾기(플레이스) 카테고리PACKAGE: 패키지 카테고리)최근 검색 검색타입AIR: 항공CITY: 도시HOTEL: 숙소KEYWORD: 키워드CATEGORY: 카테고리PRODUCT: 상품PLACE: 플레이스AREA: 지역📌 필수 조건빠른 처리 속도가 .. Spring 2024. 7. 14. [SpringBoot MongoDB Sample] MongoDB 데이터 구조 설계에 따른 서비스 구현 및 테스트 코드 작성 SpringBoot MongoDB Sample예제에서 사용된 모든 코드는 GitHub 저장소에 공개되어 있습니다https://github.com/freelife1191/springboot-mongodb-sample.git🚦 Overview검색 기능 개발을 위해 데이터 관리의 유연함과 Expired 처리 그리고 조회 성능 개선을 위해 MongoDB를 도입하기 위한 Sample 구성Sample 구성은 Testcontainers를 통해 구성 및 테스트를 완료 하였으며 Built-in Testcontainers Support in Spring Boot 내용을 참고함AWS DocumentDB의 Current 버전은 MongoDB 5.0 이고 MongoDB Release 버전은 7.0 이지만 5.0 이상의 버전에.. Spring 2024. 7. 1. [SpringBoot MongoDB Sample] AWS DocumentDB, DynamoDB 비교 및 MongoDB 데이터 구조 설계 AWS DocumentDB(MongoDB) 데이터 구조 설계🚦 데이터 설계 요건최근 검색, 최근 조회 공통 요건최대 200건 까지 저장이 되어야 하고 성능에 이슈가 없어야됨최근 검색, 최근 조회와 조합해서 조회해야되며 성능에 이슈가 없어야됨member_no, idvisitor 별로 데이터를 조회해야됨비회원 데이터는 30분 후 Expire 되어서 노출이 되지 말아야 하며 로그인시 회원 데이터에 Merge 되어야 함회원 데이터는 최대 1년간 보관되어야 됨별도의 배치작업 없이 Expire에 의해 데이터가 정리되어야 함최근 검색개요각 카테고리별 최근 검색을 최대 10개까지 저장저장/수정/삭제가 매우 빈번하게 일어나고 검색 데이터 처리를 위해 매우 빠른 성능을 요하므로 Redis 만으로 캐시 처리최근 조회개요최.. Spring 2024. 7. 1. [SpringBoot MongoDB Sample] AWS Document DB 개발환경 셋팅 + MongoDB Compass Aggregation 테스트 Document DB 개발환경 셋팅 Sample Code를 작성하기 전에 AWS DocumentDB 로 개발환경을 셋팅해서 진행했던 내용을 정리AWS Document DB의 경우 기본적으로 Private 도메인만 제공되므로 로컬에서는 AWS SSM을 통해 port forwarding 하여 접속참고https://findstar.pe.kr/2022/09/03/accessing-private-rds-instance-using-ssm/🚦 개발 환경 설정Mongo Shell 접속 명렁어$ mongosh --host test-dev-docdb.cluster-cueokyhf6yae.ap-northeast-2.docdb.amazonaws.com:27017 --username username --password pas.. Spring 2024. 7. 1. [배워서 바로 쓰는 스프링 부트2] 1.3 예제 프로젝트의 구성 1.3 예제 프로젝트의 구성 한빛미디어 예제 다운로드: https://www.hanbit.co.kr/lib/examFileDown.php?hed_idx=4599 원본 저자 GitHub: https://github.com/miyabayt/spring-boot-doma2-sample spring-boot-doma2-sample ├── build.gradle - 부모 프로젝트의 빌드 스크립트 ├── sample-common - 공통으로 사용하는 유틸리티를 관리하는 모듈 ├── sample-domain - 도메인 객체를 관리하는 모듈 ├── sample-web-base - 웹 모듈의 공통 기능을 관리하는 모듈 ├── sample-web-front - 최종 사용자용 웹 애플리케이션 ├── sample-web-ad.. Spring 2020. 9. 5. [배워서 바로 쓰는 스프링 부트2] 1.2 웹 애플리케이션 개발 1.2 웹 애플리케이션 개발 개발자 도구 스프링 부트는 spring-boot-devtools 모듈을 제공 이 모듈은 JVM 핫 스와핑과는 다른 방식으로 애플리케이션 개발의 효율성을 높여줌 spring-boot-devtools를 의존관계에 추가하기(build.gradle) configurations { developmentOnly runtimeClasspath { extendsFrom developmentOnly } } dependencies { developmentOnly "org.springframework.boot:spring-boot-devtools" } 디폴트 속성 spring-boot-devtools는 자동으로 캐시를 비활성화하는 개발 환경 설정을 적용 DevToolsPropertyDefault.. Spring 2020. 9. 5. [배워서 바로 쓰는 스프링 부트2] 1.1 스프링 부트의 기초 1.1 스프링 부트의 기초 스타터: 의존관계(dependency)를 간단하게 정의하는 모듈 빌드 도구: 버전 해결 등 개발을 효율화하는 플러그인 구성 클래스: XML이 아닌 애너테이션과 자바로 설정을 작성 자동 구성: 디폴트 구성이 적용되며 필요한 부분만 설정하면 됨 메인 애플리케이션 클래스: 자바 명령으로 내장된 톰캣을 실행 설정 파일: 속성을 외부 파일에 정의할 수 있으며 동작 사용을 쉽게 변경할 수 있음 빌드도구 그레이들은 스크립트를 작성하는 빌드 도구이므로 아파치 앤트처럼 작업을 자유롭게 작성할 수 있다 멀티 프로젝트를 구성할 때 하위 프로젝트에 대해 일괄로 설정하고 필요에 따라 개별적으로 설정할 수 있어 스크립트의 작성량이 메이븐보다 적다 메이븐은 특수한 처리가 필요할 때 독자적인 플러그인으로 .. Spring 2020. 9. 5. [SpringBoot HikariCp] HikariCP 속성 설정 가이드 [HikariCp Preperty] https://effectivesquid.tistory.com/entry/HikariCP-세팅시-옵션-설명 http://blog.naver.com/PostView.nhn?blogId=hanajava&logNo=221570132498&parentCategoryNo=40&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView auto-commit (default : true) connection이 종료되거나 pool에 반환될 때, connection에 속해있는 transaction을 commit 할지를 결정 connection-timeout(default: 30000 - 30 seconds) pool에서 커넥션을 얻어오.. Spring 2020. 6. 20. [Java] Spring 리소스(Resource) 파일 읽어오기, 다운로드 코틀린이 필요하다면 링크 참조: https://freedeveloper.tistory.com/465 [Kotlin] Spring 리소스(Resource) 파일 읽어오기, 다운로드 https://freedeveloper.tistory.com/193?category=808728 Spring, Java 리소스(Resource) 파일 읽어오기, 다운로드 Spring, Java 리소스(Resource) 파일 읽어오기, 다운로드 Maven 또는 Gradle 기반 프로젝트는 /s.. freedeveloper.tistory.com Maven 또는 Gradle 기반 프로젝트는 /src/main/resources 디렉토리에 리소스 파일을 저장하도록 되어 있다 이 디렉토리에 위치한 파일들은 .jar 파일로 빌드시 최상위인 .. Spring 2020. 3. 19. [스타트 스프링 부트] 4-2. Spring MVC and Web Security 스타트 스프링 부트 포스팅 참조 정보 GitHub 공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다 해당 포스팅에 대한 내용의 GitHub 주소 실습 내용이나 자세한 소스코드는 GitHub에 있습니다 포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다 https://github.com/freespringbook/start-spring-boot-study/tree/chap04-02-security-spring_mvc_web_security 해당 포스팅 참고 서적 URL https://book.naver.com/bookdb/book_detail.nhn?bid=12247655 SpringBoot Version 책이 출간된지 좀 지나고 공부를 해서 가장 최신의 버전으로 .. Spring 2019. 10. 6. [스타트 스프링 부트] 4-1. Spring Web Security 스타트 스프링 부트 포스팅 참조 정보 GitHub 공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다 해당 포스팅에 대한 내용의 GitHub 주소 실습 내용이나 자세한 소스코드는 GitHub에 있습니다 포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다 https://github.com/freespringbook/start-spring-boot-study/tree/chap04-01-security-spring_web_security 해당 포스팅 참고 서적 URL https://book.naver.com/bookdb/book_detail.nhn?bid=12247655 SpringBoot Version 책이 출간된지 좀 지나고 공부를 해서 가장 최신의 버전으로 실습을 .. Spring 2019. 10. 6. [스타트 스프링 부트] 3-7. REST 방식의 댓글 처리와 JPA 처리 스타트 스프링 부트 포스팅 참조 정보 GitHub 공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다 해당 포스팅에 대한 내용의 GitHub 주소 실습 내용이나 자세한 소스코드는 GitHub에 있습니다 포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다 https://github.com/freespringbook/start-spring-boot-study/tree/chap03-02-05-rest-list_reply_count 해당 포스팅 참고 서적 URL https://book.naver.com/bookdb/book_detail.nhn?bid=12247655 SpringBoot Version 책이 출간된지 좀 지나고 공부를 해서 가장 최신의 버전으로 실습을 진행함 .. Spring 2019. 10. 6. 이전 1 2 3 다음 💲 추천 글 728x90