업무를 진행하면서 다양한 배포 환경에서 설정 파일을 다르게 적용해야 하는 경우가 생깁니다. 저희 프로젝트 같은 경우 스프링 실행 시점에 설정 파일을 환경별로 분리할 수 없다는 얘기를 들어서 빌드 파일을 생성할 때부터 프로파일을 지정하는 방법을 선택하였고 해당 과정을 기록하고자 합니다.Spring ProfileSpring Profile 은 런타임 시 지정한 profile 값에 따라 설정 파일을 로드할 수 있습니다. SpringBoot 에서는 기본적으로 실행 시 resources 폴더에서 application.properties(yml)을 찾아 로드합니다.그 다음으로 profile 값이 있다면 application-${profile}.properties(yml) 파일을 찾아 로드합니다.설정 파일 내부의 설정..
업무 중 특정 도메인 객체가 생성되거나 변경되었을 때 이메일 또는 푸시를 전송해야 한다는 요구사항이 생겼고 각 도메인 간 결합을 낮추고 여러 도메인에서 사용할 수 있도록 하기 위해 이벤트 방식을 적용하기로 하였습니다. 이벤트 방식을 적용하면서 알게된 내용들을 간단히 정리하고자 합니다. 🙂 1. 스프링 이벤트 [스프링에서 이벤트 발행과 구독] 스프링은 이벤트를 발행하고 구독하는 기능을 제공하고 있는데, 각 로직들을 느슨하게 결합하여 변경 및 추가를 용이하게 하고 재사용성을 높이기 위해 사용합니다. 스프링에서 이벤트를 사용하는 방식은 이벤트를 ApplicationContext로 넘기고 Listener가 이를 구독하는 방식입니다. 따라서 애플리케이션 및 컨텍스트의 수명 주기에 연결되는 사용자 지정 작업을 수행..
이전 글에서는 AWS API Gateway를 WebSocket 형태로 생성하고 기본적인 connect, disconnect 하는 방법을 알아보았습니다. 이제 새로운 커스텀 경로를 생성하여 데이터를 전송하고 그 결과 다시 Spring Application에서 API Gateway 쪽으로 전송해 연결된 소켓 클라이언트에 데이터를 전달해보도록 하겠습니다. 먼저 AWS API Gateway에 새로운 경로를 추가하고 통합 요청 설정을 해주겠습니다. 이는 기존에 추가한 connect, disconnect 경로와 유사합니다. 이렇게 경로를 생성한 뒤, 요청 템플릿을 추가해줍니다. { "connectionId" : "$context.connectionId", "requestId": "$input.path('reques..
23년 12월부터 시작한 항해 플러스 3기. 10주간의 여정이 모두 마무리되었다. 10주동안 정말 많은 일이 있었지만 조금 간단하게...? 회고해보려 한다. 🤣 > 항해 플러스를 시작하기 전, 어떻게 시작했는지? 에 대한 내용은 이전 글에서 확인! 더보기 - https://developerbee.tistory.com/265 1주차: 남이 타준 커피가 젤 맛있다. AWS 환경에 CI/CD 자동화 구축... 그동안 개인적으로 CI/CD 및 클라우드 환경에 대해 공부를 했었지만, 실무에서는 이미 만들어진 환경에서 개발만 진행하는 경우가 많아서 였을까... 과정을 하나하나 진행하는게 쉽지 않았다. 우선 Github Action을 통한 배포 자체가 처음이라 브랜치, 환경에 대한 전략을 어떻게 가져가는 것이 좋을지..
이번 프로젝트에서 MSK를 사용하게 되었습니다. MSK는 Serverless 로 생성되었는데 이와 SpringBoot 프로젝트를 연동하는 방식에 대해 살펴보고자 합니다. 먼저 spring-kafka dependencies를 추가해줍니다. // build.gradle dependencies { ... // kafka implementation 'org.springframework.kafka:spring-kafka' ... } 여기서 MSK 생성에 대해서는 다루지 않겠습니다. MSK를 Serverless로 생성하고 나서 클라이언트 정보 보기를 하면 아래와 같이 부트스트랩 서버의 엔드포인트를 확인할 수 있습니다. Serverless 의 경우 현재 인증 유형은 IAM 밖에 존재하지 않습니다. 이를 SpringB..
- Total
- Today
- Yesterday
- Combination
- map
- AWS
- CodeDeploy
- permutation
- 소수
- CodePipeline
- search
- Baekjoon
- EC2
- array
- cloudfront
- string
- 순열
- 에라토스테네스의 체
- spring
- CodeCommit
- sort
- ionic
- SWIFT
- ECR
- 프로그래머스
- BFS
- java
- Algorithm
- 조합
- programmers
- Dynamic Programming
- DFS
- 수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |