나의 필터가 두 번 적용된 이유

[Spring Boot] 나의 필터가 두 번 적용된 이유

OAuth2.0 구글 로그인 기능을 추가하던 중에 스프링 시큐리티(Spring Security)를 사용하여 JWT 인증을 구현하는 과정에서 한 번 적용되어야 할 필터가 두 번 적용되어 당황했던 경험이 있습니다. 이를 통해 알게 된 내용을 공유합니다. 필터 적용 이유 아래는 Spring Security의 설정을 관리하는 클래스입니다….

다형성 예제로 이해하기

다형성 예제로 쉽게 이해하기

객체 지향 프로그래밍의 꽃이라고 할 수 있는 다형성을 예제를 통해 쉽게 알아보겠습니다. 코드의 중복을 줄이고, 변경에 유연한 코드를 작성하기 위해서는 다형성을 이해할 필요가 있습니다. 다른 사람이 작성한 코드를 이해하거나 스프링과 같은 프레임워크를 이해하기 위해서도 반드시 알고 있어야 하는 필수적인 개념입니다….

클래스 의존성과 연관관계

클래스 의존성과 연관 관계 (다이어그램으로 표현하기)

개발자들은 의존성, 연관 관계에 대한 이야기를 흔하게 들을 수 있습니다. 저는 이 용어에 익숙하지 않을 때 많이 헷갈렸던 것 같습니다. 여러 가지 관계에 대해 다이어그램으로 표현하는 방법이 다양해서 혼란스러웠는데요. 저와 같은 경험을 하시는 분들이 계실 것 같아서 클래스의 다양한 관계들…

이상과 현실의 균형 잡기

이상과 현실의 타협에 대하여

이상과 현실 사이의 우리 우리는 언제나 이상과 현실 그 사이에 존재합니다. 가까워질 수는 있어도 잡힐 듯 잡히지 않는 게 바로 이상이죠. 여러분들은 꿈꾸고 있는 이상이 있나요? 현실은 어떤가요? 이상이라는 것은 현실이 있기 때문에 더 빛이 나는 것 같습니다. 어둠 속의…

복잡한 쿼리를 피하는 방법

복잡한 쿼리를 피하는 방법

여러분은 다른 사람이 작성한 복잡한 쿼리를 분석하느라 고생한 경험이 있으신가요? 저는 암호라고 해도 될 정도로 복잡한 쿼리를 만나서 매우 당황했던 기억이 있습니다. 하나의 쿼리가 다양한 일을 하고, 심지어 불필요한 작업들을 포함하기도 합니다. 쿼리를 몇 번이고 반복해서 읽으며 정확히 분석하지 않으면…

트러블슈팅, 원칙적 접근과 기록의 힘

트러블슈팅, 원칙적 접근과 기록의 힘

원칙적 접근은 온갖 시련으로부터 우리의 마음을 안전하게 지켜준다. 이 글은 문제의 원인을 파악하고 해결하는 과정에서 원칙을 세우고 기록하며 일을 처리할 때 얻는 이점에 대한 이야기다. 트러블슈팅을 소재로 하여 작성되었지만, 꼭 트러블슈팅이 아니더라도 원칙적 접근과 기록은 다양한 일에 적용할 수 있다는…

멘탈 관리 방법과 목표 달성 비결

멘탈 관리와 목표 달성의 비결: 성장 게이지

수많은 좌절과 면접 탈락, 실수와 실패를 딛고 성장하여 목표를 달성할 수 있게 해준 나의 필승 마인드, 멘탈 관리 방법을 공유한다. 험난한 세상이다. 앞으로도 셀 수 없이 찾아올 고난을 헤쳐나가기 위해 우리는 강한 멘탈을 가져야 한다. 멘탈 관리가 목표 달성의 기본이다….

JUnit 테스트 시작하기

JUnit 테스트 시작하기 (다운로드 및 설정)

Junit 테스트에 대해서 알고 있는 java 개발자 분들이 많을 것이다. 개발자들 사이에서 단위 테스트(Unit Test)가 중요하다는 말을 쉽게 들을 수 있다. Java 개발자가 JUnit 테스트의 첫 발을 뗄 수 있도록 돕기 위해 이 글을 작성했다. 시작이 반이다. 일단 시도해보길 권한다….

재귀함수 예제 이해하기

재귀함수 예제로 이해하기, 3가지 규칙

재귀함수를 이해하는 과정은 험난하지만 개발자로서 실력을 한 단계 높이기 위해 반드시 거쳐야 할 관문 중 하나다. 필자는 재귀 함수를 이해하는 데 꽤 긴 시간이 걸렸다. 그 과정에서 알게 된 세 가지 규칙을 공유한다. 재귀함수 예제를 활용해 쉽게 이해할 수 있도록…

코드스멜 중독에서 벗어나기

코드스멜을 경계해야 하는 진짜 이유

스프링 프레임워크를 사용하는 프로젝트에서 흔히 나타나는 안티 패턴이 있다. ‘빈약한 도메인 모델’. 들어 본 적 있나? 잠깐, 어디서 고약한 코드스멜이 나는 것 같다. 혹시 xxxVO 혹은 xxxDTO 와 같은 이름으로 상태(클래스의 필드)와 getter, setter만을 가진 수많은 클래스들이 있는가? 단지 C언어의…