[JavaScript][Vue.js] Composition API란? - Options API와의 차이부터 ref, computed, watch까지
·
개발/JavaScript
Vue 3에서 컴포넌트의 로직을 작성하는 대표적인 방식이 Composition API다.Composition API는 컴포넌트에서 사용하는 데이터, 함수, 계산된 값, 감시 로직 등을 하나의 기능 단위로 묶어서 작성하는 방식이다.Vue 2에서는 주로 Options API를 사용했지만, Vue 3에서는 Composition API와 현재 값: {{ count }} 2배 값: {{ doubleCount }} 증가 감소 카운터와 관련된 상태와 함수가 하나의 영역에 모여 있다.[카운터 기능]countincrement()decrement()doubleCount이처럼 기능과 관련된 로직을 하나의 묶음으로 구성하는 것이 Composition API의 핵심이다.기존 Options API와 ..
[Spring] Swagger UI와 OpenAPI 문서화 정리
·
개발/Spring
API 명세를 자동으로 만들고 직접 테스트하는 방법REST API를 개발하면 프론트엔드 개발자나 다른 백엔드 개발자에게 다음 정보를 전달해야 한다.어떤 URL을 호출해야 하는가?어떤 HTTP Method를 사용하는가?요청 데이터는 어떤 형식인가?성공과 실패 시 무엇을 반환하는가?이 내용을 별도의 문서에 수작업으로 작성하면 실제 코드가 변경되었는데 문서는 갱신되지 않는 문제가 생길 수 있다.Spring Boot에서는 springdoc-openapi를 사용해 Controller와 DTO를 분석하고, OpenAPI 명세와 Swagger UI를 자동으로 생성할 수 있다.1. OpenAPI와 Swagger UI의 차이두 용어는 함께 등장하지만 역할이 다르다.OpenAPI Specification→ REST API..
[SKALA] 입력값 검증부터 Spring JPA와 API 문서화
·
개발/SKALA 4기
전역 예외 처리, 자동 설정, AOP, 트랜잭션과 OpenAPI [SKALA] 4주차 학습 정리 ③: 컴포넌트 스캔과 Spring 컨테이너, HTTP 요청 바인딩 정리https://daniellee09.tistory.com/56 [SKALA] 4주차 학습 정리 ②: Spring Boot 설정 관리와 MVC·Actuator 정리Configuration, Profile부터 Spring MVC 요청 처리와 운영 모니터링까지이전 글에서는 객체지향 프로그래밍과 RESdaniellee09.tistory.com 이전 글에서는 컴포넌트 스캔과 Spring 컨테이너, IoC·DI, HTTP 요청 데이터 바인딩, Lombok의 기본 사용법까지 정리했다.이번 학습은 잘못된 요청을 차단하고 오류를 일관된 형식으로 응답하는 방..
[SKALA] 컴포넌트 스캔과 Spring 컨테이너, HTTP 요청 바인딩 정리
·
개발/SKALA 4기
https://daniellee09.tistory.com/56 [SKALA] 4주차 학습 정리 ②: Spring Boot 설정 관리와 MVC·Actuator 정리Configuration, Profile부터 Spring MVC 요청 처리와 운영 모니터링까지이전 글에서는 객체지향 프로그래밍과 REST API, Spring Boot의 기본 구조, IoC와 의존성 주입을 정리했다.이번에는 Spring Boot 애플리케이daniellee09.tistory.com Bean 등록부터 Lombok과 입력값 검증까지이전 글에서는 Configuration과 Profile, Spring MVC의 요청 처리 구조, Controller–Service–Repository 계층, Actuator를 이용한 운영 모니터링까지 정리했다..
[Spring] MVC 패턴과 Spring MVC 동작 원리 정리
·
개발/Spring
Controller, Service, RepositorySpring Boot로 REST API를 만들다 보면 자연스럽게 다음과 같은 구조를 사용하게 된다.Controller→ Service→ Repository→ Database처음에는 단순히 “Spring에서는 이렇게 폴더를 나누는구나”라고 생각하기 쉽다.하지만 이 구조는 파일을 보기 좋게 정리하기 위한 규칙이 아니라, 각 객체의 책임을 분리하여 변경과 테스트에 유리한 프로그램을 만들기 위한 설계 방식이다. 이번 글에서는 MVC가 무엇인지부터 시작해 Spring MVC가 HTTP 요청을 처리하는 실제 과정, @Controller와 @RestController의 차이, 그리고 간단한 상품 조회 API 예제까지 정리해 본다.1. MVC 패턴이란?MVC는 애..
[SKALA] 객체지향(OOP)과 Spring Boot 핵심 정리
·
개발/SKALA 4기
객체지향 프로그래밍부터 REST API, Spring Boot의 IoC·DI까지이번 학습에서는 Spring Boot로 REST API를 구현하기 전에 필요한 백엔드 개발의 기본 개념을 살펴보았다.처음부터 Controller 코드를 작성하는 것이 아니라, Java 객체지향 프로그래밍과 SOLID 원칙을 먼저 학습한 뒤 REST API의 설계 방식, Spring과 Spring Boot의 특징, 개발 환경 구성, 마지막으로 IoC와 의존성 주입까지 이어지는 흐름이었다.객체지향 프로그래밍→ RESTful API 설계→ Spring과 Spring Boot→ 개발 환경 구성→ Spring 컨테이너와 IoC·DI위 다섯 가지 흐름으로 내용을 정리해보겠다.1. 객체지향 프로그래밍과 SOLID 원칙절차적 프로그래밍과 객..
[Java] 게시판 만들기 - 3
·
개발/java
이전 글에서 Repository를 만들었고, 이제 계층 간 데이터 교환을 위한 Dto를 만들 차례다.Repository에 관한 자세한 내용은 이전 글을 참고하자. [Java] 게시판 만들기 - 2Board Entity를 만들었으니 Repository를 개발해보자. (이전글 참조) [Java] 게시판 만들기 - 1프로젝트 설계 부분은 이전 게시글을 참고하자. [Java] 게시판 만들기 - 0백엔드 공부용으로 CRUD 기능을 갖는daniellee09.tistory.com 우선 아래처럼 클라이언트 요청의 종류에 따라 다른 data를 전송할 Dto 3개를 만들었다. 1. BoardResponseDto클라이언트에게 보낼 게시글 응답 데이터와 관련된 Dto로 이해하면 될 것이다. 전체 코드는 다음과 같다.packa..
[백엔드] REST API란?
·
개발/백엔드
웹 개발을 공부하다 보면 무조건 마주치게 되는 REST API에 대해 자세히 알아보고자 한다. "RESTful하게 API를 만드는 게 좋아" 와 같은 말을 많이 들었는데, 막상 설명하려고 하면 말이 잘 나오지 않았다.차근차근 개념부터 정리해보자. 1. 개념먼저 API부터 알아보기 위해 우리가 식당에 가서 음식을 주문하는 상황을 가정해보자.나(손님): 클라이언트(Client)웨이터: API (Application Programming Interface)주방: 서버 (Server)메뉴판: API 명세서 (어떤 요청을 할 수 있는지 정리한 문서)손님(클라이언트)은 메뉴판을 보고 웨이터(API)에게 "파스타 하나 주세요."라고 요청(Resquest)을 보낸다.그럼 웨이터는 주방(Server)에 주문을 전달하고..
[Django] Serializer란?
·
개발/Django
장고의 Serializer는 Django REST Framework에 존재하는 클래스이다.Serializer는 크게 다음의 두 가지 역할을 한다.모델 인스턴스를 python 기본 자료형 또는 JSON으로 변환 (직렬화)클라이언트로부터 받은 JSON이나 python 자료형 데이터를 검증(Validation)하고 모델 인스턴스로 변환하고 저장 (역직렬화)먼저 Serializer는 왜 필요할까?1. Serializer가 필요한 이유웹 API에서 데이터는 JSON 형태로 주고받는다.Django의 QuearySet이나 모델 인스턴스는 바로 JSON으로 직렬화(serialize)되지 않는다.반대로, 클라이언트가 보낸 JSON을 곧바로 모델 인스턴스에 넣을 수도 없다.따라서 Serializer를 통해 "모델 ↔ JS..