본문 바로가기

전체 글

(41)
[SpringBoot+Kotlin] Kotlin을 활용해 Spring Boot 프로젝트 생성 및 세팅하기 이번 프로젝트에서는 Java가 아닌 Kotlin을 활용해 보기로 결정하면서, 프로젝트 생성 및 세팅 과정부터 개발 과정에서의 어려움까지 기록하려 한다.해당 글에서는 Kotlin+Spring boot 프로젝트를 생성하고 세팅하는 과정과 AWS RDS 연결까지 다뤄볼 예정이다. 1. 프로젝트 생성IntelliJ IDE를 통해 바로 Spring Initializer를 활용하여 새 프로젝트를 생성할 수 있다.Name 부분에는 우리 서비스의 이름을 적어주고, Location에는 프로젝트가 저장될 위치를 지정해준다. 그리고 Github에 해당 프로젝트를 올릴 것이기 때문에 Local git repository도 함께 생성되도록 체크해줬다.Language는 Kotlin으로 선택하고, Type도 Gradle - Kot..
[Spring Boot+Chat GPT] Spring boot 환경에서 Chat GPT API로 프롬프트 요약 기능 구현하기 이번 글에서는 졸업 프로젝트로 진행 중인 "Neverland: 생성형 AI 기반 단체 추억 아카이빙 앱 서비스"를 개발하는 과정에서 Open AI의 Chat-GPT API를 사용하기 위한 Java 라이브러리 세팅하는 방법과 간단한 요약 기능을 구현하는 과정을 기록해보려 한다.  🧩 1. 프로젝트 소개본격적으로 구현 과정 소개에 들어가기 전에, 먼저 "Neverland"의 System Architecture와 사용하는 Backend 관련 스택을 소개하고 어떤 기능을 구현하기 위해 Chat-GPT를 사용하는지 정리해보려 한다. 우선 "Neverland"의 System Architecture와 Backend 관련 Stack 리스트는 아래와 같다.Authorization    • Json Web Token, ..
[GCP] Cloud Storage 세팅 및 Springboot 프로젝트 연동 들어가며 진행하고 있는 프로젝트에서 이미지를 업로드하고 수정할 일이 있어 GCP Cloud Storage를 사용해 구현해보려 한다. VM instance와 Cloud SQL을 사용하고 있어서 이미지 저장도 Cloud Sorage를 활용해보기로 결정했다. GCP 콘솔에서 Cloud Storage 생성 및 관련 설정을 해주고 Springboot 프로젝트에서 어떻게 연동하는지 정리해보자. 1) GCP Cloud Storage 버킷 생성 및 연결 설정하기 가장 먼저 GCP 콘솔에 접속해 Cloud Storage를 사용하려는 프로젝트로 들어가준다. 화면 왼쪽 위 로고 옆 부분에 표시되어 있는 게 해당 프로젝트이다. 잘 들어왔으면 좌측 메뉴를 열어 Cloud Storage를 클릭하고 '버킷'탭에 들어가 '만들기'를..
[GCP] VM Instance, Cloud SQL 생성 및 Spring Boot 세팅 들어가며 이번에 Google Solution Challenge에 참여하게 되면서, Google 기술 중 하나 이상을 반드시 사용해서 프로젝트를 진행해야 하는 상황이 생겼다. 서버 개발을 혼자 맡게 되어서 스택을 자유롭게 정하면 되었는데, 우리 팀의 경우 프론트는 React, 백은 SpringBoot를 활용하기로 해서 Google 기술인 Flutter 등을 하나도 사용하지 않게 되었다. 클라우드 쪽은 비교적 익숙한 AWS EC2, RDS, S3 등을 사용해 빨리 세팅하려고 계획했었는데, 프로젝트 내에서 Google API를 추가로 사용하지 않는 이상 조건을 만족하려면 GCP를 사용할 수 밖에 없게 됐다. 그래도 AWS말고 새로운 것을 써볼 수 있는 기회이기도 하고, Google 측에서 Solution Ch..
[BOJ/Python3] 1934번: 최소공배수 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90 등이 있으며, 최소 공배수는 30이다. 두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T(1
[BOJ/Python3] 1789번: 수들의 합 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1
[Spring Boot+Chat GPT] Spring boot에서 Chat GPT API 사용하기 졸업 프로젝트로 진행중인 "Neverland" 앱을 위해 spring boot 프로젝트 개발 환경 세팅과 Open AI의 GPT API를 사용하기 위한 Java 라이브러리 세팅 및 테스트를 하는 과정을 기록해보려 한다. 우선 우리 팀이 프로젝트에 사용할 서버 관련 스택은 다음과 같다. CI/CD 관련한 스택의 경우, 변경될 가능성이 있다. Java, Spring Boot, AWS EC2, RDS, ALB, MySQL, Redis, Docker, Github Actions, Chat GPT java client library 참고로 AWS EC2, RDS, MySQL, Docker 설정 등은 추후 다른 글에서 다룰 예정이다. 📌 Spring Project Setting Neverland(가제) 서비스를 위..
[REST API] Section 3. HATEOAS와 Self-Descriptive Message 적용 스프링 기반 REST API 개발 - 인프런 | 강의 다양한 스프링 기술을 사용하여 Self-Descriptive Message와 HATEOAS(Hypermedia as the engine of application state)를 만족하는 REST API를 개발하는 강의입니다., 스프링으로 REST를 따르는 API를 만들어보... www.inflearn.com 3.1 스프링 HATEOAS 스프링 HATEOAS: 스프링 프로젝트 중 하나로, rest한 리소스를 쉽게 제공해주기 위한 API를 만들 때 편리하게 사용할 수 있는 툴을 제공하는 라이브러리 즉, HATEOAS를 만족하는 REST representation을 쉽게 생성할 수 있게 도와주는 API를 제공하는 프로젝트이다. Spring HATEOAS -..