분류 전체보기

·FRAMEWORK/Spring
들어가기 전에 enum값을 지칭하는 다른 단어를 통해 enum을 알아내고자 할 때 사용하는 방법입니다. 필자의 경우, 프로젝트를 진행하며 enum을 지칭하는 다른 단어를 통해 들어온 string을 enum으로 변환해야 해서 사용했습니다. 다른 작업을 할 때에도 쓰일 수 있을 것 같아 추후에 보기 위해 간단하게 작성했습니다. enum에 연결된 값을 통해 enum값 알아내기 아래 코드의 fromString(String name) 메소드는 enum값과 연결된 값(A)이 따로 있을 때 A를 통해 enum값을 알아내기 위한 메소드입니다. 해당 메소드를 사용하면 손쉽게 enum값을 반환할 수 있습니다. @Getter @AllArgsConstructor public enum BreadCategoryType { 식사빵..
·FRAMEWORK/Spring
들어가기 전에 프로젝트를 진행하다가 오랜만에 Swagger2를 접근했더니, 로그에 WARN 에러가 잔뜩 쌓인 것을 발견했습니다. 오로지 한 것이라곤 swagger2 접속 뿐이었던터라, swagger2에 의한 exception임을 인지하고 관련하여서 구글링을 하여 찾은 해결법에 대한 포스팅입니다. 해결법 위 현상이 발생한 이유는 swagger2에서 던지는 에러에 대한 핸들링이 제대로 이루어지지 않아서라고 볼 수 있습니다. 이에 따라, swagger 버전은 2.9.2를 쓰되, swagger-models와 swagger-annotation에 대한 버전은 downgrade하여 사용해야 합니다. 아래 항목들 중, swagger-annotation은 따로 지정하지 않아도 위 에러가 발생하지 않는 것을 확인하였으나,..
·DB/PostgreSQL
들어가며 프로젝트를 진행하면서, 지도상의 위치(위도/경도)와 범위(range)값을 받아서 범위 안에 속하는 빵집을 검색 API를 구현해야 했습니다. 현재 사용하고 있는 database는 postgreSQL이어서 postgreSQL의 거리 계산 관련하여 구글링하였습니다. 그 결과, postgreSQL에서 공식적으로 지원하는 earthdistance 모듈을 설치하여 geolocation을 다뤄보기로 했습니다. earthdistance는 지구가 타원형이 아닌 완벽한 구의 형태라고 가정하고 사용하는 모듈이기 때문에, 정밀한 거리 계산이 필요하다면 thirdparty에서 제공하는 postGIS를 쓰는 것도 좋은 방법일 것 같습니다. 단, postGIS는 postgreSQL이 공식적으로 지원하지는 않습니다. ear..
·Server/CLOUD
들어가기 전에Github Action을 통해 Elastic Beanstalk에 SpringBoot 배포하는 부분은 이전 2가지의 포스팅을 통해 완료하였습니다.기존 SpringBoot 프로젝트의 경우 h2 database를 메모리로 올리는 방식을 사용했습니다. 따라서, Github이 public repository라해도 DB 계정을 암호화하지 않아도 문제가 없었습니다. 하지만, 로컬 데이터베이스가 아닌 환경을 이용할 때에는 보안을 통해 접근을 막는다해도 해당 정보를 모든 사람에게 공유하는 것은 좋지 않습니다.이번 포스팅에서는 DB의 username이나 password 등 민감 정보를 application.yml에 작성하지 않고 Elastic Beanstalk의 환경속성에 기입하여 각 환경별로 원하는 값을 ..
·Server/CLOUD
들어가기 전에 해당 글은 Elastic Beanstalk의 기본 세팅이 되어 있다는 가정하에 진행합니다. 만약, Elastic Beanstalk의 어플리케이션 및 환경 구성이 되어 있지 않다면 하기 글을 클릭하여 먼저 구성하고 이 포스팅을 읽는 것을 권해드립니다. 이전 포스팅 [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(1) - EB 기본 세팅 다음 포스팅 [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(3) - EB에 RDS 사용하여 환경속성 통해 application.yml 주입받기 Github Action을 통해 SpringBoot 어플리케이션 EB에 배포하기 이번 포스팅에서 구현하려는 것은 ..
·Server/CLOUD
들어가기 전에 이 포스팅은 SpringBoot 어플리케이션을 Github Action을 통해 Beanstalk에 배포하여 생성된 EC2의 timezone 설정에 대한 글입니다. 따라서, EC2 서버에 직접 접근하여 timezone 변경하는 것이 아닌, SpringBoot 경로 내 존재하는 .ebextensions 디렉토리 내 설정을 추가하는 방식으로 EC2의 timezone을 설정합니다. 따라서, 이 포스팅은 SpringBoot를 통해 Elastic Beanstalk에 배포하여 .ebextensions 설정에 대해 안다고 가정하고 진행합니다. 왜 EC2 서버에서 직접 timezone 설정을 하지 않고 .ebextensions를 이용할까? EC2 서버에서 직접 timezone 설정을 하지 않는 이유는 간단..
·Server/CLOUD
들어가기 전에처음 RDS와 EC2를 사용할 때에 따로 설정하지 않으면 timezone은 UTC로 들어가게 됩니다. 현재 살고 있는 곳과 동일한 시간대여야 추후 crontab 등을 이용하거나, 로그가 남은 시간이 정확히 언제인지 로컬 타임으로 확인할 수 있도록 timezone을 Asia/Seoul로 변경해보고자 합니다. 이번 포스팅에서는 RDS의 timezone 설정하는 법을 알아보겠습니다. 더불어, RDS에 데이터를 넣는 주체인 SpringBoot에 대한 timezone 설정까지 알아보겠습니다.RDS TIMEZONE 설정 하기 - DB 파라미터 그룹 변경RDS를 생성할 때 따로 설정해주지 않으면 RDS의 DB 파라미터 그룹은 default 그룹으로 생성됩니다. default 그룹은 파라미터 값 수정이 안..
·Server/CLOUD
들어가기 전에Elastic Beanstalk을 통해 Springboot CI를 진행하기 위해 Elastic Beanstalk 기본 설정을 진행하였습니다. 다음 포스팅에서는 Github Action을 통해 Elastic Beanstalk에 실 어플리케이션을 배포해볼 것입니다.다음 포스팅[AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(2) - IAM 인증키 Github Action에서 사용하여 배포[AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(3) - EB에 RDS 사용하여 환경속성 통해 application.yml 주입받기Elastic Beanstalk 어플리케이션 및 환경 기본 세팅하기먼저, AWS ..
EARTH_ROOPRETELCHAM
'분류 전체보기' 카테고리의 글 목록 (12 Page)