본문 바로가기

스터디정리방8

[기록] 211229 1. 트랜잭션 더 이상 나눌 수 없는 일련의 단위 작업을 뜻한다. 대표적인 예로 계좌이체를 많이 말한다. 계좌이체를 예를 보면 다음과 같은 순서로 작업이 일어난다. 계좌이체하고자 하는 금액 입력 계좌에 뽑고자하는 금액보다 많은 금액이 들어있는지 확인 들어있다면 출금 송금한 계좌에 입금된 만큼 + 2. ACID ACID는 트랜젝션의 특징들의 앞글자를 딴 단어이다. Atomicity(원자성) 트랜잭션을 구성하는 1~4번이 모두 수행되거나 모두 수행되지 않아야 하는 특성을 말한다. 이는 DB에 대해서 알아야 하는데 DB에서 자동으로 이전에 commit 된 상태를 임시 영역인 rollback segment 에 저장을 해놓고 장애가 발생할 떄 rollback segment 에 저장해놓았던 상태로 rollback을.. 2022. 1. 2.
[기록] 211222 1. 예외 예외처리 : 프로그램 실행 시 발생할 수 있는 예외에 대비하는 것으로 프로그램 비정상종료를 막고 실행 상태를 유지하는 것. 에러(error) : 발생 시 수습할 수 없는 심각한 오류. (컴파일에러, 런타임에러 등) 예외(exception) : 예외 처리를 통해 수습할 수 있는 덜 심각한 오류. (예외에는 크게 Error(java.lang.Error), Exception(java.lang.Exception)과 체크예외, RuntimeException과 언체크/런타임 예외 가 있다.) 2. Checked Exception & UnChecked Exception . *간단하게 RuntimeException을 상속하지 않는 클래스는 Checked Exception, 반대로 상속한 클래스는 Unchec.. 2021. 12. 26.
[기록] 211215 1. JUnit의 동작 방식 JUnit에는 생명주기가 있다. @BeforeClass부터 @AfterClass까지 정해진 순서를 따른다. 동일한 어노테이션이 반복된다면, 그들간의 순서는 보장받지 못한다. 이것은 각 테스트가 최소 단위로 진행된다는 것을 전제하기 때문이다. 테스트 클래스에서 @Test가 붙은 public이고 void형이며 파라미터가 없는 테스트 메소드를 모두 찾는다. 테스트 클래스의 오브젝트를 하나 만든다. @Before가 붙은 메소드가 있으면 실행한다. @Test가 붙은 메소드를 하나 호출하고 테스트 결과를 저장해둔다. @After가 붙은 메소드가 있으면 실행한다. 나머지 테스트 메소드에 대해 2~5번 을 반복한다. 모든 테스트의 결과를 종합해서 돌려준다. 추가로 @BeforeClass와 .. 2021. 12. 18.
[기록] 211208 1. 스프링 의존성 주입방법 총 3가지 생성자 주입(Constructor Injection) , 수정자 주입(Setter 주입, Setter Injection), 필드 주입(Field Injection) - 생성자 주입은 생성자를 통해 의존관계를 주입하는 방법으로 생성자의 호출 시점에 호출됨 - 생성자 호출 시점에 1번만 호출된다. - final 을 사용할 수 있어서 불변객체임이 보장된다. - 순환참조를 방지한다. (순환참조일 경우 앱구동시 에러) - 테스트 코드 작성이 용이하다. * 수정자 주입 - setter 를 사용하여 의존관계를 주입하는 것으로 의존관계 주입은 한 번 일어나면 애플리케이션 종료시점까지 변경되는 일이 거의 없지만, 수정자 주입은 변경될 위험이 있다. * 필드 주입 - @Autowir.. 2021. 12. 2.