🚀 팁 (기술 적용 방법 등)

안녕하세요 dev_writer입니다. 오늘은 저번에 말씀드린 대로 Spring AI에서 지원하는 PromptTemplate과 프롬프트의 근본적인 종류를 알려드리겠습니다. 프롬프트란이제 프롬프트 (Prompt)라는 단어는 일상생활에서 쉽게 접할 수 있는 말이 되었습니다.위키백과에서는 프롬프트를 생성형 AI 모델로 해석되고 이해할 수 있는 명령, AI가 수행해야 하는 작업을 설명하는 자연어 텍스트라 정의하고 있습니다. 효과적으로 프롬프트를 적용할 수 있는 사례를 정리한 글도 참고하시면 좋을 듯합니다. Prompt 클래스기본적으로 Spring AI에서 프롬프트를 나타내는 Prompt 클래스의 인스턴스를 생성할 때, 생성자를 보면 UserMessage로 생성됨을 보실 수 있습니다. 그리고 그 이외에도 Messa..
이전 Spring AI에 대한 글을 작성한 후, 감사하게도 생각보다 많은 분이 글을 찾아주셨습니다. 그러던 도중, 갑자기 Spring AI 메인 README에 다음과 같은 내용이 올라왔습니다. Spring AI의 변경 사항 공지  핵심 먼저 말씀드리면, 아래와 같이 바뀌게 되었습니다.1️⃣ 새로운 ChatClient는 ChatModel 인스턴스를 취합니다. 이것은 RestClient, WebClient, JdbcClient 등과 같은 스프링 생태계의 클라이언트들과 유사한 방식으로 프롬프트를 실행할 수 있도록 fluent API 방식을 지원합니다.2️⃣ ChatClient, ImageClient 등 ...Client로 끝났던 파일들이 이제는 ...Model로 이름이 변경되었습니다.따라서 이전에는 ChatC..
소개이번 시간에는 깃허브를 제대로 활용할 수 있는, 이슈 & PR 자동화 스크립트를 알려드리고자 합니다. 깃허브를 사용하고 계신 분들은 대부분 아실 개념들일 텐데요, PR이 merge 되면 관련 이슈가 자동으로 닫히도록 하는 것에 중점을 두겠습니다. Issue깃허브에서 이슈 (Issue)란, 모든 종류의 문제를 의미합니다. 예시로 Spring AI의 이슈를 보면 아래와 같이 여러 개가 있습니다. 깃허브의 공식 문서에서는 이슈를 다음과 같이 설명하고 있습니다.GitHub Issue란?우리 모두는 우리의 작업을 계획하고, 문제를 추적하고, 우리가 구축하는 것들을 논의할 수 있는 방법이 필요합니다. 이 보편적인 질문에 대한 우리의 대답은 깃허브 이슈이며, 그것은 모든 저장소에 내장되어 있습니다. 깃허브의 이슈..
본 내용은 24.05.22 Spring AI에 대해 변경점이 생긴 이유로 최신 버전과 호환되지 않습니다. 대략적인 원리는 같으나, 변경점에 대해 아시고 싶으신 분들은 해당 글도 참고 부탁드립니다. 개요요새 ChatGPT 등 생성형 AI를 서비스에 접목시키는 기업들이 늘어나고 있고, 이러한 차원에서 생성형 AI를 프로젝트에 넣어보고자 하는 분들이 많은 기류를 느끼고 있습니다. 스프링에서는 아래의 영상을 통해 자체 기술인 Spring AI를 소개하는 영상을 만들기도 하였죠. 나온 지 얼마 되지 않은 기술이다 보니, 아직 이 기술을 블로그에 기록하신 분이 많이 없는 것 같아 프로젝트 상황에서 적용한 과정을 공유하고자 합니다. 본 글에서 진행할 예시는 OpenAI의 ChatGPT를 결합하여 스프링 애플리케이션에..
오랜만에 기술 팁을 작성하겠습니다. 사실 JWT 관련해서 글을 계속 작성하고 있었는데, 프로젝트도 있고 개강을 한 지 얼마 되지 않아 바쁜 것도 있어서 팁 글은 거의 한 달 만에 올리네요.. 😭 프로젝트를 하며 바쁘게 된 것도 있지만 그 덕분에 REST Docs에 대해 더 잘 다룰 수 있게 되어 이 과정을 공유합니다. 이전 글에서는 document 메서드로 간단히 docs 패키지 아래에 html 문서들이 보관되는 것까지 다루었는데요, 이번에는 테스트를 통해 실제 문서가 작성되도록 하는 것을 알아보겠습니다. 기존 테스트 코드기존 테스트 코드는 아래와 같습니다.// import 표현은 생략@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.cla..
이전 글에 이어서 바로 세션을 이용한 로그인도 구현해 보겠습니다! (회원 식별은 JWT까지 하고 난 뒤에 각각 작성하겠습니다.) 세션세션은 쿠키만을 사용했던 방식과는 조금 다른 방식으로 이루어집니다. 세션의 사용 이유세션을 왜 쓰는지에 대해서는 쿠키에 대해 다시 알아봐야 합니다. 기존 쿠키 방식은, 쿠키 안에 서버가 브라우저를 식별할 수 있는 모든 정보들을 다 기록해놔야 했습니다. (닉네임.비밀번호를 쿠키로 그대로 넣어둔 것 등) 하지만 이렇게 된다면 쿠키를 만약 탈취당했을 경우 (강도가 여행객의 신분증을 훔치는 등), 브라우저 (여행객)에 대한 모든 정보를 다 파악할 수 있겠죠? 바로 이러한 문제를 극복하기 위해 세션을 사용할 수 있습니다. 세션의 특징서버는 유저가 로그인을 하면 세션 DB에 유저를 생..
개요안녕하세요. 이번에는 프로젝트를 하시면서 로그인, 회원가입, 로그인 한 회원 식별을 스프링에서 어떻게 할 수 있는지에 대해 공부한 과정을 공유하고자 합니다! 보통 위 작업들을 하기 위해 스프링 시큐리티를 사용하셨던 경험이 있으실 텐데요, 스프링 시큐리티는 별도의 프레임워크다 보니 깊이 있게 학습하기 위해서는 스프링 시큐리티를 사용하지 않고 스프링만으로 해보는 게 좋겠다고 생각이 들었습니다. (멘토링해 주시는 선배님께서도 같은 생각을 가지고 계셨습니다.) 크게 쿠키, 세션, JWT 방식으로 회원가입 & 로그인을 해 보고, 이것을 어노테이션으로 편리하게 사용하는 등의 방식으로 개선시키는 내용을 작성하겠습니다. 그럼 첫 번째 글에서는 쿠키 방식을 이용한 회원가입 & 로그인에 대해 알아보겠습니다! 따라 할 ..
Spring REST Docs오늘은 스프링 REST Docs에 대해 적용하고, 관리하는 방법을 알아보고자 합니다. 스프링을 어느 정도 써 보고, 테스트 및 문서화등을 해 보신 분들이라면 스웨거나 노션, 포스트맨으로 API 문서를 만든 경험이 있으실 텐데요, 스프링에 있는 REST Docs는 현업에서 많이 쓰는 문서화 스킬이라고 할 수 있습니다. 기존 문서화 도구들은 스웨거의 경우 스웨거를 위한 코드가 프로덕션 환경에 묻는다는 점, 그리고 수정 시 업데이트 상태와 문서의 상태가 서로 맞지 않는 문제 등이 있었는데요, 스프링 REST Docs는 테스트, 빌드를 기반으로 작성하기에 싱크가 유지될 수 있다는 장점이 있습니다. 아마 시작하는 단계에서부터 어떻게 적용해야 할지 감이 오시지 않는 분들이 많을 것 같아..
dev_writer
'🚀 팁 (기술 적용 방법 등)' 카테고리의 글 목록