[Spring Boot] 지도 서비스 대용량 DB 조회 성능 개선
·
Trouble Shootings/성능 개선
문제 상황소프티어 부트캠프 5기에 참여해서 개발한 팀 프로젝트에서,대학생을 위한 버스 쉐어링 예매 서비스를 개발했다.  서비스의 큰 특징은 유저가 원하는 탑승지를 설정할수 있다는 것이다.후에 어드민이 버스 노선을 배차해준다. (버스의 정원은 15명 이기 때문에, 최대 15명의 유저를 경유하도록 노선을 배차해준다) 노선을 배차해줄때는, TMAP의 경유지 최적화 api를 이용하였다.https://openapi.sk.com/products/detail?linkMenuSeq=38 SK open API장소 장소 검색 장소 통합 검색 장소 상세 정보 검색 주변 카테고리 검색 읍면동/도로명 검색 지역 분류 코드 검색 경로 반경 검색 지오펜싱 공간 검색 영역 검색 지오코딩 Reverse Geocoding Geocodi..
[Spring boot] Spring AOP - CGLIB Proxy vs Dynamic Proxy
·
Backend/Spring Boot
문제 상황usecase를 작성중 , 메소드에 @Transactional 컴포넌트를 붙이자 오류가 발생하였다 나는 이 class를 다른 클래스에 상속한 적이 없었는데, 오류 메세지를 보니 해당 클래스는 implicitly subclassed이기 때문에 open 키워드를 명시해주어야 한다고 적혀있다.즉 , 이 클래스가 나중에 상속될 가능성이 있는 클래스라는 것이다.메소드에 @Transactional 어노테이션을 제거하면, 오류가 사라지는것을 보아, 해당 문제의 원인이 @Transactional이라고 생각을 했다.  문제 원인어노테이션에 적용되는 Spring AOP의 내부적인 구조를 알게 되면 이 문제의 원인을 알 수 있다. Spring AOP는 Proxy패턴을 기반으로 동작하는데, 런타임시 동적으로 프록시 ..
[Spring Boot] Spring AI + Google vertex ai gemini 이미지 처리하기
·
Backend/Spring Boot
https://spring.io/projects/spring-ai Spring AISpring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain. Feaspring.io   Spring AI란 Spring에서 만든,  여러가지 Generative AI(GPT, gemini 등등..)을 Spring Framework에 쉽게 ..
[Spring boot] Spring Security 이용해 회원가입 구현
·
Projects/web
처음 시작은 가장 구조가 직관적인 계층형 구조로 프로젝트를 시작하였다.     나는 프로젝트 구조를 다음과같이 구성했다.      >> controller/RegisterController.javapackage com.kjs990114.goodong.controller;import com.kjs990114.goodong.dto.UserDTO;import com.kjs990114.goodong.service.RegisterUserService;import lombok.RequiredArgsConstructor;import org.springframework.dao.DataIntegrityViolationException;import org.springframework.http.HttpStatus;impor..