springboot 4

build.gradle 에서 lombok 버전 충돌 오류 ( feat. java 17 사용 )

개발환경 IDE : intelliJ FrameWork : springboot 3.2.2 Launguage java 17 DB : h2 자바 8을 사용하다가 ( 새로 패키지를 만들기 귀찮아서 기존에 쓰던 패키지 설정 파일을 복붙했더니 ) 17로 업그레이드 하는 과정에서 아래 오류가 발생했다. java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x7d419a17) cannot access class cohttp://m.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compi..

Dev/Springboot 2024.02.20

SpringBoot + JPA 환경에서 RestAPI 생성시 고려해야할 것들

회사에서 API 를 직접 생성해서 제공하고, 외부 API 를 가져와서 데이터를 파싱하는건 아주 흔한일이다. 처음에 지식이 없는 상태로 구축을 진행하게 되면, 유지보수 때 아주 힘들 수 있으므로 처음 개발을 진행할 때 항상 염두에 두어야 하는것들을 정리했다. 1. DTO 를 따로 만들자 Entity 는 여러군데에서 쓰기 때문에 변화가 많다. 따라서 외부에서 쓸 때 변화가 없는 request / response dto 를 따로 만들어서 작업하도록 하자. 실제로 유지보수할 때, 응답에 포함되는 responseBody 항목이 바뀌면 관련된 가이드 문서부터 시작해서 내가 제공한 사이트에서 나는 오류발생시 대응등.... 불편한점이 한두가지가 아니다. 그러므로 반드시 규격화된 DTO 를 생성하여 Entity 가 변경..

Dev/Springboot 2024.01.29

개인프로젝트_UKmedicine_1

요구 사항 회사에서 일할때도 느꼈던거지만 사실 기능을 구현하고 만드는것 보다는 고객의 요청사항을 파악하고 그것을 구체화 하는것이 가장 중요하다. 아무리 개발 실력이 좋아도 무엇을 어떻게 구현해야할지 정의가 되어 있지 않다면 결과물 또한 모호해지기 때문이다. 간단한 게시판으로 만들겠지만 그래도 기본적인 기능은 정의하고 가면 좋을 것 같아서 게시판의 성격과 주요 기능을 정의 하고자 한다. 1. 로그인은 구현하지 않는다. 2. 주료 사용되는 재료 항목과 재료를 통해 만들 수 있는 레시피를 검색할 수 있다. 3. 재료는 등록/삭제/수정 할 수 있다. 4. 레시피는 등록된 재료를 검색하여 등록/삭제/수정할 수 있다. 5. 레시피 조합하기 버튼을 누를 경우 해당 약재에 필요한 물의 총량이 도출 되어야 한다. 6. ..

Dev/Toy Project 2023.12.11

Spring Boot actuator 와 함께 프로메테우스와 그라파나 사용해보기

실습환경 - macOS 13.4 Spring Boot 1. build.gradle 파일에 prometheus 라이브러리 추가 한다. implementation 'io.micrometer:micrometer-registry-prometheus' // 추가 2. 추가 후 프로젝트를 재기동 한 뒤 http://localhost:8080/actuator/prometheus 호출하여 라이브러리가 잘 반영되었는지 확인 할 수 있다. 프로메테우스 1. 프로메테우스 다운로드 하기 https://prometheus.io/download/ 상단링크에서 다운로드 후 설치 위치에서 하단 명령어를 실행 한다. $ ./prometheus 명령어 실행 후 http://localhost:9090 으로 접속시 아래와 같이 관리자 화면..

Dev/Monitoring 2023.12.01