EKS에서 Spring Batch를 HTTP로 트리거하다 만난 504 — ALB idle timeout 진단기

EKS에 올린 Spring Boot 서비스에서 특정 API 하나만 간헐적으로 504 Gateway Timeout을 냈다. 그 API는 관리자 화면에서 배치 작업을 즉시 실행하는 용도였다. 평소엔 잘 되다가 데이터가 많은 날만 실패했다. 결론은 ALB idle timeout 60초였다. 그런데 거기까지 가는 데 며칠이 걸렸다. 왜 돌아갔는지까지 포함해서 기록한다. 증상 마지막 세 가지가 힌트였는데, 처음엔 더 읽기

백엔드 개발자 면접관을 하면서 정리한 기술 질문 세트 — RabbitMQ, WebSocket, JPA, Redis, Gateway, Batch

지원자 입장으로 면접을 본 경험은 많지만, 면접관 자리에 앉는 건 다른 일이다. 최근 2~3년차 백엔드 개발자 채용에 면접관으로 참여하면서, 지원자의 이력서에 적힌 기술 스택을 기준으로 질문 세트를 미리 준비했다. 이 글은 그 세트를 특정 지원자를 식별할 수 없게 일반화해서 정리한 것이다. 같은 연차 백엔드 채용을 준비하는 면접관에게도, 반대로 면접을 앞둔 더 읽기

“푸시했습니다”라고 거짓말하는 AI — LLM의 허위 작업 완료와 아첨, 실제로 겪은 두 사례

AI 코딩 도구를 업무에 붙이고 몇 달 지나면, 성능보다 더 신경 쓰이는 문제가 하나 생긴다. 모델이 하지 않은 일을 했다고 말하고, 내가 틀린 방향을 잡아도 맞장구를 친다는 것이다. 이 두 현상에는 이름이 있다. 둘 다 학계에서는 어느 정도 알려진 현상이지만, 실무에서 만나면 논문 읽을 때와는 체감이 다르다. 실제로 겪은 두 더 읽기

FCM 푸시 토큰, 언제 수집해야 하나 — 첫 화면 진입 vs 알림 동의 시점

하이브리드 앱(WebView + Spring Boot API)에 푸시 알림을 붙이면서 팀 안에서 한 번 정리하고 넘어가야 했던 질문이 있다. FCM 토큰은 언제 수집해서 서버에 저장해야 하는가? 구현 자체는 어렵지 않다. 문제는 “언제”다. 앱을 처음 켜자마자 받아둘지, 사용자가 알림에 동의한 시점에 받을지에 따라 서버의 데이터 모델과 개인정보 처리 관점이 달라진다. 결론은 동의 더 읽기

Claude Code에서 API Error: 400 no low surrogate in string 오류가 뜰 때 — 원인과 해결

Claude Code로 한창 작업하다가 갑자기 아래와 같은 오류가 뜨면서 응답이 끊기는 경우가 있다. 코드를 잘못 짠 것도 아니고, 네트워크가 끊긴 것도 아니다. 그런데 이후 어떤 명령을 넣어도 같은 오류가 반복된다. 이 글은 이 오류가 왜 나는지, 그리고 어떻게 벗어나는지를 정리한 것이다. 결론부터 Claude Code가 API로 보내는 요청 본문(JSON) 안에 깨진 더 읽기

Open WebUI에서 GitHub 프로젝트를 학습시켜 Spring Boot 소스를 기억하게 만드는 방법 (RAG 구축 가이드)

로컬 LLM을 구축한 이후 가장 많이 받는 질문은 다음과 같다. “내 Spring Boot 프로젝트 전체를 AI가 기억하게 만들 수 없을까?” 단순히 ChatGPT처럼 질문하는 수준을 넘어 프로젝트 소스코드, 설계서, API 명세서, SQL 문서 등을 학습시켜 현재 프로젝트를 이해하는 전용 AI를 만드는 방법을 소개한다. RAG란 무엇인가? RAG(Retrieval Augmented Generation)는 모델 자체를 재학습시키는 더 읽기

Mac M5 32GB 환경에서 Qwen3 8B + Gemma 3 4B 로컬 LLM 구축하기 (Ollama + Open WebUI)

최근 Cursor, Claude Code, GPT, Gemini 등 다양한 AI 도구를 사용하면서도 인터넷 연결 없이 사용할 수 있는 로컬 LLM 환경에 대한 관심이 높아지고 있다. 이번 글에서는 MacBook Pro M5 32GB 환경에서 Qwen3 8B와 Gemma 3 4B를 설치하고 Open WebUI를 이용하여 ChatGPT처럼 사용하는 방법을 정리한다. 구성 목표 다음과 같은 환경을 구축하는 더 읽기

위키를 Claude의 서브브레인으로 — MCP 연결 가이드

Claude Code + MCP 파일시스템으로 llm-wiki를 실시간 지식 참조 엔진으로 만들기 MCP란 무엇인가 MCP(Model Context Protocol)는 AI 모델이 외부 도구·파일·데이터에 접근할 수 있도록 해주는 표준 프로토콜입니다. MCP 서버를 연결하면 Claude가 대화 중에 실제 파일을 검색하고 읽을 수 있습니다. 즉, 이렇게 질문할 수 있습니다: Claude가 직접 wiki/ 폴더를 뒤져서 답변합니다. 이것이 더 읽기