분류 전체보기
[Spring] HTTP Request, Response 내용을 logging 적용해보기
[Spring] HTTP Request, Response 내용을 logging 적용해보기
2023.05.17목표 - Spring Boot Application에서 HTTP Request, Response 내용에 대해서 logging을 적용해본다. 효과 - logging 적용을 통해 HTTP 요청마다 요청 전문과 응답 전문 내용 확인이 가능해진다. - logging을 통해 오류에 대한 디버깅과 원인 추적을 더욱 쉽고 빠르게 할 수 있다. 실무든 개인 프로젝트든 애플리케이션을 개발하거나 운용할 때 여러 에러를 마주하게 됩니다. 에러를 마주하게 되면 원인을 알아야 해결방법을 생각할 수 있기 때문에 에러 발생 원인을 찾는 것이 아주 중요합니다. 실제 업무하면서도 에러 발생 원인을 찾는데에 많은 시간을 할애하게 됩니다. 여러 단서들을 이곳 저곳에서 확인하고 원인을 추적해나가는데요. http request, respon..
[Spring] Filter 중복 호출되는 경우와 OncePerRequestFilter를 통한 처리
[Spring] Filter 중복 호출되는 경우와 OncePerRequestFilter를 통한 처리
2023.05.07목표 - 하나의 request에서 Filter의 중복 호출되는 사례들을 알아보자 - OncePerRequestFilter를 사용함으로써 Filter 중복 호출 방지 Spring Boot를 사용해 web application을 개발하다보면 Filter를 구현해서 적용하는 일이 반드시 생기게 됩니다. Filter를 사용하다보면 Filter가 중복 호출되는 경우가 발생하게 되는데요. 어떤 경우에 이런 Filter 중복 호출 현상이 발생하는지에 대해 알아보고 OncePerRequestFilter를 통해서 이러한 현상을 방지하는 것까지 정리해보려합니다. (참고로 예시 코드는 kotlin 입니다.) 📌 1. 기본적인 Filter 구성 class FirstFilter : Filter { companion object..
[Jenkins] Lightsail에 Jenkins server 구축해보고 Spring project 빌드해보기
[Jenkins] Lightsail에 Jenkins server 구축해보고 Spring project 빌드해보기
2023.03.12목적 - AWS Lightsail을 통해 생성한 instance에 jenkins server 구축한 내용 기록용 목표 - AWS Lightsail에 띄운 instance에 jenkins server 띄우기 - jenkins server 기본적인 설정 - jenkins item 생성 후 spring project build 해보기 개인 프로젝트에 대한 빌드 자동화를 위해 공부할 겸 Jenkins를 사용해보았습니다. Jenkins를 설치하는 내용보다 설치한 이후 기본적인 설정들과 pipeline을 사용한 item 생성 및 Spring project의 빌드 프로세스 구축한 내용이 주를 이룰 것 같습니다. 📌 1. AWS Lightsail 네트워크 설정 변경 AWS Lightsail을 이용한 instance 설..
[AWS] AWS Lightsail을 이용해 간단하고 저렴하게 클라우드 서버 이용해보기
[AWS] AWS Lightsail을 이용해 간단하고 저렴하게 클라우드 서버 이용해보기
2023.03.03목적 - AWS Lightsail을 이용해 AWS 클라우드 서비스를 이용한 내용을 정리 및 기록 - AWS Lightsail 간편한 설정과 상대적으로 가성비 있는 클라우드 서비스라는 것을 알리기 위함 (다른 더 좋은 것이 있을수도...) 목표 - AWS Lightsail을 이용해 인스턴스 생성해본다. - 인스턴스에 대한 기본 설정에 대해서 알아보자. 개인 프로젝트하면서 나만의 서버를 구축을 해야할 필요성이 생겨서 클라우드 서비스를 이용하기로 했습니다. 클라우드 서버의 가장 큰 장점은 내 개인 노트북으로 까딱까딱 몇 개만 하면 나만의 서버를 구축하고 이용할 수 있다는 것이라 생각합니다. 개인 프로젝트를 빌드하고 배포함으로써 어디서든 내가 만든 서비스를 사용해 볼 수 있다는 점에서 아주 매력적입니다. 이번 ..
[Security] 인증, 인가 예외를 @ExceptionHandler로 적용해보기(ExceptionTranslationHandler)
[Security] 인증, 인가 예외를 @ExceptionHandler로 적용해보기(ExceptionTranslationHandler)
2023.01.20Spring Security에서 인증 및 인가 예외가 발생할 수 있는데 이를 Spring의 @ExceptionHandler로 적용해보는 과정을 정리해보고자 합니다. 해당 글을 이해하기 위해서는 기본적인 Spring Security filter 진행 순서와 과정, 메커니즘을 어느정도 알고 있어야 읽기에 수월할 것 같습니다. (그렇다고 어려운 내용도 아니고 쉽습니다.) 📌 1. 인증 과정에서의 인증 예외 처리 Spring Security에서 인증 과정을 처리해주는 인증 필터가 존재합니다. 예를 들어, 기본적인 form login 방식에서는 UsernamePasswordAuthenticationFilter가 있습니다. 그리고 custom한 인증 필터를 만들어서 적용해보고 싶다하면 여러가지 방식이 있겠지만 Us..
결국은 Call by Reference가 아닌 Call by Value
결국은 Call by Reference가 아닌 Call by Value
2023.01.17프로그래밍 언어를 배우면 Call by Reference와 Call by Value에 대한 내용이 나옵니다. 최근에 이 부분에 대한 오해(?)가 있었는데 이를 해소하면서 배운 점들을 블로그에 정리해보고자 합니다. 📌 Call by Reference? public class CallByReferenceAndValue { static void changeObjectValue(Person target) { target.setName("changed"); } public static void main(String[] args) { Person person = new Person(); person.setName("hello"); System.out.println("before method - Person name..