본문 바로가기

분류 전체보기92

REST API란 무엇인가요? REST API란 무엇인가요?개념REST(Representational State Transfer) API는 클라이언트와 서버가 HTTP 프로토콜을 통해 데이터를 주고받는 아키텍처 스타일입니다. HTTP 프로토콜의 특성을 활용하여 각 요청에 대해 상태를 유지하지 않으면서도 데이터를 교환할 수 있게 해줍니다. 이 방식은 웹 애플리케이션에서 매우 많이 사용됩니다.용어 정의 및 배경리소스(Resource)란?REST에서 리소스는 서버가 관리하는 데이터 단위입니다. 예를 들어 사용자(user), 게시글(post) 등이 될 수 있으며, 각각의 리소스는 고유한 URL(엔드포인트)로 식별됩니다.예: /users/123는 ID가 123인 사용자라는 리소스를 의미합니다.HTTP 메서드란?리소스에 어떤 작업을 수행할지를 .. 2025. 7. 23.
[디자인 패턴 입문] Command(커맨드 패턴) 1. 왜 공부하게 되었을까?어떤 작업을 "나중에 실행하거나 취소"해야 할 때가 있었습니다.예: 사용자가 버튼을 클릭했을 때 다양한 작업을 실행해야 함예: 요청을 로그로 남기거나, 실행 기록을 기반으로 취소 기능을 구현해야 할 때이런 기능을 기존 구조로 만들자니, 실행 로직이 이벤트 핸들러나 컨트롤러 내부에 박혀 있어서 재사용도 어렵고, 나중에 작업을 되돌리는 것도 힘들었습니다. 특히 비즈니스 로직과 실행 트리거(버튼 클릭, 스케줄러 실행 등)를 명확히 분리하고 싶었습니다.그래서 "작업 자체를 하나의 객체로 만들어 관리하는 구조"가 필요했고, 커맨드 패턴이 적합하다는 걸 알게 되었습니다.2. 커맨드 패턴이란?기본 개념커맨드 패턴(Command Pattern)은 실행할 작업을 하나의 객체로 캡슐화해서, 실행.. 2025. 7. 9.
[디자인 패턴 입문] Decorator(데코레이터 패턴) 1. 왜 공부하게 되었을까?기능을 구현할 때, 처음에는 단순히 클래스를 만들어 기능을 구현합니다. 하지만 점점 기능들이 추가되는 경우가 빈번히 발생합니다.예를 들어기본 커피 → 시럽 추가 → 휘핑 추가 → 얼음 추가상품 정보 출력 → 할인 표시 추가 → 무료배송 뱃지 추가 → 신상품 표시 추가이런 식으로 기능을 추가하다 보면, 상속을 계속하거나 조건문이 길어져 코드가 복잡해집니다. 그래서 "기존 기능은 그대로 두고, 부가 기능만 유연하게 추가하는 구조"가 필요했고, 그걸 해결할 수 있는 방법으로 데코레이터 패턴을 알게 되었습니다.2. 데코레이터 패턴이란데코레이터 패턴(Decorator Pattern)은 기존 객체를 감싸서 기능을 동적으로 추가할 수 있는 구조입니다.쉽게 말해, 기본 기능은 건드리지 않고 .. 2025. 7. 7.
[디자인 패턴 입문] Observer(옵저버 패턴) 1. 왜 공부하게 되었을까?이런 고민이 생겼습니다:사용자가 주문을 하면 이메일도 보내야 하고,포인트도 적립해야 하고,관리자에게도 알려야 합니다.처음엔 하나의 클래스에서 다 처리할 생각이었습니다. 그런데 기능이 늘어날수록 코드가 점점 길어지고 지저분해지는 문제를 발견했습니다. 그래서 기능들을 깔끔하게 나누고 싶다는 생각이 들었고, 옵저버 패턴이 그를 도와줄 수 있음을 알게되었습니다.2. 옵저버 패턴이란?기본 개념옵저버 패턴은 어떤 객체의 상태 변화가 생겼을 때, 그것을 감지하고 자동으로 반응해야 하는 객체들에게 알림을 보내는 구조를 의미합니다. 이를 통해 이벤트가 발생했을 때 수행할 작업들을 객체로 분리할 수 있고, 핵심 로직과 부가 로직을 분리하여 코드의 유지보수성을 높일 수 있습니다.즉, "이벤트를 발.. 2025. 7. 4.
반응형