분류 전체보기(1201)
-
ETC./Spring
2026.10.07
[Spring] 스프링 전역 예외 처리 - @ExceptionHandler와 @RestControllerAdvice 사용법
개발을 하다보면 예외는 반드시 발생합니다. 이때 아무 처리도 하지 않으면 클라이언트는 스프링의 기본 에러 응답이나 스택 트레이스가 섞인 응답을 받게 되죠. 그렇다고 컨트롤러마다 try-catch를 넣으면 코드가 금방 지저분해집니다. 스프링은 이 문제를 해결하기 위해 @ExceptionHandler와 @ControllerAdvice를 제공합니다. 이 기능은 예외 처리 로직을 한곳에 모아두고, 어떤 예외가 발생하든 일관된 형태로 응답할 수 있게 해 주는 도구인데요. 이번 포스팅에서는 자바 예외의 기본 구조부터 시작해 두 어노테이션의 사용법과 우선순위까지 정리해보도록 하겠습니다. 자바 예외 구조 먼저 짚고 가기스프링의 예외 처리를 이해하려면 자바 예외 클래스의 계층 구조를 먼저 알면 좋습니다. 어떤 핸들러가 ..
-
ETC./Spring
2026.10.06
1
[Spring] 스프링 Argument Resolver란 무엇인가?
컨트롤러 메서드에 @RequestParam String name이라고 적으면 스프링이 쿼리 스트링에서 값을 꺼내 넣어주고,@RequestBody UserRequest body라고 적으면 JSON을 객체로 바꿔서 넣어줍니다. 이걸 당연하게 써 왔지만, 누가 어떻게 해주는 걸까요? 그 역할을 하는 것이 Argument Resolver입니다. 이번 글에서는 Argument Resolver가 무엇인지, 스프링이 기본으로 제공하는 것들은 어떤 게 있는지, 그리고 직접 만들어서 로그인 사용자 정보를 컨트롤러에 깔끔하게 넘기는 방법까지 정리하겠습니다. Argument Resolver란?먼저 컨트롤러 메서드가 호출되려면 파라미터에 들어갈 값이 준비되어야 합니다. 그런데 파라미터의 종류는 다양합니다. 쿼리 스트링에서 꺼..
-
ETC./Spring
2026.10.04
[Spring] 스프링 필터(Filter) vs 인터셉터(Interceptor) 차이점과 선택 기준 총정리
지금까지 두 편에 걸쳐 스프링 필터와 인터셉터를 각각 살펴봤습니다. 둘 다 "요청이 컨트롤러에 도착하기 전에 공통 작업을 처리한다"는 점은 같은데, 그렇다면 실무에서는 어떤 상황에 무엇을 써야 할까요? 이번 포스팅에서는 두 도구를 나란히 놓고 비교하면서 선택 기준을 정리해보도록 하겠습니다. ※ 스프링 필터와 인터셉터의 정의가 궁금하시다면 아래 글을 참고해 주세요.[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리 스프링 필터, 인터셉터 요약 정리앞의 글을 읽지 않으신 분들을 위해 핵심만 짚고 가자면 먼저 필터는 자바 서블릿 표준 스펙입니다. 톰캣 같은 서블릿 컨테이너가 관리하고, 스프링..
-
ETC./Spring
2026.10.03
1
[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리
지난 글에서는 스프링 필터에 대해 알아봤습니다. 필터는 서블릿 컨테이너 레벨, 즉 스프링 바깥에서 모든 요청을 가장 먼저 처리하는 도구였는데요. 웹 요청은 이렇게 필터를 지나 DispatcherServlet으로 들어오고, 그 안에서 컨트롤러에 도착하기 직전에 한 번 더 처리 지점을 거칩니다. 이 지점이 스프링 MVC가 제공하는 인터셉터(Interceptor)입니다. 인터셉터는 필터와 하는 일은 비슷하지만 스프링 안에서 동작하기 때문에 할 수 있는 일이 조금 다릅니다. 이번 글에서는 인터셉터가 무엇인지, 어떻게 만들고 등록하는지, 그리고 세 가지 메서드가 각각 언제 실행되는지를 예제와 함께 정리하겠습니다. [Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링..
-
ETC./Spring
2026.10.01
2
[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리
웹 서비스를 만들다 보면 로그인 여부 확인, 요청 로그 남기기, 언어 인코딩 설정처럼 모든 API에 공통으로 들어가야 하는 작업이 생깁니다. 이런 코드를 컨트롤러마다 반복해서 넣는 것은 번거롭고 누락하기도 쉬운데요. 건물에 들어갈 때 출입구에서 신분증을 한 번만 확인하듯, 요청이 컨트롤러에 도착하기 전에 공통 작업을 한 번에 처리하는 도구가 스프링에는 두 가지 있습니다. 바로 서블릿 필터(Filter)와 스프링 인터셉터(Interceptor)입니다. 이번 글은 먼저 서블릿 필터에 대해 써보려고 합니다. 필터가 무엇인지, 어디에서 동작하는지, 어떻게 구현하고 등록하는지, 그리고 자주 쓰는 패턴까지 정리해보도록 하겠습니다. [Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법..
-
ETC./바이브코딩
2026.09.27
[Claude Code] 클로드코드 MCP 사용법 (+ MCP 사용 예제 - Context7)
Claude Code나 Cursor 같은 AI 도구를 쓰다 보면 "MCP"라는 단어를 자주 보게 됩니다. 이번 포스팅에서는 MCP가 무엇인지부터 시작해 Claude Code에 MCP 서버를 설치하고 권한을 설정하는 과정까지, Context7을 예제로 정리해 보았습니다. MCP란 무엇인가MCP(Model Context Protocol, 모델 컨텍스트 프로토콜)는 Claude 같은 AI 모델이 외부 프로그램과 소통할 수 있도록 정해 둔 표준 규칙입니다. 쉽게 말해 AI와 외부 서비스 사이를 이어 주는 다리 역할을 합니다. 예를 들어 Notion 워크스페이스에 읽어야 할 논문을 여러 편 모아 두었다고 가정해 보겠습니다. Claude에게 "내 노션에 있는 논문 좀 분석해 줘"라고 요청해도 결과는 기대와 다릅니다..
-
ETC./바이브코딩
2026.09.25
1
[Claude Code] 클로드 코드 rules란 무엇인가? - 모듈형 메모리 활용법
[Claude Code] 클로드 코드 CLAUDE.md 메모리 파일 사용법 총정리 이전 포스팅에서는 클로드 코드의 기본 메모리 파일인 CLAUDE.md의 종류와 import 문법, 작성 모범사례를 다뤘습니다. 대부분의 프로젝트에서는 이 정도만으로도 충분하지만, 프로젝트가 커지고 규칙이 많아지면 두 가지 불편함이 생기게 됩니다.규칙 파일을 새로 만들 때마다 CLAUDE.md 파일에 import 문을 계속 추가해야 하는 불편함이 있습니다. 한두 개면 괜찮지만 다섯 개, 열 개 이상이 되면 관리가 번거로워집니다.특정 규칙을 특정 디렉터리나 특정 확장자 파일에만 적용하고 싶은 경우가 있습니다. import 문법은 해당 파일이 무조건 로드되는 방식이기 때문에, 조건부로 규칙을 적용하고 싶은 요구사항은 만족시킬 수..
-
ETC./바이브코딩
2026.09.24
[Claude Code] 클로드 코드 CLAUDE.md 메모리 파일 사용법 총정리
클로드 코드는 대화가 끝나면 이전 세션의 내용을 기억하지 못합니다. 세션을 종료하고 새로운 세션을 시작할 때마다 완전히 백지 상태가 되는 것입니다. 이렇게 되면 공통의 규칙같은것이 있다면 매 세션마다 동일하게 입력을 시켜줘야 하죠. 이 과정을 효율화 하기 위해 별도의 지침을 기억하는 메모리 파일이 있습니다. 이것이 바로 CLAUDE.md 파일입니다. 메모리 파일(CLAUDE.md)에 "이 프로젝트에서는 이렇게 해줘"라는 지침을 별도의 파일로 기록해두면 매번 반복해서 설명하지 않아도 됩니다. 클로드 코드 메모리 파일(CLAUDE.md)이란?쉽게 말해 CLAUDE.md는 해당 프로젝트에서 매번 지켜야 할 규칙을 적어놓은 파일입니다. 이 프로젝트는 어떤 구조로 되어 있고 어떤 규칙을 따라야 하는지를 기재해..
-
ETC./바이브코딩
2026.09.23
[Claude Code] 클로드 코드 settings.json 설정 파일 사용법 총정리
클로드 코드 설정 파일이란 클로드 코드에서 설정 파일은 클로드 코드의 동작 방식을 결정하는 일종의 프로필입니다. 클로드가 어떤 파일에 접근할 수 있는지, 어떤 명령어를 실행할 수 있는지, 어떤 AI 모델을 사용할지 등 다양한 옵션을 이 설정 파일을 통해 지정할 수 있습니다. 개발 팀이나 프로젝트 상황에 맞게 설정을 최적화하면 훨씬 원활하게 개발을 진행할 수 있는데요. 이번 글에서는 클로드 코드의 설정 파일이 어떻게 구성되어 있는지, 그리고 어떤 옵션들을 활용할 수 있는지 정리해보겠습니다. 설정 파일의 세 가지 레벨 1. 사용자 설정사용자 설정은 사용자 홈 디렉터리의 .claude 디렉터리 안에 있는 settings.json 파일에 저장됩니다. 이 설정은 사용자가 진행하는 모든 프로젝트에 공통으로 적용됩..
-
ETC./바이브코딩
2026.09.22
1
나무PLUG 사용후기 — NH투자증권 OpenAPI 서비스로 나만의 투자전략 설정하기 (신청부터 AI 활용까지)
솔직히 저는 그동안 주식투자를 하면서 단기적인 매매를 많이 해왔어요. 특히 어떤 기업에 좋은 뉴스가 나오면 '이거 더 오르는 거 아니야?' 하는 생각에 이미 주가가 급등하고 있는 종목을 뒤늦게 따라 들어갔다가, 막상 제가 매수하고 나면 주가가 꺾이는 경우가 정말 많았는데요. 이런 매매가 반복되다 보니 손실도 늘어나고 주식에 쏟는 시간과 에너지도 자연스럽게 많아지더라고요. 그래서 이제는 단기적인 주가 움직임을 따라가기보다 AI 시대를 이끌어갈 주요 기업들을 미리 살펴보고, 장기적인 관점에서 투자하는 전략을 세워보기로 했습니다. 그래서 얼마 전 출시된 NH투자증권의 '나무 PLUG'를 활용해 'AI 시대를 대비하는 장기투자 포트폴리오'를 직접 만들어봤습니다. 이번 포스팅에서 그 과정을 기록으로 남겨보려 합니..
-
ETC./Spring 2026.10.07[Spring] 스프링 전역 예외 처리 - @ExceptionHandler와 @RestControllerAdvice 사용법 개발을 하다보면 예외는 반드시 발생합니다. 이때 아무 처리도 하지 않으면 클라이언트는 스프링의 기본 에러 응답이나 스택 트레이스가 섞인 응답을 받게 되죠. 그렇다고 컨트롤러마다 try-catch를 넣으면 코드가 금방 지저분해집니다. 스프링은 이 문제를 해결하기 위해 @ExceptionHandler와 @ControllerAdvice를 제공합니다. 이 기능은 예외 처리 로직을 한곳에 모아두고, 어떤 예외가 발생하든 일관된 형태로 응답할 수 있게 해 주는 도구인데요. 이번 포스팅에서는 자바 예외의 기본 구조부터 시작해 두 어노테이션의 사용법과 우선순위까지 정리해보도록 하겠습니다. 자바 예외 구조 먼저 짚고 가기스프링의 예외 처리를 이해하려면 자바 예외 클래스의 계층 구조를 먼저 알면 좋습니다. 어떤 핸들러가 .. -
ETC./Spring 2026.10.06 1[Spring] 스프링 Argument Resolver란 무엇인가? 컨트롤러 메서드에 @RequestParam String name이라고 적으면 스프링이 쿼리 스트링에서 값을 꺼내 넣어주고,@RequestBody UserRequest body라고 적으면 JSON을 객체로 바꿔서 넣어줍니다. 이걸 당연하게 써 왔지만, 누가 어떻게 해주는 걸까요? 그 역할을 하는 것이 Argument Resolver입니다. 이번 글에서는 Argument Resolver가 무엇인지, 스프링이 기본으로 제공하는 것들은 어떤 게 있는지, 그리고 직접 만들어서 로그인 사용자 정보를 컨트롤러에 깔끔하게 넘기는 방법까지 정리하겠습니다. Argument Resolver란?먼저 컨트롤러 메서드가 호출되려면 파라미터에 들어갈 값이 준비되어야 합니다. 그런데 파라미터의 종류는 다양합니다. 쿼리 스트링에서 꺼.. -
ETC./Spring 2026.10.04[Spring] 스프링 필터(Filter) vs 인터셉터(Interceptor) 차이점과 선택 기준 총정리 지금까지 두 편에 걸쳐 스프링 필터와 인터셉터를 각각 살펴봤습니다. 둘 다 "요청이 컨트롤러에 도착하기 전에 공통 작업을 처리한다"는 점은 같은데, 그렇다면 실무에서는 어떤 상황에 무엇을 써야 할까요? 이번 포스팅에서는 두 도구를 나란히 놓고 비교하면서 선택 기준을 정리해보도록 하겠습니다. ※ 스프링 필터와 인터셉터의 정의가 궁금하시다면 아래 글을 참고해 주세요.[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리 스프링 필터, 인터셉터 요약 정리앞의 글을 읽지 않으신 분들을 위해 핵심만 짚고 가자면 먼저 필터는 자바 서블릿 표준 스펙입니다. 톰캣 같은 서블릿 컨테이너가 관리하고, 스프링.. -
ETC./Spring 2026.10.03 1[Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법 총정리 지난 글에서는 스프링 필터에 대해 알아봤습니다. 필터는 서블릿 컨테이너 레벨, 즉 스프링 바깥에서 모든 요청을 가장 먼저 처리하는 도구였는데요. 웹 요청은 이렇게 필터를 지나 DispatcherServlet으로 들어오고, 그 안에서 컨트롤러에 도착하기 직전에 한 번 더 처리 지점을 거칩니다. 이 지점이 스프링 MVC가 제공하는 인터셉터(Interceptor)입니다. 인터셉터는 필터와 하는 일은 비슷하지만 스프링 안에서 동작하기 때문에 할 수 있는 일이 조금 다릅니다. 이번 글에서는 인터셉터가 무엇인지, 어떻게 만들고 등록하는지, 그리고 세 가지 메서드가 각각 언제 실행되는지를 예제와 함께 정리하겠습니다. [Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리[Spring] 스프링.. -
ETC./Spring 2026.10.01 2[Spring] 스프링 필터(Filter)란? 개념과 사용법, 등록 방법 총정리 웹 서비스를 만들다 보면 로그인 여부 확인, 요청 로그 남기기, 언어 인코딩 설정처럼 모든 API에 공통으로 들어가야 하는 작업이 생깁니다. 이런 코드를 컨트롤러마다 반복해서 넣는 것은 번거롭고 누락하기도 쉬운데요. 건물에 들어갈 때 출입구에서 신분증을 한 번만 확인하듯, 요청이 컨트롤러에 도착하기 전에 공통 작업을 한 번에 처리하는 도구가 스프링에는 두 가지 있습니다. 바로 서블릿 필터(Filter)와 스프링 인터셉터(Interceptor)입니다. 이번 글은 먼저 서블릿 필터에 대해 써보려고 합니다. 필터가 무엇인지, 어디에서 동작하는지, 어떻게 구현하고 등록하는지, 그리고 자주 쓰는 패턴까지 정리해보도록 하겠습니다. [Spring] 스프링 인터셉터(Interceptor)란? 개념과 사용법, 등록 방법.. -
ETC./바이브코딩 2026.09.27[Claude Code] 클로드코드 MCP 사용법 (+ MCP 사용 예제 - Context7) Claude Code나 Cursor 같은 AI 도구를 쓰다 보면 "MCP"라는 단어를 자주 보게 됩니다. 이번 포스팅에서는 MCP가 무엇인지부터 시작해 Claude Code에 MCP 서버를 설치하고 권한을 설정하는 과정까지, Context7을 예제로 정리해 보았습니다. MCP란 무엇인가MCP(Model Context Protocol, 모델 컨텍스트 프로토콜)는 Claude 같은 AI 모델이 외부 프로그램과 소통할 수 있도록 정해 둔 표준 규칙입니다. 쉽게 말해 AI와 외부 서비스 사이를 이어 주는 다리 역할을 합니다. 예를 들어 Notion 워크스페이스에 읽어야 할 논문을 여러 편 모아 두었다고 가정해 보겠습니다. Claude에게 "내 노션에 있는 논문 좀 분석해 줘"라고 요청해도 결과는 기대와 다릅니다.. -
ETC./바이브코딩 2026.09.25 1[Claude Code] 클로드 코드 rules란 무엇인가? - 모듈형 메모리 활용법 [Claude Code] 클로드 코드 CLAUDE.md 메모리 파일 사용법 총정리 이전 포스팅에서는 클로드 코드의 기본 메모리 파일인 CLAUDE.md의 종류와 import 문법, 작성 모범사례를 다뤘습니다. 대부분의 프로젝트에서는 이 정도만으로도 충분하지만, 프로젝트가 커지고 규칙이 많아지면 두 가지 불편함이 생기게 됩니다.규칙 파일을 새로 만들 때마다 CLAUDE.md 파일에 import 문을 계속 추가해야 하는 불편함이 있습니다. 한두 개면 괜찮지만 다섯 개, 열 개 이상이 되면 관리가 번거로워집니다.특정 규칙을 특정 디렉터리나 특정 확장자 파일에만 적용하고 싶은 경우가 있습니다. import 문법은 해당 파일이 무조건 로드되는 방식이기 때문에, 조건부로 규칙을 적용하고 싶은 요구사항은 만족시킬 수.. -
ETC./바이브코딩 2026.09.24[Claude Code] 클로드 코드 CLAUDE.md 메모리 파일 사용법 총정리 클로드 코드는 대화가 끝나면 이전 세션의 내용을 기억하지 못합니다. 세션을 종료하고 새로운 세션을 시작할 때마다 완전히 백지 상태가 되는 것입니다. 이렇게 되면 공통의 규칙같은것이 있다면 매 세션마다 동일하게 입력을 시켜줘야 하죠. 이 과정을 효율화 하기 위해 별도의 지침을 기억하는 메모리 파일이 있습니다. 이것이 바로 CLAUDE.md 파일입니다. 메모리 파일(CLAUDE.md)에 "이 프로젝트에서는 이렇게 해줘"라는 지침을 별도의 파일로 기록해두면 매번 반복해서 설명하지 않아도 됩니다. 클로드 코드 메모리 파일(CLAUDE.md)이란?쉽게 말해 CLAUDE.md는 해당 프로젝트에서 매번 지켜야 할 규칙을 적어놓은 파일입니다. 이 프로젝트는 어떤 구조로 되어 있고 어떤 규칙을 따라야 하는지를 기재해.. -
ETC./바이브코딩 2026.09.23[Claude Code] 클로드 코드 settings.json 설정 파일 사용법 총정리 클로드 코드 설정 파일이란 클로드 코드에서 설정 파일은 클로드 코드의 동작 방식을 결정하는 일종의 프로필입니다. 클로드가 어떤 파일에 접근할 수 있는지, 어떤 명령어를 실행할 수 있는지, 어떤 AI 모델을 사용할지 등 다양한 옵션을 이 설정 파일을 통해 지정할 수 있습니다. 개발 팀이나 프로젝트 상황에 맞게 설정을 최적화하면 훨씬 원활하게 개발을 진행할 수 있는데요. 이번 글에서는 클로드 코드의 설정 파일이 어떻게 구성되어 있는지, 그리고 어떤 옵션들을 활용할 수 있는지 정리해보겠습니다. 설정 파일의 세 가지 레벨 1. 사용자 설정사용자 설정은 사용자 홈 디렉터리의 .claude 디렉터리 안에 있는 settings.json 파일에 저장됩니다. 이 설정은 사용자가 진행하는 모든 프로젝트에 공통으로 적용됩.. -
ETC./바이브코딩 2026.09.22 1나무PLUG 사용후기 — NH투자증권 OpenAPI 서비스로 나만의 투자전략 설정하기 (신청부터 AI 활용까지) 솔직히 저는 그동안 주식투자를 하면서 단기적인 매매를 많이 해왔어요. 특히 어떤 기업에 좋은 뉴스가 나오면 '이거 더 오르는 거 아니야?' 하는 생각에 이미 주가가 급등하고 있는 종목을 뒤늦게 따라 들어갔다가, 막상 제가 매수하고 나면 주가가 꺾이는 경우가 정말 많았는데요. 이런 매매가 반복되다 보니 손실도 늘어나고 주식에 쏟는 시간과 에너지도 자연스럽게 많아지더라고요. 그래서 이제는 단기적인 주가 움직임을 따라가기보다 AI 시대를 이끌어갈 주요 기업들을 미리 살펴보고, 장기적인 관점에서 투자하는 전략을 세워보기로 했습니다. 그래서 얼마 전 출시된 NH투자증권의 '나무 PLUG'를 활용해 'AI 시대를 대비하는 장기투자 포트폴리오'를 직접 만들어봤습니다. 이번 포스팅에서 그 과정을 기록으로 남겨보려 합니..