분류 전체보기34 [Spring] MDC와 TraceId를 활용한 멀티스레드 환경에서의 로그 추적 MDC와 TraceId를 활용한 멀티스레드 환경에서의 로그 추적 스프링 애플리케이션에서 멀티스레드 환경을 다룰 때,로그 추적을 통해 각 요청을 정확하게 파악하는 게 중요하다.여러 요청이 동시에 처리되면 로그가 섞일 수 있는데,'MDC(Mapped Diagnostic Context)'와 TraceId를 활용하면 로그를 효율적으로 추적할 수 있다. 이번 글에서는 이전에 작성한 '싱글스레드와 멀티스레드' 관련글에 이어MDC를 사용해 TraceId를 관리하고, 멀티스레드 환경에서 요청을 어떻게 추적할 수 있는지 알아보겠다. 이전 작성글: 싱글스레드와 멀티스레드의 차이점 및 개념https://bbobsang.tistory.com/63 [JAVA] 싱글스레드(Single-Thread)와 멀티스레드(Mult.. 2024. 12. 29. [JAVA] 싱글스레드(Single-Thread)와 멀티스레드(Multithreading)의 차이점 및 개념 싱글스레드(Single-thread)와 멀티스레드(Multithreading)란 무엇인가? 컴퓨터 프로그램에서 '싱글스레드(Single-thread)'와 '멀티스레드(Multithreading)'는병렬 처리와 동시 실행을 가능하게 하는 중요한 개념이다. 이 두 개념은 프로그램이 어떻게 작업을 처리할지, 자원을 어떻게 효율적으로 사용할지를 결정짓는 핵심적인 차이를 나타낸다. 싱글스레드는 하나의 실행 흐름만을 사용해 순차적으로 작업을 처리하는 방식이다.멀티스레드는 여러 개의 실행 흐름을 동시에 사용해 병렬로 작업을 처리하는 방식이다. 목차 싱글스레드(Single-thread)란 무엇인가?멀티스레드(Multithreading)란 무엇인가?싱글스레드와 멀티스레드의 차이점 1. 싱글스레드(Single-thre.. 2024. 12. 29. 테스트 코드 기본 원칙 목차 1. 테스트 코드를 작성하는 이유2. 테스트 코드 작성의 기본 원칙3. 테스트 코드 잘 작성하는법 1. 테스트 코드를 작성하는 이유 1-1: 디버깅 비용 절감unit 테스트: 도메인 모델과 비즈니스 로직을 테스트, 작은 단위의 코드 및 알고리즘 테스트integration 테스트: 코드의 주요 흐름들을 통합적으로 테스트하며 주요 외부 의존성(ex. 데이터베이스)에 대해서 테스트e2e 테스트: 최종 사용자의 흐름에 대한 테스트이며 외부로부터의 요청부터 응답까지 기능이 잘 동작하는지에 대한 테스트 1-2: 코드 변경에 대한 불안감 해소“버그를 고쳤는데 다른데서 또 터지네…”위와 같은 상황이라면 회귀 버그를 겪고 있는 것. 회귀 버그이전에 제대로 작동하던 소프트웨어 기능에 문제가 생기는 것을 가리킨다... 2024. 12. 14. [Spring] Spring 인증 / 인가 심화 목차 1. JWT 인증2. 인터셉터 ( Interceptor )3.화이트 리스트 ( Whitelist )4. 핸들러 인터셉터 & 핸들러 ( Handler Interceptor & Handler )5. WebConfig, @Configuration6. Filter vs. Interceptor7. 필터 대신 인터셉터를 사용하는 이유 1. JWT 인증 JWT 인증은 클라이언트가 서버에 로그인하면 서버가 JWT를 발급하고, 이후 클라이언트가 요청을 보낼 때마다 그 토큰을 헤더에 담아서 보낸다. 서버는 토큰을 검증해서 유효한 경우에만 요청을 처리한다. 이 방식은 서버에 세션을 저장하지 않아서 Stateless 하게 동작한다. 2. 인터셉터(Interceptor) 인터셉터는 요청이 컨트롤러에 도달하기 전에 또.. 2024. 11. 11. [Spring] Spring AOP, 로그기록 [ Spring AOP와 로그 기록 ] 목차Spring AOP (Aspect-Oriented Programming) 1-1 정의 1-2 역할 및 이점 1-3 주요 구성 요소 1-4 예시 코드로그 기록 2-1 정의 2-2 역할 및 이점 2-3 로그 기록 구현 2-4 예시 코드사용자 ID 가져오기 3-1 정의 3-2 역할 및 이점 3-3 구현 예시결론 1. Spring AOP (Aspect-Oriented Programming) 1-1. 정의AOP는 관점 지향 프로그래밍으로, 공통 기능을 모듈화하여 비즈니스 로직과 분리하는 프로그래밍 패러다임이다. 이를 통해 코드의 응집성을 높이고 유지보수성을 향상시킬 수 있다. 1-2. 역할 및 이점코드 중복 제.. 2024. 10. 31. [Spring] 단위 테스트, JUnit, 테스트 코드 목차JUnit -1.1. JUnit 소개1.2. JUnit의 주요 기능1.3. JUnit 어노테이션1.4. JUnit을 사용한 테스트 실행1.5. JUnit의 장점단위 테스트 -2.1. 단위 테스트 정의2.2. 단위 테스트의 중요성2.3. 단위 테스트 작성 방법2.4. 단위 테스트의 예2.5. 단위 테스트 모범 사례테스트 코드 -3.1. 테스트 코드 정의3.2. 테스트 코드의 종류3.2.1. 단위 테스트3.2.2. 통합 테스트3.2.3. 기능 테스트3.2.4. 회귀 테스트3.3. 테스트 코드 작성 및 관리3.4. 테스트 코드의 중요성JUnit과 단위 테스트의 관계 -4.1. JUnit을 사용한 단위 테스트의 작성4.2. JUnit으로 단위 테스트를 관리하는 방법결론 -5.1. JUnit, 단위 테스트, .. 2024. 10. 29. 이전 1 2 3 4 ··· 6 다음 728x90 반응형