[중간발표] B2B2C SaaS 대기열 서비스
프로젝트/스프링심화1기2024. 10. 11. 00:30[중간발표] B2B2C SaaS 대기열 서비스

중간발표 자료  Monorepo를 통해 멀티모듈 구조를 채택했고, 루트 프로젝트에서 각각의 서브 프로젝트를 관리하고versions.properties를 통해 여러 서버에서 사용하는 JWT 같은 의존성의 버전을 통합관리했다.브랜치 전략으로는 main-dev-hotfix-feature로 이슈를 발행한 후 해당 브랜치를 파고, PR과 코드리뷰를 통해 이슈와 브랜치를 닫는 전략을 사용했다. 또한 sprint 단위로 일정을 관리했다.이번 프로젝트에서 기획한 서비스는 B2B2C로, 서비스의 사용자는 대기열 서비스를 원하는 기업의 개발자가 될 것이며, 해당 기업은 엔드포인트 사용자에게 서비스를 제공하는 구조로 이루어져 있다.처음에 각자 개발하고 싶은 부분을 고민하다가, 개발자를 위한 서비스를 만들면 어떨까라는 의견이..

[JPA] Query Methods
Programming/SpringBoot2024. 9. 11. 21:04[JPA] Query Methods

Query Methods란?Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methods 기능을 제공한다. JpaRepository 인터페이스에서 해당 인터페이스와 매핑되어있는 테이블에 요청하고자하는 SQL을 메서드 이름을 사용하여 선언할 수 있다. MemoRepository 예시import com.sparta.memo.entity.Memo;import org.springframework.data.jpa.repository.JpaRepository;import java.util.List;public interface MemoRepository extends JpaRepository { List findAllByOrderByModifiedAtDesc();} Sim..

[JPA] JPA Auditing
Programming/SpringBoot2024. 9. 11. 20:43[JPA] JPA Auditing

2024-09-11(수)스프링 심화 1기 과정을 하고, 팀프로젝트를 하면서 하루하루 새로운 걸 알아가고 무심코 아무생각 없이 사용했던 것들의 의미를 제대로 알아가며 기록하는 중이다.  Timestamped📌 데이터의 생성(created_at), 수정(modified_at) 시간은 포스팅, 게시글, 댓글 등 다양한 데이터에 매우 자주 활용된다. 각각의 Entity의 생성 수정 시간을 매번 작성하는건 너무 비효율적이다.import jakarta.persistence.*;import lombok.Getter;import org.springframework.data.annotation.CreatedDate;import org.springframework.data.annotation.LastModifiedDat..

Domain Driven Design (DDD)
프로젝트/스프링심화1기2024. 9. 9. 11:03Domain Driven Design (DDD)

2024.09.05(금) 특강 정리 1. DDD의 개념과 등장 배경소프트웨어를 설계할 때 고객의 요구사항을 정확히 이해하는 것이 중요하다.요구사항을 잘못 이해하면 잘못된 기능을 만들고 수정하는 것도 어렵다. 그럼 이런 문제는 왜 발생할까?과거에는 주로 기술 중심의 개발 방법론이 사용되었기 때문이다.이러한 방법론은 기술적 요구사항을 중점적으로 다루지만,비즈니스 측면에서 발생하는 다양한 요구사항을 효과적으로 반영하기에는 한계가 있었다. 특히, 비즈니스 전문가와 개발자 간의 소통이 원활하지 않으면, 최종 소프트에어가 비즈니스의 실제 요구를 충족시키지 못할 수 있었다.이러한 문제점들을 해결하기 위해 나온 설계가 도메인 주도 설계(Domain Driven Design)이다. '도메인'이란 소프트웨어로 해결하려는 ..

image