NestJS
-
Nestjs Lifecycle 과 Event hooksNode 2024. 11. 19. 22:52
1. 라이프사이클NestJS는 애플리케이션 시작과 종료 시 다양한 이벤트를 발생시킨다. 이를 통해 초기화 작업, 리소스 설정, 클린업(종료 작업) 등을 수행할 수 있다.전체 수명 주기를 초기화, 실행 및 종료의 세 단계로 나눌 수 있다.2. 라이프사이클 이벤트NestJS 의 Lifecycle Events 는 애플리케이션 또는 특정 구성 요소(module, provider, controller)의 수명 주기 동안 특정 시점에 실행되는 메서드이다. 명시적으로 각 훅의 인터페이스를 implements 해야 훅이 정상적으로 트리거된다. 2.1. 애플리케이션 초기화 관련 이벤트이벤트대상설명OnModuleInit모듈, 프로바이더모듈이나 프로바이더가 생성되고 의존성이 주입된 후 호출된다.OnApplicationBo..
-
낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock)DB 2024. 11. 14. 20:51
1. 낙관적 락(OPtimistic Lock)낙관적 락은 충돌이 잘 발생하지 않는다고 가정하고 자원을 제어하는 방식이다. 자원을 사용하는 동안 락을 거는 대신, 작업을 끝내기 직전에 충돌이 발생했는지 검사한다. 낙관적 락은 다음과 같은 과정으로 동작한다.자원을 사용할 때 락을 걸지 않고, 다른 프로세스도 동시에 접근할 수 있도록 허용한다.자원 사용이 완료되면, 그 동안 자원이 변경되지 않았는지 확인한다.만약 다른 프로세스가 자원을 변경한 것이 확인되면, 작업을 취소하고 다시 시도한다.이 방식은 자원을 사용하는 동안 락이 걸리지 않기 때문에 성능이 높으며, 충돌이 거의 발생하지 않는 환경에서 효과적이다. 하지만 충돌이 빈번하다면 작업을 반복해야 할 수 있어 비효율적이다. 2. 비관적 락 (Pessimist..