썸네일 트랜잭션과 @Transactional Transaction이란 Spring은 @Transactional 어노테이션을 이용해 선언적 트랜잭션 처리를 할 수 있도록 지원한다. 그렇다면 먼저, 트랜잭션이란 뭘까? 트랜잭션이란, DB의 상태를 변화시키기 위해 진행하는 작업의 단위를 말한다. CRUD의 C U D에 해당하는 SQL 질의어(INSERT, DELETE, UPDATE)를 통해 DB에 접근하는 것을 말한다. 이 때, [SQL 질의어 하나 == 직업의 단위] 가 아니다. 예시 : 송금 A의 계좌에서 B의 계좌로 100만원을 송금한다고 가정하자. 그리고 프로세스는 다음과 같다고 하자. 출금 : A의 계좌에서 100만원이 차감된다. (UPDATE) 입금 : B의 계좌에 100만원을 추가한다. (UPDATE) 그런데 그 짧은 순간 네트워크에 문제가..
썸네일 Spring 과 Spring Boot 의 차이 Python을 이용한 Django, Ruby를 이용한 Ruby on Rails, Javascript를 이용한 Node.js가 있듯이 Spring은 Java를 기반으로 하는 웹 어플리케이션 제작이 가능한 프레임워크이다. IoC(제어의 역전)와 DI(의존성 주입), AOP(관점지향 프로그래밍) 등의 장점을 갖고 있다. 그럼 Spring Boot는 뭘까? Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". "스프링부트로 [단순 실행]만 하면 되는 스프링 기반의 어플리케이션을 쉽게 만들 수 있다." 이와 관련해 다음의 이미지들이 정말 잘 와닿았다. 즉 Sp..
썸네일 API - 3 (PUT, DELETE) PUT 수정을 요청하는 PUT API 를 만들어 보자. CarController.java 에 다음 코드를 추가하면 된다. @PutMapping("/api/cars/{id}") //변경할 데이터 ID 까지 public void updateCar(@PathVariable Long id, @RequestBody CarRequestDto carRequestDto){ carService.update(id, carRequestDto); } 이전의 @GetMapping, @PostMapping 과 URL 이 조금 다르다는 것을 알 수 있는데, 해당하는 ID 값을 가진 데이터를 찾아서 수정해야 하기 때문에 {id} 를 추가해줬다는 차이가 있다. 이는 PUT 방식으로 위 주소로 이동했을 때 작동하는 updateCar 메..
썸네일 REST / REST API / RESTful 간단히 정리 REST 지금까지는 간단하게 REST 란 서버의 응답이 JSON 형식일 때, 혹은 주소에 명사를, 요청방식에 동사를 사용해 의도를 명확하게 하는 것 이라 정의했다. 조금 더 정확하게 설명하자면 REST(Representational State Transfer) 란 웹에 존재하는 모든 자원에 고유한 URI 을 부여하여 활용하는 것을 의미한다. 자원을 구분하여 해당 자원의 상태/정보를 주고 받는 모든 것을 의미한다. 라고 할 수 있다. 여기서 말하는 자원에는 이미지, 동영상, DB 등이 있다. - HTTP URI 을 통해 자원 명시. - HTTP Method(POST, GET, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD operation 적용 Resource (자원) 자원은 Server 에 ..
썸네일 API - 2 (GET, POST) 참조 - API란 무엇인가요? AWS : https://aws.amazon.com/ko/what-is/api/ API란 무엇인가요? - API 초보자를 위한 가이드 - AWS aws.amazon.com API 는 간단하게 클라이언트와 서버간의 약속이라고 설명할 수 있다. 클라이언트가 서버에게 요청을 보내면, 서버가 요구사항을 처리한 후 응답하는 것이다. REST(Representational State Transfer) 는 클라이언트가 서버 데이터에 액세스 할 때 사용 가능한 GET, POST, PUT, DELETE 등의 함수 집합을 정의한다. 간단히 정리하자면 REST 란 주소에 명사를, 요청 방식에 동사를 사용해 의도를 명확히 드러내는 것을 의미한다. 동사는 JPA 에서 배웠던 CRUD 를 생각하면 ..
썸네일 DTO DTO에 대해 설명하기 전에 MVC패턴을 이해할 필요가 있다. MVC 패턴은 애플리케이션을 Model, Controller, View 세 가지로 구분하는 디자인 패턴이다. Model : DB와 관련된 일을 한다. View : 데이터를 받아서 표현하거나 사용자 요청을 받는다. Contoller : Model에서 데이터를 받아 View로 전달해주거나 View에서 들어온 요청을 해석해 Model을 변경한다. 비즈니스 처리로직(Model)과 UI(View)의 중간에서 Controller가 이들을 연결해주는 역할을 한다. 서로 분리함으로써 각자 역할에만 집중하게 하는 것이다. 이런 경우 유지보수, 확장, 유연성, 중복해결 등 다양한 측면에서 유리해진다. DTO(Data Transfer Object) 란 이러한 계..