이번 스프링부트 프로젝트에서 인터페이스의 구현체를 선택해서 주입해야하는 부분이 있었다. 구현체를 주입하는건 간단하고 다양한 방법이 존재하지만, 스프링 빈 주입시 어떤 구현체를 주입할지 명확하게 지정할 수 있도록 해주는 @Qualifier 애너테이션을 적용해보기로 하였다
기획 이번 프로젝트는 라이더용 배달 어플로, 주문이 발생하면 가게 근처의 라이더들에게 주문 배달 알림을 전송하는 기능을 구현해야한다. 이 때, 이 알림 기능을 어떤 기술로 구현할지에 대해 고민해보았다. 메시지 큐 우선 이번 알림 서비스 구현은 이벤트 기반의 메시지
기본 질문 1. 영속성 컨텍스트의 범위는? ➡️ 영속성 컨텍스트의 범위는 일반적으로 HTTP 요청이 시작될 때 생성되고, 응답이 완료될 때 소멸된다. JPA에서는 @Trancational이 적용된 메서드 내에서 유지된다. 영속성 컨텍스트는 엔티티 객체를 관리하는
프로그래머스: 콜라 문제https://school.programmers.co.kr/learn/courses/30/lessons/132267해당 문제를 해결하기 위해 재귀 함수를 사용했다.그런데 특정 테스트 케이스에서만 런타임 에러가 발생했다. 재귀 함수를 사용
프로젝트명: 13friday진행 기간: 2025.03.12 ~ 2025.03.26팀원: 박동휘,서현재,김지현,진강훈목표: MSA 기반 B2B 물류 관리 및 배송 시스템 개발현재 : MSA를 경험할 수 있어서 좋았다강훈: 새로운 아키텍쳐 경험을 쌓고 다양한 기술을 적용
Redis(Remote Dictionary Server)는 인메모리 NoSQL 데이터베이스로, 키-값(key-value) 저장소 형태로 데이터를 빠르게 저장하고 검색할 수 있다.가장 큰 특징은 인메모리 데이터 베이스라는 점이다. 데이터를 디스크가 아닌 메모리(RAM)에
ECS ECS(Amazon Elastic Container Service)는 AWS에서 제공하는 컨테이너 오케스트레이션 서비스이다. 컨테이너 기반 애플리케이션을 AWS 환경에서 쉽게 배포하고 관리할 수 있도록 도와준다. 쿠버네티스와 비슷한 역할을 하지만 보다 저렴하고
📝 프로젝트 개요 프로젝트명: AI를 활용한 배달 REST API SERVER 진행 기간: 2025.02.12 ~ 2025.02.25 팀원: 이승욱, 김정환, 김지현, 오연주 목표: 광화문 근처에서 운영될 음식점들의 배달 및 포장 주문 관리, 결제, 그리고 주문 내
프로젝트명: AI를 활용한 배달 REST API SERVER진행 기간: 2025.02.12 ~ 2025.02.26팀원: 이승욱, 김정환, 김지현, 오연주목표: 광화문 근처에서 운영될 음식점들의 배달 및 포장 주문 관리, 결제, 그리고 주문 내역 관리 기능을 제공하는 플
Delivery 프로젝트 기능 구현을 마무리 하고 배포 단계에서 CI/CD를 할 것인지 의논하였으나 프로젝트 규모가 작아 그냥 배포만 하기로 결정하였다. 그런데 배포 과정에서 예상치 못한 오류를 만났으니... 트러블 슈팅을 정리해보자첫 번째 문제는 우리의 프로젝트 파일
트러블 슈팅 : AcccessDeninedHandler와 JwtAuthenticationEntryPoint를 설정했음에도 문제가 계속 발생했는데 첫 번째는 인가 과정에서 던져진 예외
이번 delivery 프로젝트에서 유저 기능 구현을 담당하게 되어 JWT 토큰 방식의 로그인을 구현 하던 중 토큰을 쿠키에 저장할지 헤더에 저장할지 고민이 생겼다. 두 가지 방식은 각각의 장단점이 존재한다. Cookie 쿠키(Cookie)에 저장하는 방식은 서버가 J
Q. 자바에서 Checked Exception과 Unchecked Exception에 대해 설명해주세요.
백엔드 개발자 4명이 스프링부트로 진행하는 배달/포장 서비스 서버 개발 프로젝트 설계이다. 광화문 근처에서 운영될 음식점들의 배달 및 포장 주문 관리, 결제, 그리고 주문 내역 관리 기능을 제공하는 플랫폼 개발한다. 도메인 : 사용자(User), 음식점(Store),
Spring Cloud 스프링 클라우드는 마이크로서비스 아키텍쳐(MSA) 기반의 시스템 구축을 도와주는 스프링 프레임워크의 확장이다. MSA 환경에서는 서비스 간 통신, 로드 밸런싱, 분산 구성 관리 등의 다양한 기능이 필요한데 스프링 클라우드는 이러한 기능을 손쉽게
MSA(Microservices Architecture)란 하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리하여 개발, 배포, 유지보수를 용이하게 하는 소프트웨어 아키텍처 스타일로, 모든 기능이 하나의 애플리케이션 내에 포함되는 모놀리식 아키텍처(Mono
프로젝트를 배포할 땐 CI/CD 환경을 구성해서 배포하는 편이지만 간단하고 빠르게 배포를 하고 싶을 때는 jar 파일을 직접 올려 배포하기도 한다. EC2와 RDS 인스턴스를 설정하고 스프링부트 서버를 배포해보자. RDS RDS 인스턴스 생성 AWS RDS 대시보
이전의 sports echo 프로젝트에서 Redis의 sorted set을 활용해 대기열 시스템을 구현하였다. 여기서 Redis를 채택한 이유는 Redis가 인메모리 데이터베이스이므로 삽입, 삭제, 조회 속도가 매우 빨라 많은 사용자들이 동시에 접속하는 대기열 시스템에
이전까지 Elasticsearch를 활용해 검색 API의 속도를 개선했다. 이제 속도는 충분히 빠르므로 검색어에 따른 검색 결과 성능을 개선해보자. (참고로 부분 문자열 검색이 가능한 API이며 모두 영어이다.)그전에 우선 Elasticsearch에서 인덱싱이 이루어지