목록강의수강/[Spring] (22)
미소를뿌리는감자의 코딩
1. aws를 선택한 이유 처음으로 도커를 이용해서 프로그램을 올리는 과정이었기 때문에, 신생인 ncp 보다는 비교적 참고 자료가 많은 aws를 이용해서 적용해보고자 하였다. 2.NLB 말고 ALB를 사용한 이유 Classic Load Balancer는 비효율성 때문에 outdated되었고, GateWay Load Balancer 는 트래픽 체크에 주된 녀석이니, 후보로는 NLB와 ALB가 남았다. NLB는 7계층 중에서 4계층에 해당하는 layer를 다루는 로드 밸런서 이므로, 속도적 측면에서 ALB보다 성능이 더 빠르다고 할 수 있다. 이에, 대규모 트래픽 상황에서는 NLB가 ALB가 더 적합하다고 판단하였다. 하지만, ALB는 계층은 NLB보다 높고, 속도적 측면에서도 NLB가 더 빠르다고 할 수 ..
1. 이미지 등록 우선 이미지 등록하는 방법에 대해서 알아볼 것이다. 폼 태그에 enctype을 꼭 작성해주어야 한다. 이후, 이미지 파일을 선택하기 위한 input 필드도 추가해 주어야 한다. 이렇게 이미지 업로드 버튼이 생긴 것을 확인할 수 있다. - service로 이동. @Secured("ROLE_OWNER") @PostMapping("/sail/menu")//새로운 메뉴를 추가해주는 api. 따라서 postmapping 이용. public String createMenu(@ModelAttribute MenuRequestDto requestDto, @RequestParam(value = "image") MultipartFile images, @AuthenticationPrincipal UserDe..
아직 내가 작성하는 코드에서 n+1 문제가 발생하진 않았지만, 흔하게 일어나는 문제인 만큼 이에 대해서 깊게 알아보고자 한다. https://jh2021.tistory.com/21 JPA n+1 문제는 왜 생기는걸까? Java ORM 기술인 JPA를 사용하다보면 필수적으로 n+1문제를 맞닫뜨리게 됩니다. 내가 의도 하지않는 쿼리가 나가고 거기다 여러번 나간다면 정말 무섭겠죠. 왜 발생하고 어떻게 해결해 나가야 정리 jh2021.tistory.com https://incheol-jung.gitbook.io/docs/q-and-a/spring/n+1#entitygraph N+1 문제 | Incheol's TECH BLOG JPA N+1 문제에 대해 알아보자 incheol-jung.gitbook.io 이분의 ..
1. 정의 @Transactional 어노테이션은 특정 메소드나 클래스에 적용된다. 해당 범위 내에서 실행되는 코드가 하나의 트랜잭션으로 처리되어야 함을 스프링에게 알려준다. 작업을 하나의 작업 단위로 묶어서, 모두 성공하거나 실패하면 모두 취소되도록 보장하는 것을 말한다. 2. 특징 데이터 일관성 보장 : 모두 성공적으로 수행되어야 할 때 사용한다. 만약 작업 중 하나라도 실패한다면, 이전 상태로 롤백하여 데이터의 일관성을 유지할 수 있다. 읽기 일관성 유지 : 일관된 데이터를 읽을 수 있도록 보장. -> dirty read를 방지할 수 있다. 자동 롤백 처리 : 자동으로 롤백을 수행. 즉, @Transactional은 데이버 변경 작업을 하나의 논리적은 작업 단위로 묶어서 처리해야할 때, 사용하면 좋..