최근 많은 기업들이 클라우드로 전환하고 있다.하지만 완전히 퍼블릭 클라우드로 넘어가기도 어렵고,온프레미스(내부 서버)만 고수하기엔 유연성이 부족하다.특히 다음과 같은 상황에서는 단일 클라우드 구조가 한계를 가진다.기존 레거시 시스템과의 연계가 필수금융, 의료 등 민감
API 요청이 실패했을 때 아무런 안내 없이 사용자에게 500 에러를 던지는 건 친절하지 않다.실제 요청한 사용자의 이메일로 실패 이유를 직접 안내하는 구조를 아래와 같이 구현했다.@AuthenticationPrincipal을 통해 로그인한 사용자의 이메일을 추출하고,
재시도 / 예외 처리 기술목표: 네트워크 지연, 429 오류 등 발생 시 요청 유실 없이 재시도 및 복구문제 추천 기술 설명재시도 resilience4j-retry 예외 발생 시 자동 재시도 (@Retry 어노테이션 사용 가능)백오프 재시도 Spring Retry +
이 글에서는 Devmountain에서 키를 발급 받아서 PRO 등급을 경험해보실 사용자 분들께 Brave Search API 키(Subscription Token)를 발급받는 과정을 단계별로 안내합니다.Brave Search API는 전 세계 웹 검색 결과를 손쉽게 활
Brave Search & YouTube API Key 순환 구조 설계 문제 상황 YouTube 및 Brave Search API에는 하루 또는 분당 요청 한도가 존재함 기존 방식은 하나의 API 키만 .env나 설정 파일에 고정해 사용함 한도가 초과되면 API 요
튜터님에게 MVP 시연 후 피드백 들은 사항에 대해 정리한 뒤 내가 맡을 분야는 MCP 클라이언트 구축 후(MCP 서버는 추가), 유튜브 같은 영상 플랫폼(mcp 서버를 활용해 강의 데이터를 가져오기) 였다. MCP에 대한 개념을 확실히 알아둬야 하는 것도 좋고 요즘 핫한 ai 기능에 대한 경험이 있다는 것은 분명 신입 개발자로서 취업 전 해보기 좋은 프로...
개발자가 강의를 검색하고 추천받을 수 있는 온라인 학습 플랫폼 Devmountain! 이 글에서는 실제 구현 과정 중 내가 맡게 된 기능들(토스 API 연동, CI/CD, Docker, BraveSearch)에 대해서 구현 사항과 관련 내용들을 정리할 예정이다 왜
최근 DevMountain 프로젝트에서 Toss Payments를 연동하며 여러 문제와 상황들이 겹쳤다. 이에 대해 간단하게 정리해두고 다음에 비슷한 상황이 생기면 아래와 같은 방법으로 해결할 예정이다.✅ 요구 조건Toss는 orderId에 다음 조건을 강제합니다: •
사용자 회원가입 및 로그인 - 윤소현사용자가 사이트에 처음 접속하여 회원가입 또는 로그인을 시도한다.적용 기술• Spring Security: 사용자 인증/인가 처리• OAuth 2.0 (Google, Kakao): 소셜 로그인 기능• 세션 또는 JWT 방식 중 선택:
사용자 회원가입 및 로그인사용자가 사이트에 처음 접속하여 회원가입 또는 로그인을 시도한다.적용 기술 • Spring Security: 사용자 인증/인가 처리 • OAuth 2.0 (Google, Kakao): 소셜 로그인 기능 • 세션 또는 JWT 방식 중 선택: 인증
처음에는 WebSocket 접속 시 클라이언트의 고유 ID를 식별하기 위해 determineUser() 메서드에서 다음과 같이 UUID를 반환하는 방식으로 구현했다.처음에는 이 방식으로도 충분할 것이라고 생각했다. UUID는 고유하고 충돌이 없기 때문에, 각 클라이언트
"클루드"는 미국의 AI 스타트업 Anthropic이 개발한 차세대 인공지능 어시스턴트로, 자연어 처리와 코드 생성, 멀티모달 처리 등 다양한 기능을 제공하는 모델입니다. 현재 최신 버전은 Claude 3.7 Sonnet이며, 개발자와 일반 사용자를 위한 다양한 도구와
S3 업로드 기능을 만들다가 처음엔 이렇게 생각했다.“파일 하나 업로드하는데, 굳이 Service를 두 개나 나눠야 해?”강의나 실무 코드에서는 S3Service, S3Uploader, S3InfraService 등으로 분리하는 경우가 많았고, 그 이유가 궁금했다. 그
클라이언트에서 파일 업로드 시 S3에 저장됨고유 key로 저장 후 public URL 반환업로드된 이미지 URL을 클라이언트에 제공하여 활용 가능
EC2 인스턴스 생성 (Ubuntu 24.04)보안 그룹: 8080 포트 인바운드 허용탄력적 IP 할당 및 인스턴스에 연결.jar 파일을 scp 명령어로 업로드 후 java -jar 실행/health 경로 접근 시 OK 반환 확인EC2에서 Spring 애플리케이션 정상
TodoService에 searchTodos() 메서드 작성TodoController에서 /api/todos/search GET API 제공Pageable 기반 결과 반환검색 조건별 필터링title, nickname, createdAt 조건 조합페이징 + 결과 개수 카
다른 사람의 코드를 통해 많은 인사이트 획득평소에는 나만의 코드에만 집중했지만, 이번에는 출중한 팀원들의 코드를 보며“이런 상황엔 이렇게 풀 수도 있구나!” 하는 다양한 패턴과 기술을 배울 수 있었어요.내가 생각하지 못했던 방식에 눈이 트이는 값진 경험이었습니다.적극적
Spring Boot 3 + JPA 기반 가게(Store) CRUD 구현기 (with JWT, S3 업로드)개요 및 사용 기술 스택도메인 설계 요약 (Entity + Enum)가게 생성(Create)가게 조회(Read)단건 조회 (메뉴 포함)키워드 검색 (폐업 상태 제
기능별 테스트 코드 반드시 작성 (작성하지 않으면 분명 피드백 받을 것입니다.)사용하지 않는 import, repository, 코드 등은 제거Timestamped, CommonRequestDto 등은 common 패키지로 정리들여쓰기, 함수명, 리턴 타입, 파라미터
기존 어드민 API 요청 로깅은 AdminLoggingInterceptor와 AdminApiLoggingAspect 두 곳에 분산되어 있었음. Interceptor에서 요청 정보를 로깅하고 AOP에서 응답을 로깅하는 방식이었지만,✅ 두 곳 모두에서 중복된 로깅 포맷