-
Interceptor 스프링의 인터셉터는 어떤 URI를 호출했을 때 요청 컨트롤러가 처리되기 전 또는 후 작업을 하기 위해 사용 된다 (프록시 패턴) 이런 역할은 Filter와 Interceptor로 수행할 수 있다. Spring의 MVC 요청 lifecycle 위치 filter는 dispatcher servlet 앞 단에서 동작 interceptor는 handler로 가기…
🗂️
🗓️
-
부트에서의 트랜잭션 코드 기반의 트랜잭션, 어노테이션을 통한 선언적 트랜잭션 두가지를 지원한다. @EnableTransactionManagement : 어노테이션 기반의 트랜잭션 활성화. PlatformTransactionManager : 스프링이 제공하는 트랜잭션 매니져 등록. @Transactional : 트랜잭션 빈으로 트랜잭션 처리됨. AOP를 활용한 트랜잭션 transactionInterceptorAdvice() AOP_TRANSACTION_ 상수 : Aspect의 필터와 지정대상을 상수로…
🗂️
🗓️
-
Logback Log4j : 자바의 예외를 처리하기 위해 시작된 프로젝트 (종료) fork → Logback slf4j(Simple Logging Facade for Java) 와 함께 사용함 slf4j : 로깅 모듈 Interface slf4j를 이용해 코드를 작성하고 내부적으로 Logback, log4j2로 작동 Logback 설정 appender : 로그를 출력할 타겟을…
🗂️
🗓️
-
리플렉션(Reflection)이란? 자바에서 제공하는 리플렉션(Reflection)은 C, C++과 같은 언어를 비롯한 다른 언어에서는 볼 수 없는 기능입니다. 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을 사용할 수 있도록 합니다. 그러니까, 컴파일 시간(Compile…
🗂️
🗓️
-
1) DFS 그래프 탐색 python 코드 구현 스택이 아닌 재귀호출을 이용한 DFS 구현 2) BFS 그래프 탐색 python 코드 구현 데크를 이용한 BFS 구현
🗂️
🗓️
-
Transaction 트랜잭션의 개념 데이터베이스는 다수의 사용자가 동시에 사용하더라도 항상 모순이 없는 정확한 데이터를 유지해야 한다. 장애 상황에서 마찬가지다. DBMS는 데이터가 정확하고 일관된 상태를 유지할 수 있도록 다양한 기능을 제공하는데 그 중에 하나가 트랜잭션이다. 트랜잭션은 한 작업을 수행하는 데 필요한 데이터베이스의 연산들을…
🗂️
🗓️
-
Normalization 정규화는 데이터베이스를 설계한 후 설계 결과물을 검증하기 위해 사용하기도 한다. 잘못 설계된 데이터베이스는 이상현상이 발생할 수 있다. 이상 현상 Insertion anomaly 삽입 이상 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 위 릴레이션에서 새로운 tuple을 삽입하려면 이벤트번호과 당첨여부까지…
🗂️
🗓️