| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- EC2
- sub-query
- springboot
- VPC
- CTE
- SQL
- DevOps
- ASW
- 정규화
- 정처기
- MySQL
- Github Actions
- Join
- aws
- mongoDB
- SubQuery
- database
- 보안 그룹
- 정보처리기사
- PostgreSQL
- Transaction
- dml
- 탄력적 ip
- index
- SQLite
- db
- Kafka
- NoSQL
- DDL
- redis
- Today
- Total
목록전체 글 (52)
sellen
SpringBoot에 RabbitMQ를 설정하고 간단하게 사용하는 방법에 대해 다뤄보겠습니다.1. RabbitMQ? RabbitMQ는 AMQP 프로토콜 기반의 메시지 브로커(Message Broker)으로, 서비스 간 비동기 통신을 지원하며 메시지를 큐에 저장한 후 Consumer에게 전달하는 역할을 한다.AMQP (Advanced Message Queuing Protocol)메시지 브로커와 애플리케이션이 통신하기 위한 표준 프로토콜이다.Exchange Exchange는 메시지를 어떤 Queue로 전달할지 결정하는 라우터 역할을 한다. 메시지를 생성 및 처리하는 주체인 Producer는 Queue에 직접 메시지를 전송하지 않는다.Producer가 Exchange에게 메시지를 전송하면 특정 규칙에 따라 ..
Spring Boot Actuator와 Prometheus, Grafana를 사용하여 Spring 서버의 상태를 모니터링하는 방법에 대해 다뤄보겠습니다.1. Actuator, Prometheus, Grafana?1-1. 역할Spring Boot ActuatorSpring Boot에서 제공하는 운영 / 모니터링 용 엔드포인트 모음EX) /actuator/health, /actuator/metrics, /actuator/prometheus/actuator/prometheus는 Prometheus가 읽을 수 있는 메트릭 형식으로 데이터를 출력메트릭 : 모니터링을 위해 수집되는 정량적인 수치 데이터CPU 사용량, 메모리, HTTP 요청 수, DB 연결 상태 등 애플리케이션 지표를 제공Prometheus오픈소스 ..
프로젝트를 진행하다가 발생했던 OAuth2 과정을 정리한 글입니다.만약 코드만 보고 싶으시면 4번 항목으로 이동하시면 됩니다.1. 문제 상황저희 프로젝트의 기존 OAuth2 로그인 방식은 프론트와 백엔드가 모두 책임을 가지는 하이브리드 구조였습니다.하지만 보안 강화를 위해 OAuth2 인증 플로우 전체를 백엔드가 책임지는 구조로 재설계하게 되었습니다.이 과정에서 다음과 같은 요구사항이 발생했습니다.Localhost 환경에서 OAuth2 로그인배포 환경(운영 도메인)에서 OAuth2 로그인모바일 네이티브 앱 환경 지원OAuth2는 리다이렉트 기반 프로토콜입니다.즉, 인증 완료 후 서버는 브라우저를 다시 특정 프론트 URL로 리다이렉트해야 합니다.하지만 서버가 "어떤 프론트 환경에서 로그인 요청이 왔는지" ..
스프링부트 버전에 따라 QueryDSL 설정이 조금씩 다르고 안 되는 부분이 많아서 3.x 버전 기준으로 제가 사용하는 설정 방법을 공유하겠습니다.configurations { compileOnly { extendsFrom annotationProcessor }}repositories { mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' runtimeOnly 'com.mysql:mysql-connector-j' ..
객체 지향 설게 원칙인 SOLID에 대해 간간하게 알아보겠습니다.SRP - 단일 책임의 원칙Single Responsibility Principle하나의 클래스는 하나의 목적을 위해 생성클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중되어야 한다ORP - 개방 폐쇄 원칙Open Close Principle확장에는 열려있고, 변경에는 닫혀있어야 한다LSP - 리스코프 치환 원칙Liskov Substitution Principle서브 타입(상속받은 하위 클래스)은 어디서나 상위클래스로 교체 가능해야 한다자식 클래스는 부모 클래스의 기능을 모두 구현해야 한다ISP - 인터페이스 분리의 원칙Interface Segregation Principle사용하지 않는 인터페이스는 구현하지 말아야 한다특정 ..
빅뱅 배포빅뱅 배포법은 서버에 전체 시스템을 한 번에 배포하는 방식입니다.서버에 문제가 생길 경우 롤백을 하기 힘들다는 단점이 존재합니다.하지만 모든 기능을 한 번에 새 버전으로 배포하므로 빠르게 전체 시스템을 사용자에게 제공한다는 장점이 있으며 준비 및 세팅도 비교적 간단하다는 장점이 있습니다.EC2에 배포를 할 계획이며 EC2 생성은 하단의 링크를 참고해 주세요.2025.07.26 - [DevOps/AWS] - AWS - VPC 생성2025.07.26 - [DevOps/AWS] - AWS - 보안 그룹 생성2025.07.26 - [DevOps/AWS] - AWS - EC2 생성2025.07.26 - [DevOps/AWS] - AWS - 탄력적 IP 1. EC2에 필요한 패키지 설치sudo apt up..
EC2에 접속하여 세팅을 하기 위해서 터미널을 접속해야 합니다.VScode나 Git Bash 같이 EC2 터미널에 접속하기 위한 다양한 방법이 있습니다.저는 IntelliJ를 통해 원격으로 접속하는 방법을 설명하겠습니다.IntelliJ 상단의 메뉴바를 클릭합니다.위 사진대로 도구 > 배포 > 원격 호스트 찾아보기를 클릭합니다.그러면 왼쪽에 원격 호스트 탭이 뜨면서 해당 창이 뜹니다.여기서 빨간 박스의 ... 을 클릭합니다.SFTP를 선택하시고빨간 박스의 ... 을 클릭합니다.호스트는 연결하려는 EC2 인스턴스의 퍼블릭 IP를 입력합니다.사용자 이름은 ubuntu로 합니다.인증 타입은 키 페어 또는 키 쌍을 선택합니다.비공개 키 파일은 이전에 다운로드하였던 .pem 파일을 선택합니다.그 후 연결 테스트를 ..
이전의 과정을 해주시길 바랍니다.2025.07.26 - [DevOps/AWS] - AWS - VPC 생성2025.07.26 - [DevOps/AWS] - AWS - 보안 그룹 생성2025.07.26 - [DevOps/AWS] - AWS - EC2 생성이전에 EC2를 생성하였지만 EC2에 자그마한 문제가 있습니다.EC2는 퍼블릭 IP가 존재하여 외부에서 EC2에 접근하기 위해 퍼블릭 IP로 요청을 보냅니다.하지만 EC2가 중지되었다 재실행을 할 경우 퍼블릭 IP가 변경이 됩니다.변경이 되면 요청을 보낼 때 문제가 생기므로 이를 방지하기 위해 탄력적 IP를 사용합니다.탄력적 IP를 설정해 두면 재실행이 되어도 퍼블릭 IP가 고정이 되어 변경되지 않습니다.만약 인스턴스가 재실행될 가능성이 없으실 경우 넘어가셔..
VPC, 보안 그룹 세팅을 하신 후 진행해 주세요2025.07.26 - [DevOps/AWS] - AWS - VPC 생성2025.07.26 - [DevOps/AWS] - AWS - 보안 그룹 생성이전 글을 통해 VPC와 보안 그룹까지 완료하셨으니 EC2를 생성할 차례입니다.https://aws.amazon.com/ko/ 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web ServicesAmazon Bedrock은 주요 AI 기업의 고성능 FM 옵션을 평가하고 선택하는 데 도움을 주는 완전관리형 서비스입니다. 기반 인프라를 관리하지 않고도 생성형 AI 애플리케이션을 구축할 수 있습니다. Amazonaws.amazon.comAWS에 로그인하여 EC2를 검색합니다.우측 상단에서 리전이 아시아 태평..
이전에 작성한 VPC 생성에서 이어서 진행합니다.2025.07.26 - [DevOps/AWS] - AWS - VPC 생성 저번 글에서 VPC를 생성했으니 이번에는 보안 그룹을 생성할 차례입니다.보안 그룹에서 약간 설명할 것이 있어서 따로 분리하여 작성하게 되었습니다.보안 그룹 생성VPC 사이드 바에서 보안 그룹을 클릭한 후 보안 그룹 생성을 클릭합니다.보안 그룹 이름은 원하시는 이름으로 설정하시면 됩니다.VPC는 이전에 생성했던 VPC를 선택합시다.인바운드 규칙에서 위 화면처럼 소스는 Anywhere-IPv4 0.0.0.0/0을 선택하여 추가합시다.HTTP, HTTPS, SSH는 무조건 추가해 줍니다.사용자 지정 TCP에서 포트 범위를 지정합니다.이때, 저는 8080과 8081을 추가하였습니다.이는 이후..