환영합니다 ⸜(⠀ ᐢ ᵕ ᐢ )⸝‍⸜( ᐢ ᵕ ᐢ )⸝‍

온프레미스 -> AWS 마이그레이션 시작 (1)
·
원스어폰타임
1. 기존 시스템기존 프로젝트는 학과에서 제공한 온프레미스 서버 환경에서 운영되었다.이 환경은 개발 자유도가 높은 편은 아니었고, 몇 가지 구조적인 제약이 명확했다.우선 서비스는 단일 포트만 개방 가능했기 때문에, 프론트엔드와 백엔드를 포함한 모든 최종 접근 지점은 하나의 포트로만 제공해야 했다. 또한 데이터베이스는 학과에서 제공하는 고정 MariaDB를 사용해야 했으며, 해당 DB는 localhost에서만 접근 가능하도록 제한되어 있어 외부 서버나 컨테이너에서 직접 접근하는 것이 불가능했다. 네트워크 측면에서도 외부 접근 및 포트 추가, 라우팅 설정이 제한적이었고, 이로 인해 일반적인 인프라 구성이나 서비스 분리를 적용하기 어려웠다. 특히 컨테이너 기반 배포를 적용할 경우, DB가 localhost-o..
[빈 시리즈-1] 스프링 빈은 어떻게 등록되는가
·
개념
스프링 애플리케이션에서 사용하는 서비스, 컨트롤러, 리포지토리... 모두 빈이라는 사실 알고계셨나요?그래서 빈이 뭔데?? 🤔🤔 1. 스프링 빈이란 무엇인가 스프링에서 말하는 빈(Bean) 은 단순한 자바 객체가 아니라 스프링 컨테이너가 생성하고 관리하는 객체를 의미합니다.중요한 점은 객체의 생성과 관리 책임이 개발자가 아니라 컨테이너에 있다는 것입니다.개발자는 객체를 new로 직접 생성하지 않고 스프링이 대신 객체를 만들고, 필요할 때 주입해 줍니다.이 방식의 핵심은 다음과 같습니다.객체 생성 코드가 애플리케이션 전반에 흩어지지 않는다구현체 변경에 유연해진다테스트와 확장이 쉬워진다이처럼 제어의 흐름이 개발자에서 프레임워크로 넘어가는 것을 IoC(Inversion of Control)라고 합니다. 2..
싱글톤 패턴의 한계와 싱글톤 컨테이너
·
개념
1. 싱글톤이 필요한 이유스프링으로 웹 애플리케이션을 만들다 보면 서비스나 리포지토리 같은 객체를 여러 번 생성할 필요가 없는 경우가 많습니다.요청이 올 때마다 객체를 새로 만들면 메모리를 불필요하게 사용하게 되고 객체 생성 비용도 계속 발생합니다.그렇다면 객체를 하나만 만들어서 공유할 순 없을까요?이것이 바로 싱글톤 패턴(Singleton Pattern)입니다. 2. 싱글톤 패턴이란싱글톤 패턴은 애플리케이션 전체에서 객체를 하나만 생성하도록 보장하는 방법입니다. 다음과 같은 코드로 싱글톤 패턴을 구현할 수 있습니다.public class SingletonService { private static final SingletonService instance = new SingletonService(..
🐛 Jackson 충돌: JSON parse error 해결
·
트러블슈팅
개요 Jackson에 대해 설명하자면, Jackson은 Spring Boot에서 JSON API를 만들 때 없어서는 안 될 핵심 라이브러리이다.우리 프로젝트에서는 기존에 다른 DTO들이 공공데이터 API 응답 형태에 맞춰 Root Wrapping(@JsonRootName("response"))을 사용하도록 설정되어 있다. 이로 인해 Jackson의 전역 설정에서 Root Wrapping이 활성화되어 있는 상황이다.그런데 문제가 생겼다. 클라이언트 요청을 받는 특정 DTO에서는 Root Wrapping을 적용하지 않고 일반적인 JSON 형태로 받아야 하는데, 자꾸 Root Wrapping이 강제 적용되고 있다.그래서 자꾸 아래와 같은 에러코드가 뜨는 것... 해결해보자~~! 에러코드 JSON parse ..
🐛 인텔리제이 Claude MCP failed 오류
·
트러블슈팅
문제 노드 버전 하나로 정리 + 인텔리제이 2025 버전으로 업그레이드 + 인텔리제이 전 버전 삭제했으나 폴더 남아있어서 다 삭제 그럼에도 2분 후 타임아웃이 자꾸 발생했다....처음에 클로드 접속할 땐 괜찮았는데, 조금 있다가 자꾸 연결이 끊어지니까 토큰 문제인가 싶기도 했다.근데 별로 안 썼는데... (진짠데...) 로그는 아래와 같다.2025-09-03T14:40:27.831Z [jetbrains] [info] Server started and connected successfully { metadata: undefined }2025-09-03T14:40:27.845Z [jetbrains] [info] Server started and connected successfully { metadata:..