회원가입 서비스 만들기
·
Backend Programming
잡담캘린더 프로젝트에 회원을 추가해서 회원마다의 일정을 사용할 수 있도록 회원가입, 로그인에 대해 공부하고 배운 내용들을 정리해서 올려보고자 합니다. 작성된 내용들이 회원가입 서비스를 만들기 위해서 배우고 있는 개발자분들에게 도움이 되었으면합니다. 다만 저 또한 공부하고 작성하는 코드들이여서 부족한 내용이 있을 수도 있으니 참고 정도로 살펴보셨으면 합니다.회원 가입 만들기1. 이메일 검증//Controller@PostMapping("/register/users") public String createUser(@Validated @ModelAttribute UserDto.RegisterRequest userRequest, RedirectAttribut..
DTO에서 NotNull설정이 되어 있을 때 PATCH를 어떻게 해줘야할까?
·
Backend Programming
현재 상황 및 문제점캘린더 프로젝트를 만들면서 일정 설정, 반복 설정, 알림 설정을 한 곳에서 받아 처리하려고 했습니다. 그러나 PUT을 사용하여 구현할 경우, 현 구조에서는 반복 설정이 바뀌지 않았음에도 반복 내용을 삭제하고 재등록해야 하는 문제가 있었습니다. 이를 해결하기 위해 PATCH를 사용하여 특정 기능만 수정할 수 있도록 하려고 했습니다. 그러나 일정 설정의 필수 정보들이 NotNull로 설정되어 있어, PATCH로 데이터를 보낼 때 어떻게 처리해야 할지 고민이 되었습니다.public class ScheduleDto { private int id; @NotNull private String title; private String description; @NotNull..
RESTful API란?
·
Backend Programming
REST란 무엇인가요?Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. REST 아키텍처 스타일을 따르는 API를 REST API라고 합니다. REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 합니다. RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타냅니다. 하지만 REST API와 RESTful API라는 용어는 같은 의미로 사용할 수 있습니다. REST 아키텍처 스타일의 몇 가지 원칙균일한 인터페이스균일한 인터페이스는 모든 RESTful 웹 서비스 디자인의 기본입니다. 이는 서버가 표준 형식으로 정보를 전송함을 나타냅니다. 형식이 지정된 리소스를 REST에서 표현이라고 ..
서블릿이란 무엇일까?
·
Backend Programming
서블릿(Servlet)은 자바를 사용하여 웹 애플리케이션을 개발할 때, 클라이언트의 요청을 처리하고 응답을 생성하는 서버 측의 프로그램입니다. 서블릿은 주로 HTTP 요청과 응답을 처리하는 데 사용되며, 자바 EE (Enterprise Edition) 스펙의 일부입니다.서블릿의 역할과 동작 원리클라이언트 요청 처리:웹 브라우저나 다른 HTTP 클라이언트가 웹 서버에 요청을 보냅니다.웹 서버는 요청을 서블릿 컨테이너(Servlet Container)에 전달합니다.서블릿 컨테이너:서블릿 컨테이너는 서블릿의 라이프사이클을 관리합니다. 여기에는 서블릿의 로드, 초기화, 요청 처리, 소멸 등이 포함됩니다.서블릿 컨테이너는 요청을 적절한 서블릿으로 전달하고, 서블릿은 요청을 처리하여 응답을 생성합니다.응답 생성:서..
스프링 빈과 애플리케이션 컨텍스트 그리고 AOP??
·
Backend Programming
스프링 빈(Spring Bean)정의스프링 빈은 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체입니다.빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다.IoC (Inversion of Control)가 무엇이냐?객체 지향 프로그래밍에서 객체의 의존성 관리를 프레임워크나 컨테이너에 위임하는 설계 원칙입니다. IoC의 핵심 개념은 객체 생성 및 의존성 주입을 개발자가 직접 하지 않고, 외부에서 제어권을 갖고 관리한다는 것입니다. 생성 및 관리스프링 빈은 스프링 컨테이너에 의해 생성되고, 필요한 의존성을 주입받습니다.빈의 라이프사이클은 컨테이너가 관리하며, 생성, 초기화, 소멸 등의 과정을 거칩니다.빈은 @Component, @Serv..
MVC 패턴이란 무엇일까?
·
Backend Programming
MVC (Model-View-Controller) 패턴은 소프트웨어 설계 패턴 중 하나로, 어플리케이션을 세 가지 주요 컴포넌트로 분리하여 개발의 복잡성을 줄이고, 코드의 재사용성과 유지보수성을 높이는 데 도움을 줍니다. Model (모델)역할: 어플리케이션의 데이터 구조를 관리합니다. 데이터베이스와의 상호작용, 데이터 유효성 검사 등의 비즈니스 로직을 담당합니다.예시: 사용자 정보, 제품 목록, 주문 내역 등의 데이터 관리.public class User { private String name; private String email; // 생성자, getter, setter} View (뷰)역할: 사용자 인터페이스(UI)를 담당합니다. 모델의 데이터를 사용자에게 보여주고, 사용자로부터 ..