분류 전체보기
-
spring @ControllerAdvice, @ExceptionHandlerSpring/Spring 기본 지식 2021. 4. 7. 15:27
코딩을 하다가 몇개의 Exception은 처리가 쉬운게 이것이 여러개인 경우 또는 Error Message 처리는 어떻게 할까? 라는 의문으로 시작하게 되어 Advice를 공부하게 되었다 코드를 작성을 하게 되면 Exception처리가 매우 길어지거나, 처리하기가 매우 힘들어진다. 그렇기 때문에 스프링에서는 크게 ControllerAdvice, ExceptionHandler 2가지 방법으로 에러처리를 진행한다. 해당코드는 gitHub 확인해주세요 ExceptionHandler Controller나 RestController에서 발생되는 에러를 메소스에서 처리하는 기능을 가졌다. 하지만 단점이 있는데 단점을 알아 보자. 단점 Controller 또는 RestController에서만 작동이 된다. Excep..
-
HTTP와 HTTPS란?Java & 배경지식/기본상식 2021. 3. 11. 13:42
HTTP란? HTTP 서버는 기본 포트인 80번 포트에서 서비스 대기중이며 TCP 80 포트를 사용해 연결하면 서버는 요청에 응답하면서 자료(텍스트)를 주고받는다 단순텍스트를 주고받기 때문에 네트워크에서 전송 신호를 인터셉트하는 경우 원하지 않는 데이터 유출이 발생할 수 있다. HTTPS란? HTTPS는 기존 HTTP 레이어에서 SSL(TLS) 프로토콜을 얹어 평문 데이터를 암호화하는 프로토콜이다 HTTPS의 암호화 공개키는 두개의 키를 갖게 되며, A키로 암호화 하면 B키로 복호화가 가능하며, 반대로 B키로 암호화 하면 A키로 복호화가 가능하다. 여기서 두개의 키중 하나는 공개키(public key)가 되며, 하나는 비공개키(private key)가 된다. 두개의 키가 동작되는 원리를 간단히 살펴보면,..
-
데이터 중심 테이블 설계와 객체 중심의 테이블 설계김영한(인프런 강의) 2021. 3. 10. 23:07
개발자와 이야기 도중에 데이터 중심 테이블 설계와 객체 중심의 테이블 설계에 대해 질문이 있어 대답은 했는데 한마디로 개소리를 대답한것 같다. 챙피함.. 그래서 혼자 고민하고 있다가 도저히 결론이 안나서 김영한 님에게 질문을 하였고, 이에 따른 답변이 오게 되었다. 아래와 같이 매우 친절하게 답변을 주셨는데.. 한마디로 설계를 할 때 어느 관점으로 보고 설계를 하는 것이었다... 음 하 얼굴 빨개지네 어제 생각하면 할수록 어쨌든 좋은 답변 감사합니다.!
-
DB 트랜잭션 격리수준(Isolation Level)DataBase/공통 2021. 3. 9. 19:29
트랜잭션 격리수준(Isolation Level)이란? 동시에 여러 트랜잭션이 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지를 결정하는 것. 트랜잭션 격리수준의 필요성 위의 내용중에 '다른 트랙잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지'란 내용이 있는데 이에 따른 level을 정해놨는데 레벨은 4종류가 된다. 레벨이 높으면 높을 수록 비용이 높아지고, 낮으면 낮을 수록 비용이 낮아진다. Locking이 동시에 수행되는 많은 트랜잭션들을 순서대로 처리하는 방식일 수록 비용이 높아지고 아니면 낮아진다. Locking이란? 트랜잭션이 DB를 다루는 동안 다른 트랜잭션이 관여하지 못하게 막는것 트랜잭션 격리수준(Isolation Lev..
-
스프링 데이터 JPA김영한(인프런 강의)/실전! 스프링 데이터 JPA 2021. 2. 15. 11:58
코드 github.com/rlawls1991/Study_practice_RestAPI 스프링 데이터 JPA 전 강의를 보게 된다면 Repository를 직접 상황에 맞게 구현을 해야 한다. 하지만 스프링 JPA는 이와같은 역할을 대신해준다. 어떤식으로 대신해줄까 한번 알아보자 스프링 데이터 JPA 스프링 데이터 JPA 코드 아래는 기본적인 스프링 JPA DATA의 코드이다. 코드를 보게 된다면 JpaRepository 인터페이스를 상속받았다. 하지만 구현체가 없는데 어떤식으로 동작이 될까? import com.jpa.practice.domain.entity.Member; import org.springframework.data.jpa.repository.JpaRepository; public interf..