짱구
close
프로필 배경
프로필 로고

짱구

  • 분류 전체보기 (99)
    • Linux (2)
    • DataStructure (2)
    • FrontEnd (0)
    • DB(MySQL) (10)
    • Java (16)
    • Spring (24)
    • DevOps (7)
    • Docker (6)
    • Kubernetes (2)
    • Python (5)
    • Git (0)
    • CS (3)
    • Django (9)
    • SalesForce (0)
    • Heroku (2)
    • System Architecture Pattern.. (2)
  • 홈

[CS] 폭포수 vs 애자일: "고객의 마음은 갈대" 변화에 대응하는 법

소프트웨어를 개발할 때 어떤 전략을 선택하느냐는 비즈니스의 성패를 가릅니다. 오늘은 전통적인 폭포수(Waterfall) 방식과 현대의 주류인 애자일(Agile), 그리고 왜 지금 우리가 애자일에 주목해야 하는지 알아보겠습니다.1. 폭포수(Waterfall) 방법론: "계획대로 순차적으로"폭포수 방법론은 이름처럼 물이 위에서 아래로 떨어지듯 전체 과정을 단계별로 순차적으로 진행하는 방식입니다.특징: 각 단계가 끝나야 다음 단계로 넘어갈 수 있으며, 이전 단계로 돌아가기가 매우 어렵습니다.장점: 프로젝트 구조가 명확하고 관리가 용이하며, 단계별 결과물(문서화)이 확실합니다.단점: 초기 기획이 잘못되면 수정 비용이 막대하며, 최종 결과물이 나오기 전까지 실제 제품을 확인하기 어렵습니다.2. 애자일(Agile)..

  • format_list_bulleted CS
  • · 2026. 1. 14.
  • textsms

[Spring] Spring JPA 복합 키 매핑 - @Embeddable vs @IdClass

1. 소개 Spring Data JPA를 사용하다 보면, 단일 필드가 아닌 여러 개의 필드를 조합하여 기본 키(Primary Key)로 사용하는 복합 키(Composite Key) 를 설정해야 할 때가 있다. JPA에서 복합 키를 매핑하는 방법은 크게 두 가지이다.@EmbeddedId + @Embeddable@IdClass이번 글에서는 두 방법을 비교하고, 코드 예제를 통해 직접 실습할 수 있도록 정리해보겠다.2. @EmbeddedId 방식 (추천 방식) @EmbeddedId + @Embeddable  1. @Embeddable: 복합 키 클래스로 사용할 객체에 선언2. @EmbeddedId: 엔티티에서 해당 복합 키를 기본 키로 사용 (1) 복합 키 정의 (OrderId 클래스)import java.i..

  • format_list_bulleted Spring
  • · 2025. 2. 24.
  • textsms

[Spring] JPA Auditing 어노테이션 / @EnableJpaAuditing, @EntityListeners

1. 소개Spring Data JPA를 사용하면 엔티티의 생성 및 수정 시간을 자동으로 관리할 수 있다. 이를 위해 @EnableJpaAuditing, @EntityListeners, @CreatedDate, @LastModifiedDate 등의 어노테이션을 활용 할 수 있다.이번 글에서는 해당 어노테이션들의 역할과 사용법을 정리해보겠다. 2. 코드 예제아래는 Spring Data JPA의 Auditing 기능을 사용하는 예제 코드이다.@EntityListeners(EntityListeners.class)@MappedSuperclass@Getterpublic class TimeBaseEntity { @CreatedDate @Column(updatable = false) private Lo..

  • format_list_bulleted Spring
  • · 2025. 2. 24.
  • textsms
[Java] JPA Entity의 개념 및 상태

[Java] JPA Entity의 개념 및 상태

Entity Manager & EntityEntity Manager- 엔티티들을 관리하는 객체 영속성 컨텍스트- 엔티티들을 관리하는 환경 / 엔티티를 영구 저장하는 환경- 보통 하나의 엔티티 매니저는 하나의 영속성 컨텍스트를 관리한다.  Entity- DB에서 영속적으로 저장된 데이터를 자바 객체로 매핑해 인스턴스로 존재하는 데이터 Entity Life Cycle비영속 상태 Memo memo = new Memo(); // 비영속 상태memo.setId(1L);memo.setUsername("ZINU");memo.setContents("비영속과 영속 상태");비영속 상태란 "임시 상태"라고도 불리며, 영속성 컨텍스트와 무관하게 자바 애플리케이션의 메모리에서만 존재하는 상태입니다. 데이터베이스와의 연결이 없..

  • format_list_bulleted Java
  • · 2025. 2. 22.
  • textsms

[System Architecture Patterns] 4계층 아키텍처 (4-Tier Architecture)

4계층 아키텍처 (4-Tier Architecture)4계층 아키텍처는 애플리케이션을 논리적으로 분리된 네 개의 계층으로 구성하는 소프트웨어 설계 패턴입니다. 이 아키텍처는 관심사의 분리를 통해 유지보수성과 확장성을 향상시킵니다. 각 계층과 그 주요 요소들은 다음과 같습니다:1. Presentation Layer (표현 계층)- 주요 요소: View, Controller- 역할: 사용자 인터페이스와 데이터 표현을 담당2. Business Layer (비즈니스 계층)- 주요 요소: Service, Domain Model- 역할: 비즈니스 로직 처리 및 규칙 적용3. Persistence Layer (영속성 계층)- 주요 요소: Repository, DAO (Data Access Object)- 역할: 데이..

  • format_list_bulleted System Architecture Patterns
  • · 2025. 2. 14.
  • textsms

[System Architecture Patterns] CQRS 패턴

CQRS 패턴의 등장 배경과 효과CQRS(Command Query Responsibility Segregation) 패턴은 애플리케이션의 명령(Command)과 조회(Query) 작업을 분리하여 각각의 책임을 명확히 하는 아키텍처 패턴입니다. 이 패턴의 등장 배경과 주요 효과에 대해 알아보겠습니다.등장 배경1. **복잡성 증가**: 전통적인 CRUD 기반 아키텍처에서는 애플리케이션이 복잡해질수록 도메인 모델의 복잡도가 증가하고 유지보수 비용이 높아지는 문제가 발생했습니다2. **성능 최적화의 어려움**: 읽기와 쓰기 작업이 동일한 모델을 사용함으로써 각 작업에 대한 최적화가 어려웠습니다3. **확장성 제한**: 읽기와 쓰기 작업의 요구사항과 부하가 다름에도 불구하고 동일한 모델을 사용하여 확장성에 제한이..

  • format_list_bulleted System Architecture Patterns
  • · 2025. 2. 14.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 17
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (99)
    • Linux (2)
    • DataStructure (2)
    • FrontEnd (0)
    • DB(MySQL) (10)
    • Java (16)
    • Spring (24)
    • DevOps (7)
    • Docker (6)
    • Kubernetes (2)
    • Python (5)
    • Git (0)
    • CS (3)
    • Django (9)
    • SalesForce (0)
    • Heroku (2)
    • System Architecture Pattern.. (2)
최근 글
인기 글
최근 댓글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바