분류 전체보기329 [Spring Boot] To-Do List 애플리케이션: Chap6. API 계층별 구현 (2) 특정 할 일 조회(상세조회) 앞선 글에서는 API 계층별 구현 첫 번째인 전체 할 일 조회 API를 만들어 보았습니다. 내가 가지고 있던 모든 할 일을 조회하는 기능이었어요. 이번 글에서는 To-Do List 애플리케이션의 특정 할 일을 조회하는 API를 구현하는 방법에 대해 설명합니다. 이 API는 클라이언트가 특정 ID로 할 일을 조회할 수 있도록 합니다.프로젝트 구조 설정프로적테의 기본 구조는 다음과 같습니다. 현재까지 구성되어있는 레이어에 기능들을 추가해 보도록 할게요.src/main/java└── com.koonsland.todo ├── controller │ └── ToDoItemController.java ├── model │ └── ToDoItem.java ├── repository .. 2024. 7. 22. [Design Pattern] 추상 팩토리 패턴: 복잡한 객체 생성의 유연한 관리 소프트웨어 개발에서는 때때로 복잡한 객체 구조를 생성해야 할 때가 있습니다. 이러한 객체 구조는 종종 여러 개의 관련 객체로 구성되어 있으며, 이들 간의 일관성을 유지하기 위해서는 객체 생성 과정을 체계적으로 관리할 필요가 있습니다. 이럴 때 유용하게 사용할 수 있는 디자인 패턴이 추상 팩토리 패턴입니다. 이번 글에서는 추상 팩토리 패턴의 개념과 필요성, 그리고 이를 자바와 스프링 부트를 사용하여 구현하는 방법에 대해서 알아볼게요.추상 팩토리 패턴이란추상 팩토리 패턴 (Abstract Factory Pattern)은 객체 생성 패턴 중 하나로, 관련 객체들을 생성하기 위한 인터페이스를 제공합니다. 추상 팩토리 패턴은 구체적인 클래스를 지정하지 않고 관련된 객체들을 생성할 수 있는 방법을 제공합니다. 이는.. 2024. 7. 19. [Spring Boot] To-Do List 애플리케이션: Chap5. API 계층별 구현 (1) 모든 할 일 조회 앞선 글에서는 API를 만들기 전 프로젝트의 기획과 설계, 그리고 데이터 모델링까지 함께 진행해 보았습니다. 무엇을 만들지를 정하고 데이터를 어떻게 저장할 것인지를 구성했어요. 이번 글에서는 To-Do List 애플리케이션의 각 API를 계층별로 구현하는 방법을 다루겠습니다. 우리는 Spring Boot를 사용하여 Restfull API를 만들 것이며, 이를 위해 프로젝트 구조 설정, 계층별 역할 설명, Restfull API의 개요, 주요 API 설계에 대해 자세히 살펴보겠습니다.프로젝트 구조 설정Spring Boot 프로젝트를 효과적으로 관리하기 위해서는 프로젝트 구조를 잘 설계하는 것이 중요합니다. 다음은 기본적인 프로젝트 구조입니다.src/main/java└── com.koonsland.todo .. 2024. 7. 15. [Design Pattern] 팩토리 메서드 패턴: 객체 생성 코드는 캡슐화로 소프트웨어 개발에서 객체 생성은 매우 중요한 부분입니다. 객체 생성 로직을 분리하고 유연하게 관리하기 위해 다양한 디자인 패턴이 사용됩니다. 그중 하나가 팩토리 메서드 패턴입니다. 이번 글에서는 팩토리 메서드 패턴의 개념과 필요성, 그리고 이를 자바로 구현하는 방법을 살펴보겠습니다.팩토리 메서드 패턴이란 무엇인가팩토리 메서드 패턴 (Factory Method Pattern)은 객체 생성 코드를 캡슐화하여, 객체 생성의 책임을 서브클래스에 위임하는 패턴입니다. 이를 통해 객체 생성 로직을 클라이언트 코드와 분리할 수 있으며, 객체 생성 방법을 변경하더라도 클라이언트 코드를 수정하지 않아도 됩니다.팩토리 메서드 패턴의 구현 방법팩토리 메서드 패턴은 커피를 주문하는 시스템을 구현하면서 진행하겠습니다. 먼저 팩.. 2024. 7. 14. [Spring Boot] To-Do List 애플리케이션: Chap4. 데이터 모델링 지난 글에서는 To-Do List 애플리케이션의 전반적인 소개, 요구사항 정리, 기본 프로젝트 설정들에 대해서 전반적인 내용들을 크게 알아보았습니다. 이번 글에서는 To-Do List 애플리케이션의 데이터 모델링에 대해 다루겠습니다. 데이터 모델링은 애플리케이션의 데이터 구조를 설계하는 과정으로, 데이터베이스 테이블 설계와 JPA 엔티티 클래스를 정의하는 것을 포함합니다. H2 데이터베이스를 사용하여 데이베이스를 설계하고, Data JPA를 사용하여 엔티티 클래스를 정의하는 방법을 설명합니다.데이터 베이스 (Database) 설계데이터베이스 설계는 애플리케이션의 데이터 저장 구조를 정의하는 중요한 단계입니다. To-Do List 애플리케이션의 경우, 단일 테이블로 구성된 간단한 데이터베이스를 사용할 수 .. 2024. 7. 8. [Git Flow] Git Flow 실습: hotfix 브랜치 지난 글에서는 배포를 위해서 Release 브랜치를 만들고 master 브랜치와 develop 브랜치에 병합하여 배포하는 방법을 알아보았습니다. 만약에 이러한 배포 이후에 급한 문제가 발생해서 빠르게 다시 배포해야 하는 상황이 발생한다면 어떻게 해야 할까요?이럴 때 필요한 브랜치가 바로 Hotfix 브랜치입니다. 이번 글에서는 Git Flow를 사용하여 hotfix(핫픽스) 브랜치를 생성하고 작업하는 방법을 자세하게 설명하겠습니다. 핫픽스 브랜치는 긴급하게 수정이 필요한 버그를 빠르게 해결하고 배포할 수 있도록 도와줍니다. 이번 글에서는 실제 예제를 통해서 핫픽스 브랜치를 생성하고 작업하는 과정을 단계별로 알아보겠습니다.hotfix (핫픽스) 브랜치란hotfix 브랜치는 긴급한 버그 수정을 위해 사용되는.. 2024. 7. 6. [Design Pattern] 싱글톤 패턴: 자바에서의 효율적인 인스턴스 관리 소프트웨어 개발에서는 종종 애플리케이션 전역에서 하나의 인스턴스만 필요하거나 허용되는 객체를 사용해야 하는 상황이 발생합니다. 이때 싱글톤 패턴을 사용하면 유용합니다. 이번 글에서는 싱글톤 패턴의 개념과 그 필요성, 그리고 자바와 스프링 부트에서의 구현 방법을 살펴보겠습니다. 또한, 도서 관리 프로젝트 혹은 커피 주문 프로젝트를 예제로 들어 싱글톤 패턴을 설명하겠습니다.싱글톤 패턴이란 무엇인가싱글톤 패턴(Singleton Pattern)은 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴입니다. 이 패턴은 전역적으로 접근 가능한 하나의 인스턴스를 제공하며, 이를 통해 리소스를 절약하고 일관성을 유지할 수 있습니다. 싱글톤 패턴은 다음과 같은 상황에서 유용합니다.애플리케이션 설정이나 환경 설.. 2024. 7. 5. [Spring Boot] To-Do List 애플리케이션: Chap3. 기본 프로젝트 설정 지난 글에서는 To-Do List 애플리케이션을 만들기 위한 초안 기획을 작성해 보았으며 요구사항과 사용자 시나리오를 분석해서 어떠한 기능을 만들지 구성해 보았습니다. 초반 기획이 끝난 상태입니다. 이번 글에서는 To-Do List 애플리케이션을 개발하기 위한 기본 프로젝트 설정에 대해 알아보겠습니다. Java 설치와 Spring Boot 프로젝트 생성부터 IntelliJ IDEA 설정, Gradle 설정, 파일 구성 및 필요한 의존성 추가까지 단계별로 설명합니다.Java 설치 및 설정스프링 부트(Spring Boot) 애플리케이션은 만들기 위해서는 언어가 필요합니다. 이때 사용하는 언어는 대표적으로 Java와 Kotlin이 있습니다. 이번 프로젝트에서는 Java를 이용해서 개발을 진행할게요.우선, 스프.. 2024. 7. 1. [Git Flow] Git Flow 실습: Release 브랜치 안녕하세요! 이번 글에서는 Git Flow를 사용하여 릴리스 브랜치(release branch)를 생성하고 작업하는 방법을 자세하게 설명하겠습니다. 릴리스 브랜치는 소프트웨어 배포 준비를 위한 중요한 단계로, 최종 테스트와 버그 수정을 거쳐 안정적인 버전을 만드는 데 사용됩니다. 이번 글에서는 실제 예제를 통해 릴리즈 브랜치를 생성하고 작업하는 과정을 단계별로 알아보겠습니다.release 브랜치release 브랜치는 배포 준비를 위한 브랜치입니다. 이 브랜치는 develop 브랜치에서 분기되어 최종 테스트와 버그 수정을 거친 후 master 브랜치와 develop 브랜치로 병합됩니다.릴리스 브랜치를 사용하면 배포 과정에서 새로운 기능이 추가되는 것을 방지하고, 안정적인 상태로 배포 준비를 할 수 있습니.. 2024. 6. 29. 이전 1 2 3 4 5 ··· 37 다음