본문 바로가기

전체 글48

[Error]Throwable 숙명 VS 운명 잘 숙, 목숨 명, 어떠한 의지나 노력으로도 바꿀 수 없는 이미 결정되어 있는 삶을 의미한다. 옭길 운, 목숨 명운명은 어떠한 의지나 노력으로 바뀌어지는 삻을 의미한다. Error VS Exception Error 프로그램 외부에서 발생하는 문제를 의미한다. 운영체제의 오류나 메모리 부족등의 문제를 말한다. Exception 프로그램 내부에서 발생하는 문제를 의미한다. 사용자 혹은 개발자의 의해 발생하는 문제를 말한다. 예외는 에러와 같이 프로그램에 문제가 생기기 때문에 종료된다. 2022. 5. 20.
[SpringDB]트랜잭션 관리 선언적 트랜잰션 관리 Declarative Transaction Management @Transactional 애노테이션 하나만 선언해서 매우 편리하게 트랙잰션을 적용하는 것을 선언적 트랜잭션 관리라 한다. 애노테이션 이전에는 XML에 설정하여 트랜잭션 처리했다. 프로그래밍 방식 트랜잭션 관리 트랜잭션 매니저 또는 트랜잭션 템플릿 등을 사용해서 트랜잭션 관련 코드를 직접 작성하는 것을 프로그래밍 방식의 트랜잭션 관리라 한다. 정리 선언적 방식이 훨씬 간편하고 실용적이기 때문에 대부분 선억적 트랜잭션을 사용한다. 프로그래밍 방식은 스프링 AOP 기술없이 사용이 가능하지 대부분 실무에서는 스프링 컨테이너와 스프링 AOP를 사용하기 때문에 거의 사용되지 않는다. 프로그래밍 방식은 테스트에서 가끔 사용된다. 2022. 5. 20.
[DB]Transaction 트랜잭션은 DB에 작업단위로 ACID특성을 가진다. Atomicity 원자성 더 이상 쪼갤수 없는 작업의 단위 트랜잭션의 단위는 다 성공하거나 다 실패하거나 결과가 트랜잭션 단위 내부에서는 항상 같아야한다. 트랜잭션 내부의 두개에 Insert문이 있을때 둘다 성공하거나 둘다 실패하는 것. 둘중하나만 되는 경우는 없다. Consistency 일관성 트랜잭션이 테이블에 변경 사항을 적용할 때 미리 정의된, 예측할 수 있는 방식만 취합니다. 트랜잭션 일관성이 확보되면 데이터 손상이나 오류 때문에 테이블 무결성에 의도치 않은 결과가 생기지 않습니다. 잘모르겠음 공부해야함. Isolation 격리성 각각의 트랜잭션은 서로 독립적으로 격리되어 있다. 두개의 트랜잭션이 동시에 수행되더라도 서로에게 영향을 줄수 없다... 2022. 5. 14.
[EffectiveJava]생성자 대신 정적 팩터리 메서드를 고민하라. 생성자란? 정적 팩터리 메서드란? 생성자 대신 정적팩터리 메서드를 사용시 이점 이름을 가질수 있다. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 반환 타입의 하위 타입 객체를 반활할 수 있는 능력이 있다. 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 정적 팩터리 매서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다. 정적 팩토리 메서드 네이밍 컨벤션 from : 하나의 매개 변수를 받아서 객체를 생성 of : 여러개의 매개 변수를 받아서 객체를 생성 getInstance | instance : 인스턴스를 생성. 이전에 반환했던 것과 같을 수 있음. newInstance | create : 새로운 인스턴스를 생성 get[OtherType] : 다른 타입의 인.. 2022. 5. 4.