[스프링부트] 자동 답변 봇 구현 (AI 서버와의 연결)
·
스프링부트 메모
⭐️ 목적현재 진행 중인 캡스톤 프로젝트에 핵심 기능 중 하나가 AI를 이용한 자동 답변 기능이다. ChatGPT API를 활용하여 답변 생성을 하고자 했는데, AI 서버를 분리한 상태이기 때문에스프링부트 프로젝트에 연결해서 자동 답변 기능을 구현해야 했다.  ✅ 구현 과정 (간략)# 연결 로직 구상> 첫 번째 아이디어: 즉시 응답단순하게, 질문글 작성을 요청할 경우 글의 내용을 AI 서버에 전송하여,ChatGPT API를 이용하여 답변을 생성하고 해당 답변을 응답으로 받아 작성하는 방식이다. 하지만, 이런 방식으로 구현할 경우 챗 지피티의 답변 생성 시간만큼 질문글 생성에 딜레이가 생기게 되고,응답 시간의 딜레이가 생긴다는 것은 서비스 측면에서 일어나선 안 될 일이기 때문에 개선이 필요했다. > 두 번..
[스프링부트] 이메일 전송 기능 구현하기
·
스프링부트 메모
⭐️ 목적이메일 전송 기능은 인증코드를 통한 인증을 위해서 필요해졌다. 플랫폼 정책상 랜덤으로 생성된 인증 코드를 이메일로 전송하여 검증하는 방식을 채택했기 때문에프로젝트에 이메일 전송 기능을 구현해야만 했다.  ✅ 구현 과정 (간략)1. 구글 메일 설정이메일 전송에 사용할 SMTP 서버를 설정해야한다. 나의 경우 프로젝트 전용 구글 계정을 새로 생성하여 구글 SMTP 서버를 사용했다. 구글 계정을 통해 SMTP 서버를 사용하기 위해선 별도의 설정이 필요하다. 구글 메일 설정에 들어가서 다음과 같이 설정한다. 2. 구글 메일 연동구글 보안 상 연동을 위해선 2단계 인증이 된 계정의 앱 비밀번호를 설정하여 사용해야 한다. 먼저 스프링부트 build.gradle에 메일 전송을 위한 의존성을 추가한다.impl..
[스프링부트] 디스코드 웹훅 연동하기
·
스프링부트 메모
⭐️ 목적웹훅 연동의 필요성은 신고하기 기능 구현으로부터 나타났다. 사용자가 신고를 했을 경우 운영자가 직접 처리해야 했기 때문에운영측을 위한 알림 기능이 필요했다. 알람 구현 방법은 두 가지가 있었다.Amazon LambdaSlack 또는 Discord 웹훅 연동아무래도 아마존 람다의 경우 러닝커브가 굉장히 클 것이라는 팀원의 의견을 수용해서웹훅을 연동하기로 결정했다. 슬랙과 디스코드 중에 결정했어야 했는데 프로젝트 소통 플랫폼이 디스코드였기 때문에자연스럽게 디스코드 웹훅을 연동하게 되었다.  ✅ 구현 과정 (간략)1. 연동할 디스코드 채널 생성 및 설정 메시지를 받고 싶은 채널을 생성하고 웹후크 설정을 한다. 설정한 웹후크의 URL을 사용하여 스프링부트 프로젝트에 연동할 것이다. 2. 스프링부트 ap..