SpringBoot(3)
-
[AWS 배포 가이드] Nginx + GitHub Actions로 Spring Boot & FastAPI CI/CD 자동 배포하기 (1) - 인스턴스 생성
AI 프로젝트를 진행하다 보면, Spring Boot로 구현한 백엔드 서버와 FastAPI로 구현한 AI 서버를 동시에 배포해야 하는 상황이 자주 발생합니다.저희 프로젝트에서는 BE(Backend)와 AI 서버를 별도의 GitHub 레포지토리로 분리하여 관리하고 있으며, 이 구조를 기반으로 GitHub Actions를 활용한 CI/CD 파이프라인을 구축했습니다.하나의 EC2 인스턴스 내에서 BE, AI, Nginx 서버를 함께 운영하고 CI/CD자동 배포하는 과정을 자세히 소개해보겠습니다. 인스턴스 생성1. 할당량 요청 프로젝트에서 openAI(ChatGPT API) / hugging face(stable diffusion, controlnet) 등 GPU가 필요한 API를 사용하기 때문에 프리티어만으..
2025.08.07 -
[Spring/Springboot] 제어의 역전 IoC(Inversion of Control)
제어의 역전 IoC(Inversion of Control)public class AppConfig{ public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } public OrderService orderService(){ return new OrderServiceImpl(memberRepository(), discountPolicy()); } public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } public DiscountPolicy discountPolicy(){ return new RateDi..
2024.12.15 -
[Spring/SpringBoot] 의존 관계 주입 DI(Dependency Injection)
의존 관계 주입 애플리케이션 실행 시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것을 의존관계 주입이라고 함객체 인스턴스를 생성하고, 그 참조값을 전달해서 연결함의존 관계 주입의 장점클라이언트 코드를 변경하지 않고, 클라이언트가 호출하는 대상의 타입 인스턴스를 변경할 수 있음정적인 클래스 의존관계를 변경하지 않고, 동적인 객체 인스턴스 의존관계를 쉽게 변경할 수 있음(ex) AppConfig의 의존관계 인스턴스 이름나 변경해주면됨 다른 코드/클래스 건드릴 필요 없음의존 관계 주입 예시 코드**import hello.core.discount.DiscountPolicy;import hello.core.member.Member;import..
2024.12.15