spring boot 3

[프로젝트 회고] 대용량 데이터 처리 프로젝트(최저 가격 검색 시스템)

프로젝트 개요최근 클라우드 엔지니어링 프로젝트에서 공연 예매 서비스를 고가용성 클라우드 시스템으로 구축했습니다. 이 과정에서 대용량 데이터 처리에 대한 관심이 생겨, 성능 이슈를 파악하고 해결하는 경험을 하고자 이번 프로젝트를 진행했습니다. 개발 환경은 Java 17, Spring Boot 3.3.0을 활용했습니다. 한국소비자원의 생필품 가격 정보 데이터는 약 21만 건의 데이터가 있어 부하 테스트에 적합하다고 판단하여 이 데이터를 사용하기로 결정했습니다. 데이터는 아래 링크에서 다운로드할 수 있습니다.한국소비자원 데이터  프로젝트의 목표는 사용자의 위치나 지정된 지역을 기준으로 최저 가격을 검색하는 기능을 제공하는 것이었습니다. 시/도, 구, 동 단위로 검색하여 최저 가격으로 구매할 수 있는 곳을 쉽게..

Project 2024.08.11

[Spring Boot] Lombok

Intro Spring Boot를 사용하면서 Lombok을 너무나 당연하게 써왔다. JPA의 필수 도구인 Lombok에 대한 강의를 들으면서 Annotation의 의미, 활용법과 어떤 원리로 쓰이는지 잘 이해할 수 있었다. Lombok JPA의 필수 도구. 여러 개의 field 변수를 가지고 캡슐화 원칙에 의해 Getter, Setter를 많이 만들어야 하는 JPA의 특성상, 꼭 필요한 라이브러리이다. c.f. JPA와는 별개의 라이브러리이다. JPA에서의 Entity 기본 구조 field 변수와 Getter, Setter의 조합으로 만들어진다. Lombok Annotation이 원래는 어떤 형태일까? domain package를 만들고 하위에 User 클래스를 만들었다. Lombok, Delombok은..

Java 2023.10.24

[코드스테이츠] Day06 BE

학습 목표 Blog API 개발 H2(DB) - in memory Spring data JPA 실습 안내 새 프로젝트를 만들고, Blog API, JPA를 실습한다.(H2 DB 사용) 1차시(실습) 새 프로젝트 만들기(dependencies 추가) 2차시(개념) JPA Java Persistence(DB와 관련) API DB 통신을 할 때 DB에서는 query 방식을 권장한다. ORM(Object Relational Mapping) Framework Spring Boot로 만든 Application ↔ DB와 통신 directly하게 통신하지 않고 Hibernate를 통해서 JDBC를 해석한다. e.g. MySQL을 PostgreSQL[포스트그레스큐엘]로 바꿀 때 유지보수성 향상. JPA는 원론적인 기술..

TIL 2023.07.03