본문 바로가기

반응형

소프트웨어

(15)
서버 없이 프롬프트를 서비스에 통합하기 오늘은 서버 없이 프롬프트를 서비스에 연동할 수 있는 간단한 서비스를 만들어보고 관련된 내용을 포스팅해보겠습니다. 최근 다양한 서비스에서 AI 기능이 도입되고 있습니다. 예를 들어, 아래 스크린샷은 부동산 정보 앱 호갱노노에서 제공하는 "이야기" 탭의 "AI 요약" 기능입니다. 직접 ChatGPT나 Gemini 같은 AI 서비스를 사용 해보고 이걸 이용해서 뭘 할 수 있을까 하며 든 생각인데요."프롬프트를 좀 더 간편하게 서비스에 통합할 수 있으면 좋겠다."물론 API Key를 발급받아 서비스에 통합하면 어렵지는 않은데요. 몇 가지 제약이 있습니다.📌 LLM API 통합의 불편함클라이언트 사이드에서 직접 OpenAI나 Google의 LLM API를 호출하는 방식은 API Key 가 노출됩니다.또한,..
맥북 터미널(zsh) 느림 문제 어느새부턴가 터미널을 열 때마다 상당히 긴 로딩 시간을 거쳐야 했는데요.이를 해결하기 위해 이것저것 해본 경험을 공유하려고 합니다.⚡️ 문제 상황 위 영상처럼 상당히 긴 시간을 기다려야만 터미널을 사용할 수 있고, 심지어 명령어 실행이 끝날 때마다 또 기다려야했습니다 😅zsh/zprof 로 프로파일링먼저, ~/.zprofile 맨 위에 아래 내용을 추가합니다.zmodload zsh/zprof 터미널을 재시작한 뒤 $ zprof 명령어를 실행하니, 아래와 같은 결과가 나왔습니다.$ zprofnum calls time self name------------------------------------------------..
Spring Bean 중복 에러 실무에서 중복 Bean 에러를 만난 적이 있었는데요~관련된 내용을 정리해보겠습니다!  문제 재현  우선 문제 재현을 위해서 spring initializer 에서 위와 같이 설정하여 프로젝트를 생성했습니다 먼저 Interface 를 정의합니다 package com.example.dupbean.service;public interface RecommendService { String getRecommendServiceName();} 그리고 Interface 를 구현하는 두 가지 클래스의 Bean을 @Order 를 적용해서 만듭니다package com.example.dupbean.service;import org.springframework.core.annotation.Order;import org.s..
오픈소스 컨트리뷰션 후기 이번 포스팅에서는 어쩌다가 오픈소스에 기여하게 된 경험을 공유하려고 합니다. PR : https://github.com/timlrx/tailwind-nextjs-starter-blog/pull/778 기여한 프로젝트 nextjs로 블로그 웹페이지를 개발하려고 찾아보니 이런 프로젝트를 찾게 되었는데요 https://github.com/timlrx/tailwind-nextjs-starter-blog GitHub - timlrx/tailwind-nextjs-starter-blog: This is a Next.js, Tailwind CSS blogging starter template. Comes out of the box co This is a Next.js, Tailwind CSS blogging star..
코딩 없이 Next.js 기반 블로그 만들기 Github 계정만 있다면, 쉽게 Next.js 기반 블로그를 만들 수 있습니다. tailwind-nextjs-starter-blog 를 이용해서 Next.js 기반의 블로그를 코딩 (거의)없이 만드는 방법을 알아보겠습니다. 해당 블로그 템플릿의 예시는 아래 링크에서 확인할 수 있습니다. https://tailwind-nextjs-starter-blog.vercel.app/ Next.js Starter Blog A blog created with Next.js and Tailwind.css tailwind-nextjs-starter-blog.vercel.app 로컬환경 블로그 먼저 로컬환경에서 블로그 웹페이지를 띄워보겠습니다 tailwind-nextjs-starter-blog git repository ..
java.lang.NoClassDefFoundError: com/querydsl/apt/AbstractQuerydslProcessor 에러 해결 개발을 하다가 만난 java.lang.NoClassDefFoundError: com/querydsl/apt/AbstractQuerydslProcessor 에러를 해결했던 경험을 공유하려고 합니다. 결론부터 말하자면 apt-maven-plugin 플러그인을 제외했습니다. 오류 상황 이번에도 역시나 로컬에서는 문제가 없지만 다른 환경에서 문제가 있는 상황이었습니다. 개발을 하다보면 이런 일이 많은데요. Jenkins 에서 CI 를 위한 자동화 빌드 도중 에러가 발생한 것입니다. 에러 로그는 아래와 같습니다. [ERROR] execute error java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.NoClassDefFo..
ChatGPT 장애 (Oops! Our systems are ...) 최근 며칠동안 ChatGPT 장애를 몇번 겪었는데요. 결론은 기다리면 장애는 해결됩니다. 답답했던 경험을 공유드립니다. ChatGPT 서비스 장애 어느 날인가.. AI에게 뭔가를 물어보려고 ChatGPT에 접속하고 로그인을 했는데... 아래와 같이 서비스 장애를 알리는 메시지가 뜨게 됩니다 Go back 버튼을 누르고 다시 로그인해도 해결이 안되었습니다 해결 방법 답답하지만, 기다리는 방법 뿐입니다. 메시지를 읽어봐도 그 방법 뿐입니다. 저의 경우에는 페이지를 띄워두고 다른 탭에서 다른 작업을 하다가 다시 해당 탭으로 돌아갔더니 ChatGPT 서비스 웹페이지가 잘 띄워져 있었습니다. 어떤 날에는 몇 시간동안 접속이 안된 경우도 있었구요. OpenAI가 AI 뿐만 아니라 웹서비스에도 노하우가 생겨서 지금보..
java.lang.UnsupportedOperationException 발생 케이스 jdk17 버전부터 Stream 연산 후 결과를 Stream.toList() 로 return 할 수 있는데요public class UnsupportedOperationExceptionTest { @Test void unsupportedOperationExceptionTest() { Stream stream = Stream.builder() .add("ccc") .add("aaa") .add("bbb") .build(); List list = stream.toList(); Collections.so..

반응형