반응형

API 8

스프링 MVC - 기본 기능

https://surrealcode.tistory.com/129 스프링 MVC - 구조 이해https://surrealcode.tistory.com/128 MVC 프레임워크 만들기프론트 컨트롤러 패턴 소개https://surrealcode.tistory.com/127 서블릿, JSP, MVC 패턴간단한 웹 애플리케이션을 만들어 보도록 하자.서블릿으로 만든 후 Jsurrealcode.tistory.com스프링 MVC의 기본 기능을 알아보기 전에 스프링MVC의 구조에 대해 숙지하여 보자.  우선 새로 프로젝트를 하나 생성한다.https://start.spring.io/ War 대신 Jar를 선택해주어야 한다.Jar를 사용하면 항상 내장 서버(톰캣등)을 사용하고 'webapp' 경로도 사용하지 않는다.. 내장..

공부/Spring 2025.03.20

API 개발 고급 - 실무 필수 최적화

OSIV와 성능 최적화Open Session In View : 하이버 네이트Open EntityManager In View : JPA(관례상 OSIV라고 한다.) spring.jpa.open-in-view : JPA 기본값 애플리케이션을 동작하면 시작지점 로그에 warn이 하나 뜨게 되는데, WARN 6920 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. spring.jpa.open-in-view is enabled by default라는 warn 로그가 출력되는 것을 알 수 있다. OSIV 전략은 트랜잭션 시작(서비스계층의 @Transactional)..

공부/Spring Boot 2025.02.19

API 개발 고급 - 컬렉션 조회 최적화

https://surrealcode.tistory.com/121 API 개발 고급 - 지연 로딩과 조회 성능 최적화https://surrealcode.tistory.com/120 API 개발 고급 - 준비현업에서는 API 개발을 한 이후 성능이 나오지 않아 튜닝을 하기도 하는데 보통은 아래와 같은 문제를 지키지 않아 발생한다.- 지연로딩, 조회 성surrealcode.tistory.com앞서 본 API 개발은 xToOne 관계만 있는 개발이었다. 이번에는 컬렉션인 OneToMany 를 조회하고, 최적화를 진행해 볼 예정이다. 주문내역에서 추가로 주문한 상품 정보를 추가로 조회하자.Order 기준으로 컬렉션인 'OrderItem'과 'Item'이 필요하다. 컬렉션 조회 같은 경우에는 DB 입장에서 뻥튀기가..

공부/Spring Boot 2025.02.19

API 개발 고급 - 준비

현업에서는 API 개발을 한 이후 성능이 나오지 않아 튜닝을 하기도 하는데 보통은 아래와 같은 문제를 지키지 않아 발생한다.- 지연로딩, 조회 성능 최적화- 컬렉션 조회 최적화- 페이징, 한계 돌파- OSIV, 성능 최적화 보통은 API 장애의 90%는 조회 쪽에서 발생한다. -> 사람들이 조회를 많이 하기 때문이다.  조회용 샘플 데이터를 입력하도록 하자.우선 application.yml파일의 ddl-auto를 create로 만들어주도록 하자. - userA  - JPA1 BOOK  - JPA2 BOOK- userB  - SPRING1 BOOK  - SPRING2 BOOK 클래스를 하나 만들고 데이터들을 집어넣어주었다./** * 총 주문 2개 *- userA * - JPA1 BOOK * - JP..

공부/Spring Boot 2025.01.31

API 개발 기본

API(Application Programming Interface) : 클라이언트(웹 브라우저, 모바일 앱)와 서버 간의 데이터 교환을 위한 인터페이스이다. API의 역할1. 클라이언트 요청을 받아 서버에서 처리2. 데이터베이스에서 데이터를 가져와 JSON 형태로 응답3. CRUD(Create, Read, Update, Delete)의 기능 제공 스프링 부트에서는 API가 기본적으로 JSON 형식의 데이터를 주고 받는다.API가 정상적으로 동작하는지 알아보기 위해 우선 Postman을 설치한다.https://www.postman.com/ Postman: The World's Leading API Platform | Sign Up for FreeAccelerate API development with P..

공부/Spring Boot 2025.01.31

HTTP 메서드 활용

https://surrealcode.tistory.com/114 HTTP 메서드https://surrealcode.tistory.com/113 HTTP 기본https://surrealcode.tistory.com/112 URI와 웹 브라우저 요청 흐름https://surrealcode.tistory.com/111 요청 흐름을 파악하기 전 이전 포스팅을 참고하자. - URIURI(Uniform Resource Idsurrealcode.tistory.comHTTP 메서드들을 활용하기 전에 이전 포스팅을 통해 HTTP 메서드를 알아보도록 하자.  - 클라이언트에서 서버로 데이터 전송클라이언트에서 서버로 데이터를 어떻게 전송할까?클라이언트에서 서버로 데이터를 전달하는 방식은 크게 2가지 이다. 1. 쿼리 파라미..

공부/HTTP 2025.01.17

스프링 회원 관리 예제 2

https://surrealcode.tistory.com/86 스프링 회원 관리 예제이번엔 회원 관리 예제를 만들어보려 한다.기본 환경설정에 관한 내용은 아래를 참고하자.https://surrealcode.tistory.com/85 스프링 입문 - 프로젝트 환경 설정2https://surrealcode.tistory.com/84 스프링 입문 -surrealcode.tistory.com 회원 관리 예제 - 웹 MVC개발 회원 웹 기능회원 웹 기능 폼을 만들어보자.@Controllerpublic class HelloController { //localhost:8080으로 들어오면 나오는 홈 화면 @GetMapping("/") public String home(){ return "..

공부/Spring 2024.10.21

스프링 입문 - 프로젝트 환경 설정2

https://surrealcode.tistory.com/84 스프링 입문 - 프로젝트 환경 설정https://start.spring.io/ 스프링 부트 기반으로 스프링 프로젝트를 만들어주는 사이트이다. 요즘 추세는 Gradle 프로젝트를 진행한다. Java언어를 선택하고 최신 부트 버전을 선택한다.(SNAPSHOT이나 M이surrealcode.tistory.com 이전에 스프링 프로젝트의 환경 설정을 진행했었다. 이번엔 코드를 짜고 프로그램을 직접 돌려보자.package hello.hello_spring;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplic..

공부/Spring 2024.10.15
반응형