서론 애플리케이션에서 로깅(logging)은 디버깅, 모니터링, 그리고 성능 최적화를 위한 필수적인 요소입니다. 특히, 대규모 시스템에서는 로깅의 중요성이 더욱 강조됩니다. Spring 애플리케이션에서 Logback을 활용하여 로깅 시스템을 구축하는 방법에 대해 알아보고자 합니다. Logback은 SLF4J의 구현체 중 하나로, 강력한 성능과 유연성을 제공합니다. XML 구성이나 annotation을 통해 다양한 로깅 환경을 세밀하게 설정할 수 있습니다. Logback 초기 설정 Logback을 설정하기 위해서 dependency를 가장 먼저 설정해줘야 하는데 org.springframework.boot spring-boot-starter-logging 다음과 같은 logging을 넣어줘도 되지만 spr..
서론 Feign Client에서는 요청과 응답을 로깅하는 Logger를 제공합니다. Feign Client의 Logger을 사용하면 HTTP 요청/응답의 세부사항을 추적할 수 있습니다. Interceptor는 Request 즉 요청이 실행되기 전 후에 커스텀 로직을 삽입할 수 있게 합니다. 이를 통해 요청을 수정하거나 추가 정보를 로깅하는 등의 작업을 할 수 있습니다. 예를 들어, 모든 요청에 공통 헤더를 추가하거나 인증 토큰을 주입하는 경우 Interceptor를 사용할 수 있습니다. 마지막으로 Error Decoder는 Feign Client가 API로부터 에러 응답을 받았을때의 동작을 정의합니다. 이를 통해 요청을 수정하거나 추가 정보를 로깅하는 등의 작업을 할 수 있습니다. 예를 들어, 모든 요청..

서론 기존 다른 서버들과 통신하는 Rest API를 사용할 때에 RestTemplate을 사용해서 데이터를 가져왔습니다. https://dolgogae.tistory.com/42 [API] 3. Spring Boot - Naver API 호출(GET) 해당 글의 소스코드는 링크 걸어 두었습니다. GitHub - dolgogae/TIL: Today I Learned Today I Learned. Contribute to dolgogae/TIL development by creating an account on GitHub. github.com 앞선 Get, Post를 통해서 Naver API를 호출해보 dolgogae.tistory.com 위의 저의 글처럼 RestTemplate을 사용해서 API 호출을 ..

서론 Spring에서 bean 객체는 기본적으로 Singleton pattern으로 생성됩니다. 싱글톤 패턴으로 bean 객체를 생성하는 것에서 얻을 수 있는 이점은 아래와 같습니다. 1. 메모리 효율성 리소스 절약: 싱글톤 스코프는 애플리케이션 내에서 단 하나의 인스턴스만 생성합니다. 이는 동일한 객체를 여러 번 생성할 필요가 없어 메모리 사용량을 줄이고, 리소스를 효율적으로 사용할 수 있게 합니다. 2. 공유 상태 관리 중앙 집중식 상태 관리: 싱글톤 빈은 애플리케이션 전반에 걸쳐 공유되는 상태나 설정 정보를 관리하는 데 유용합니다. 예를 들어, 데이터베이스 연결 풀, 설정 관리자, 캐시 등은 여러 컴포넌트에서 공유되어 사용되므로 싱글톤으로 관리하는 것이 적합합니다. 3. 성능 최적화 빠른 접근: 싱..
서론 spring을 사용하다 보면 proxy 객체를 사용하는 경우가 많습니다. 그 전에 proxy라고 함은 디자인 패턴에서 Proxy Pattern를 말하고 있습니다. Proxy Pattern이란 가짜 객체를 미리 만들어 두어 메모리에 진짜 객체가 올라가지 않게 하여 호출되기전 메모리 상 이득을 볼 수 있게 하는 디자인 패턴 중 하나 입니다. Proxy Pattern에 대해서는 다른 블로그에서 잘 정리 되어 있고 아래 블로그들을 참고 사이트로 추천합니다. https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%ED%94%84%EB%A1%9D%EC%8B%9CProxy-%ED%8C%A8%ED%84%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%B0%EC%..
request를 받는 controller를 만들어보자 가장 초기의 형태로는 직접 request, response 객체를 받는 방법이다. @RequestMapping("/requset-param-v1") public void requestParamV1(HttpServletRequest request, HttpServletResponse response) throws IOException{ String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); log.info("username={}, age={}", username, age); response.getWriter().wr..
- Total
- Today
- Yesterday
- feign client
- Linux
- rhel
- 프론트엔드
- apache
- JPA
- apache kafka
- caching
- K8S
- API
- Container
- spring
- Front
- consumer
- spring boot
- frontend
- 리액트
- zookeeper
- cs
- Producer
- centos
- Java
- broker
- Firebase
- React
- NextJS
- KAFKA
- OS
- Data Engineering
- backend
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |