백엔드 6

스프링부트 프로젝트1 계층구조를 구성하여 글 저장 로직 작성하기

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. 스프링부트를 이용하여 기본적인 CRUD를 구성하고 있는 간단한 블로그 프로젝트를 구성하겠습니다.   1. 프로젝트 구조   프로젝트는 계층형 아키텍처(Layered Architecture)를 기반으로 설계하였습니다. 위 그림과 같은 계층 구조를 구성하여, 각 레이어가 명확한 역할을 수행하도록 하였습니다.각 계층은 서로 긴밀하게 상호작용하며, 요청과 응답을 주고받는 구조로 이루어져 있습니다.클라이언트(Client)사용자가 직접 요청을 보내는 역할을 합니다.프레젠테이션 계층클라이언트로부터 받은 요청을 처리하고, 적절한 서비스(Service) 계층에 전달합니다.요청을 검증하고, 필요한 경우 예외 처리를 수행합니다.일반..

PSA(이식 가능한 서비스 추상화)

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. Spring을 이해하는데 있어서 가장 중요한 3가지 핵심특징을 뽑으라고 하면 IoC/DI, AOP, PSA를 뽑을 수 있습니다. Spring 프레임워크는 애플리케이션을 구성하는 틀을 제공해 줄 뿐만 아니라 애플리케이션 코드를 어떻게 작성해야 하는지 에 대한 기준도 제공해 주는데 이를 일반적으로 프로그래밍 모델이라고 부르며 Spring에서는 3가지 핵심 프로그래밍 모델을 지원하며 이에 맞춰 개발할 것을 권장하고 있습니다.IoC/DIAOP서비스 추상화이 3가지 프로그래밍 모델 중에 이번글에서는 서비스 추상화(PSA)에 대해서 알아 보겠습니다. 1. PSA (Portable Service Abstraction)란? 스..

관점 지향 프로그래밍(AOP)

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. 1. 관점 지향 프로그래밍(AOP)란? 스프링에서 또 하나 중요한 개념으로는 AOP(Aspect Oriented Programming)가 있습니다. 한국어로 관점 지향 프로그래밍으로 불리기도 하는데 의미를 풀어서 설명하자면 프로그래밍에 대한 관심을 핵심,관점,부가 관점으로 나누어서 관심 기준으로 모듈화 하는 것을 의미합니다.  예를 들어 계좌 이체, 고객관리하는 프로그램이 있을 때 각 프로그램에는 지금까지 벌어진 일을 기록하기 위한 로깅 로직과 여러 데이터를 관리하기 위한 데이터베이스 연결 로직이 포함됩니다. 이때 핵심 관점은 계좌 이체, 고객 관리 로직이고, 부과관점은 로깅, 데이터 베이스 연결 로직 입니다.그..

라이브러리와 프레임워크

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. 우리는 개발에 생산성과 효율성을 높이기 위해서 라이브러리와 프레임워크를 사용하게 됩니다. 라이브러리와 프레임워크를 사용시 개발속도가 향상되고 표준화 및 품질을 보장 할 수 있습니다. 따라서 빠르고 효율적인 개발을 위해 필요한 라이브러리와 프레임워크가 무엇인지 알아보겠습니다. 라이브러리란?라이브러리는 애플리케이션 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드의 모음을 말합니다. 개발자가 소프트웨어를 만들 때 필요에 따라 원하는 기능을 구현하기 위해 코드의 모음을 가져다 쓸 수 있는 일종의 도구 역할을 합니다.라이브러리의 특징필요한 기능만 호출해서 사용개발자가 원하는 기능만 선택적으로 호출해 사용합니다.예:..

서버와 클라이언트

이 글은 스프링부트3 백엔드 개발자 되기 책을 바탕으로 공부한 내용을 정리한 게시글 입니다. 인터넷 서비스는 보통 서버와 클라이언트가 관계를 맺습니다. 클라이언트가 서버에 다양한 요청을 하면 클라이언트가 요청한 내용을 처리하고 응답하는 식으로 서비스가 이루어 집니다. 1. 클라이언트란?클라이언트는 서버로 요청하는 프로그램을 모두 일컬어 말합니다. 대표적으로 웹브라우저가 있습니다. 클라이언트의 주요 역할은 다음과 같습니다:요청(Request): 사용자의 입력(버튼 클릭, 링크 클릭 등)에 따라 서버에 데이터를 요청합니다. 예를 들어, 검색어를 입력하고 검색 버튼을 누르면 클라이언트는 서버에 검색어와 함께 데이터를 요청합니다.응답(Response) 처리: 서버에서 응답받은 데이터를 사용자에게 보여줍니다. 서..

스프링부트 프로젝트 생성 및 초기설정 git연결

스프링부트를 이용하여 프로젝트 2개를 완성시켰지만 개발을 안한지도 좀 되었고 지금은 다른일을 하고 있기 때문에 다시 기초부터 차근차근 하기 위해서 스프링부트 3 백엔드 개발자 되기 책을 구매해서 처음부터 차근차근 구현해 볼려고 합니다.  직장인이 스프링부트를 처음부터 공부해서 개발자가 되기까지의 과정을 블로그로 이렇게나마 작성하여 기록할려고 합니다. 부족한 글쓰기 실력이지만 그래도 제가 취업준비하는데 좋은 참고자료가 될것도 같고 다른분들에게 조금이나마 도움이 될 수 도 있을거 같아서 작성해 봅니다. 이 게시물은 총 3개의 과정을 담고 있습니다.1. 프로젝트 생성2. git연결3. 초기 설정이 순서대로 게시물을 작성해 보겠습니다. 1. 프로젝트 생성첫번째 입니다. 프로젝트 생성법입니다.인텔리제이 상단 메뉴..