Spring boot
웹 프로그램을 쉽고 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크.
사용자가 일일이 모든 설정을 하지 않아도, 자주 사용되는 기본 설정을 알아서 해준다.
JPA(Java Persistence API)
자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API.
스프링 부트는 JPA를 사용하여 데이터베이스를 처리할 수 있고, JPA를 구현한 대표적인 실제 클래스에는 Hibernate가 있다.
@Entity
@Table(name = "input_data")
public class InputData .. 정의정의
InputData data = new InputData("Alice", "Hello!");
entityManager.persist(data);
이러한 예시에서, 데이터베이스 테이블 input_data에 매핑되는 InputData가 생성되면
Hibernate가 자동으로 다음 SQL을 생성해준다.
INSERT INTO input_data (name, message) VALUES ('Alice', 'Hello!');
왜 JPA와 Hibernate를 사용하는가?
- SQL을 직접 작성하는 번거로움을 줄임.
- 데이터베이스 변경(MariaDB → PostgreSQL 등)이 쉬움.
- 객체지향적으로 데이터를 관리하여 유지보수가 용이함.
REST API
REST : Representational State Transfer, 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미함. HTTP 를 잘 사용하기 위한 아키텍쳐 스타일
https://thalals.tistory.com/284
[백엔드] Rest API / Restful API 란 무엇인가요
이 포스팅에서 말하는 건, 진정한 의미에서의 REST API 가 아닙니다. 명확하게 말하자면 HTTP API에 가깝고, 진정한 의미의 REST API 는 다음 글 (https://thalals.tistory.com/335) 을 봐주세요! 백엔드 면접 단골
thalals.tistory.com
https://thalals.tistory.com/335
[Restful api 란] - 진짜 Rest API 란 무엇이고 어떻게 써야하는 걸까?
사내 세미나로 REST API 에 대해서 준비하면서, HTTP API 와 REST API 가 다르다는 걸 깨달았습니다. 이전에 포스팅했던 REST API란, 이란 글은, HTTP API에 가까웠다고 생각하여, 다시한번 세미나 내용을 정
thalals.tistory.com
CRUD
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete를 묶어서 일컫는 말로
REST에서의 CRUD Operation 동작 예시는 다음과 같다.
Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT, PATCH)
Delete : 데이터 삭제(DELETE)
SSE(Server-Sent Events)
Socket은 양방향으로 데이터를 주고받을 수 있지만
SSE를 사용하게 되면 클라이언트는 데이터를 받을 수만 있게 됨. (서버 -> 클라이언트 단방향)
어떤 기능이 필요한지에 따라서 Socket 혹은 SSE를 사용할지 결정하면 됨.
Maven(메이븐)
자바용 프로젝트 관리 도구. 프로젝트 빌드, 패키지, 배포 등의 역할을 수행하고 각종 라이브러리들을 관리해줌.
CORS(Cross-Origin Resource Sharing)
Protocol + Host + Port 세가지가 같으면 동일 출처라고 한다.
다른 출처 요청일 경우, CORS 정책에 준수하여 요청해야만 정상적으로 응답을 받는다.
다른 출처 요청 정책 중 첫번째는 단순 요청으로, GET, HEAD, POST만 가능하다.
PostMan
API 테스팅 툴?
Yarn
패키지 관리 도구
'ETC' 카테고리의 다른 글
Voice Cloning (1) | 2025.02.20 |
---|---|
프론트엔드 프레임워크 (0) | 2023.03.19 |
10개의 언어로 웹앱 만들기 (0) | 2023.03.09 |
OSI 7 Layer | TCP/IP Updated Layer (0) | 2022.03.14 |
C++ 메모리 접근 형변환 (0) | 2022.01.17 |