본문 바로가기

Spring7

[Project Nocean] 개발일지 - 2 🧠 Nocean 개발일지 #2Notion 기록 기능 구현 & OpenAI 연동 정리📌 이번 작업 요약GptService.summarize() 메서드 구현GPT API 호출 방식 확정 (OkHttp + JSON)NotionServiceImpl 클래스 생성기본 페이지 생성 기능 테스트 완료GPT 프롬프트 외부화 완료 (.yml 적용)🧠 GPT 요약 기능 구현 (GptServiceImpl)OkHttp 사용해서 GPT API 호출JSON 요청/응답 구조 정리프롬프트 템플릿을 .yml 파일에서 주입 받음메시지 + diff 인자로 받은 후, 요약 요청 수행🔧 구현 포인트:@Value("${openai.prompt-template}")private String promptTemplate;public Strin.. 2025. 7. 23.
[Project Nocean] 개발일지 - 1 🧠 Nocean 개발일지 #1"GitHub → GPT 요약 → Notion 기록" 자동화 시스템 구축기📌 개발 개요Nocean은 GitHub에 커밋을 push하면,👉 GPT로 요약하고👉 Notion에 자동으로 정리해주는개발 로그 자동화 시스템입니다.기반은 Spring Boot, 핵심 연동은 GPT API + Notion API로 구성되어 있고,GitHub Actions + Docker를 통해 CI/CD도 연계합니다.📂 리포지토리🔗 https://github.com/DaHnDell/Nocean⚙️ 주요 기술 스택Spring Boot 3.xOpenAI GPT (gpt-3.5-turbo)Notion API v1GitHub ActionsDockerOkHttp + org.json🔁 전체 자동화 흐름G.. 2025. 7. 22.
[JAVA / Spring] RestAPI(2) 🚀 REST API 실전 활용: 요청/응답 제어, 예외 처리, DTO 설계까지이전 글에서 우리는 REST API의 기본 개념과 Spring에서의 사용 방법을 익혔습니다. 이번 글에서는 실제 API를 개발할 때 고려해야 할 중요한 실전 기술들을 다룹니다.요청(Request)을 어떻게 안전하게 받고, 응답(Response)은 어떤 형식으로 내보낼지, 예외 상황은 어떻게 처리할지를 예제와 함께 살펴봅니다.🧱 1. DTO(Data Transfer Object) 설계실무에서는 Entity를 그대로 응답하면 보안, 유연성 측면에서 문제가 됩니다. → DTO를 활용해 명확히 전달할 데이터만 분리합니다.public class UserDto { private Long id; private String na.. 2025. 7. 22.
[JAVA / Spring] Rest, RestAPI (1) 🌐 REST API 완전 정복: 개념부터 Spring 실전까지웹 개발을 하다 보면 "REST", "RESTful API", "application/json", 그리고 "Spring REST Controller"라는 용어를 자주 접하게 됩니다. 이 글에서는 REST의 개념부터, JSON 포맷의 의미, 그리고 Spring Framework에서 REST API를 구현하는 방법까지 상세히 알아보겠습니다.🔍 1. REST란 무엇인가?**REST (Representational State Transfer)**는 웹 기반 시스템 설계를 위한 아키텍처 스타일입니다. 2000년에 로이 필딩(Roy Fielding)의 박사 논문에서 처음 제안되었으며, HTTP 기반의 자원(Resource) 중심 통신 방식을 따릅니다... 2025. 7. 21.
[JAVA / Spring] Spring Framework - AOP(proxy, pointcut, advice, aspect) 🧱 Step 1: Proxy – Spring AOP의 기반🔍 프록시란?**Proxy(프록시)**는 말 그대로 "대리인" 또는 "대리 객체"우리가 어떤 객체(Target)를 호출하고 싶을 때, 중간에 대신 호출을 수행하는 객체가 프록시📌 목적:기능을 확장하거나 변경하고 싶을 때, 원본 코드를 건드리지 않고 기능을 덧붙일 수 있음🏗️ Spring AOP에서의 Proxy는 왜 중요한가?Spring AOP는 내부적으로 프록시 객체를 생성해서 핵심 로직을 감싸고,공통 기능(예: 로깅, 트랜잭션, 인증 등)을 자동으로 삽입즉, AOP는 실제 객체를 감싸는 Proxy를 생성해서,메서드 호출 전후로 원하는 기능을 가로채서 실행하는 구조✅ 작동 흐름 예시예시 클래스public class OrderService {.. 2025. 7. 18.
React + Spring / Nginx / S3 마이그레이션 배포 해결하는데 걸린 시간 : 약 3시간 해결했던 방법 : GPT + 구글링 기존 업로드되어 배포되었던 과거 파이널 프로젝트 결과물 을 다시 내 도메인으로 호스팅하기 위해 시행했다.얼핏 보면 front에서 api 주소와 back에서의 엔드포인트만 잘 바꾸면 문제가 없을 것 같았지만 몇 가지 문제점이 생겼다. 첫 번째 문제는 CORS 문제였다. 백엔드 SecurityConfig.java → CORS 허용 도메인 추가 를 깜빡했던 것. config.setAllowedOrigins(List.of( "http://localhost:3000", // 개발 환경용 (필요시 유지) "https://pilllaw.kcanmin.com" )); 리스트 형식의 Origin 허가를 내 도메인으로 허가했어야 했.. 2025. 7. 17.