본문 바로가기

Spring boot6

[spring boot/maven/logback/log4j2] spring boot 로그(log) 설정하기 spring boot 프레임워크 생성 중 에러 발생.SLF4J(W): Class path contains multiple SLF4J providers.SLF4J(W): Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@c540f5a]SLF4J(W): Found provider [org.apache.logging.slf4j.SLF4JServiceProvider@770c2e6b]SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation. 이는 로그 라이브러리가 충돌하여 발생하는 에러로spring boot 의 기본 로그 라이브러리 logback 과 lo.. 2025. 3. 17.
[spring boot] tomcat 에러 페이지 설정 ( 외장 톰캣을 사용하는 경우 ) 프로젝트 진행중 모의 해킹 테스트때 발생한 이슈이다.요청 경로나 파라미터에 특수문자 등을 넣어서 요청했을 경우 내가 설정한 예외 처리 가 나와야 한다. 예외처리는 spring boot 에서 다음처럼 처리하였다.@RequiredArgsConstructor@RestControllerAdvicepublic class GlobalExceptionHandler {... 하지만 url 의 파라미터에 특문을 넣고 요청했을때 톰캣의 400 에러 페이지가 응답하면서 서버의 정보가 노출되었다나는 원인을 파악하기 위해 동일하게 요청을 해보았지만 톰캣 에러페이지가 아닌 validation 예외 처리를 반환한다. 로컬에서는 해당 상황이 재현되지 않았고 개발서버, 검수서버 와 같이 배포 했을때 해당문제가 발생했다.이것때문에 좀 .. 2024. 11. 18.
[java/spring boot/transaction] 트랜젝션 수동 제어 시 주의사항 프로젝트 에서 고객의 요청으로 테이블 특성별로 나눠 DB를 두개의 스키마로 나눠 사용하게 되었다.서비스에서 A스키마에 있는 테이블만 사용한다면 어노테이션으로 간단히 트랜젝션을 제어하면 되지만당연히 두개의 스키마를 사용하게 되는 로직이 있었다. 이때는 수동으로 제어하는 다음과 같은 방법을 사용했다.private final PlatformTransactionManager manager1;private final PlatformTransactionManager manager2;...TransactionStatus Aschm = manager1.getTransaction(new DefaultTransactionDefinition());try {...DAO.스키마A 사용 로직...manager1.commit(As.. 2024. 11. 6.
[spring boot, swagger] 스웨거 cors 문제 해결 postman 등 으로 api 요청시에는 정상요청이 되지만 스웨거에서 테스트 했을 때 cors 에러가 나는 경우 .yml 과 같은 스웨거 설정에 요청시 요청서버 url 과 서버의 url 이 달라서 발생할 수 있다.    스웨거에서 api 를 실행하면 위 servers 에 설정된 주소에서 요청되기 때문에 만약 위 두개의 주소가 다르면 cors 에러가 발생한다. springdoc 설정에서  springdoc.servers. 설정의 url 을 확인해 주자. 2024. 10. 23.
[spring boot/python/llama2/docker] spring boot 프로젝트에 LLM (llama2) 사용해보기 - 0 서론 AI 산업이 커지고 있음을 느낀다. 나도 한번 AI 를 사용해보고 싶어졌다. chat GPT API 말고 로컬에서 돌아가는 언어 모델로 직접 서비스를 만들어 보고 싶다. 찾아보니 Llama2 라는 오픈소스 LLM 이 있다. -> meta의 llama2 대형 언어 모델인 만큼 학습시킬때 NVIDIA A100 GPU 를 사용한다고 한다. ( 2천만원대... ) 그래도 걱정말자 노트북에서도 실행할 수 있는 방법이 많이 있는 것 같다. 바로 삽질을 시작해 보자. 구성 나는 회사에서 서비스를 spring boot 로 개발하고 싶어하기 때문에 spring boot로 WAS를 구성해볼 생각이다. 그리고 모델에게 질문/응답을 vector 형식으로 해보라고 요청을 받았다. ( 아직 vector 형식이 무엇인지 자세.. 2024. 3. 13.
[spring] 자바 프로젝트 빌드 도구 Maven, Gradle 자바 프로젝트 빌드 도구 Maven과 gradle 은 자바 프로젝트의 의존성 관리, 빌드 프로세스 자동화 하는데 사용되며 프로젝트의 라이브러리 관리, 빌드, 테스트, 패키징 등의 과정을 단순화하고 표준화 해준다. Maven Apache Software Foundation에서 개발. 프로젝트 객체 모델(POM, 빌드 옵션 설정)을 XML 파일 형식으로 사용한다. ( pom.xml ) 프로젝트의 의존성을 XML 파일을 통해 관리하고 필요한 라이브러리를 자동으로 다운로드 한다. Gradle Groovy 기반의 빌드 도구. Maven의 XML 기반 구성 대신 Groovy 또는 Kotlin DSL(Domain Specific Language)을 사용하여 빌드 스크립트를 작성한다. 성능과 유연성을 중시하여 대규모 .. 2024. 2. 28.