프로젝트 개요NestJS를 기반으로 한 AI 챗봇 프로젝트Grok AI를 활용한 자연스러운 대화 처리Warudo를 통한 실시간 동작 제어WebSocket을 활용한 양방향 통신기술 스택NestJS: Node.js 기반의 서버 프레임워크Grok AI: x.ai에서 제공하는 대화형 AI 모델Warudo: WebSocket 기반의 실시간 동작 제어 시스템WebSocket: 실시간 양방향 통신 프로토콜AI API 설정constructor( private configService: ConfigService, private warudoService: WarudoService,) { const grokApiKey = this.configService.get('GROK_API_KEY'); this.grokClie..
Warudo란 무엇인가?Warudo는 3D VTuber 라이브 스트리밍을 위해 특별히 설계된 아바타 애니메이션 소프트웨어다. Warudo는 WebSocket을 통해 실시간으로 데이터를 주고받을 수 있는 시스템인데, 주로 실시간 통신이 필요한 애플리케이션에서 사용되며 빠르고 효율적인 데이터 전송을 지원한다. 특히 대화형 애플리케이션이나 실시간 업데이트가 필요한 시스템에서 유용하게 사용될 수 있다. 왜 Warudo여야 하는가?Warudo는 캐주얼 사용자와 전문 사용자 모두를 위해 설계된 종합적이고 기능이 풍부한 3D VTubing 소프트웨어로써, 다양한 모션 캡쳐 시스템을 지원하므로 집에서 스트리밍하거나 전문 모션 캡처 스튜디오에서도 사용할 수 있다. 또한, 500개 이상의 기본 애니메이션으로 캐릭터를 포즈..
OAuth 2.0이란?OAuth 2.0은 사용자 인증을 위한 개방형 표준 프로토콜로, 사용자가 다른 웹사이트에 자신의 정보를 제공할 때 비밀번호와 같은 민감한 정보를 직접 전달하지 않고도 안전하게 인증할 수 있는 방법이다. 예를 들어, 1. 당신이 새로운 서비스에 가입하려고 할 때 2. "Google로 계속하기" 버튼을 클릭하면 3. Google 로그인 창이 뜨고 4. 승인하면 새로운 서비스는 당신의 Google 계정 정보 중 필요한 부분만 안전하게 전달받아 사용 이러한 과정이 바로 OAuth 2.0 프로토콜을 통해 이루어진다. 왜 소셜 로그인인가?사용자 측면새로운 계정 생성 불필요비밀번호 기억/관리 부담 감소신뢰할 수 있는 플랫폼을 통한 안전한 인증개발자 측면보안 인증 로직 구현 부담 감소신뢰할 수 있..
프로젝트 목적배경인턴십 프로그램을 시작하면서 AI API를 다시 경험해보는 시간을 가졌다. 처음에는 단순히 OpenAI API를 사용하는 것으로 시작했지만, 공부를 하다보니 다른 AI 모델들은 어떤 특징이 있는지 궁금해졌다. 그래서 현재 가장 주목받는 세 가지 AI 모델(Gemini, Grok, OpenAI)을 비교하는 토이 프로젝트를 시작하게 되었다.주요 목표AI API 실무 경험API 연동 및 구현 방법 학습비동기 처리 및 에러 핸들링 실습환경 변수 관리 및 보안 설정 경험주요 AI 모델 비교 분석Google의 GeminiX(구 Twitter)의 GrokOpenAI의 GPT실제 구현을 통한 특징 파악각 모델의 장단점 분석사용 제한 및 비용 구조 이해응답 품질 및 성능 비교개발 환경 및 사용 기술Nod..
체스말 이동 구현의 어려움나는 요즘 Blazor를 이용해서 체스를 구현하는 토이 프로젝트를 진행 중이다.더보기Blazor: C# 및 HTML을 사용하여 웹 앱을 만들 수 있는 자유-오픈 소스 프레임워크. 서버의 경우 ASP.NET Razor 구문을 사용하여 정의된 UI와 함께 ASP.NET Core 서버 프로세스에서 호스팅된다.참고) https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A0%88%EC%9D%B4%EC%A0%80_(%EC%9B%B9_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)그런데 생각지도 못한 곳에서 문제가 발생했다. 생각보다 체스말 움직임을 구현하기가 까다로웠던 것이다. 단순히 말을 이동시키는 것뿐만 아니라 다음과 같은 ..
두 DB 특징 RDBMS (PostgreSQL)구조화된 스키마와 엄격한 데이터 일관성.ACID 트랜잭션 보장.복잡한 조인 연산 지원.수직적 확장(Scale-up) 중심.정규화된 데이터 구조.NoSQL (MongoDB)유연한 스키마 (Schema-less).수평적 확장(Scale-out) 용이.문서 기반 데이터 모델.높은 쓰기/읽기 처리량.실시간 데이터 처리에 최적화. 채팅 시스템 MongoDB 도입 배경높은 쓰기 성능실시간 채팅에서 발생하는 대량의 메시지 저장에 유리.샤딩을 통한 수평적 확장 용이.읽기 성능 향상채팅 이력 조회 시 조인 없이 단일 컬렉션에서 조회 가능.인덱싱을 통한 빠른 검색.데이터 구조 최적화채팅 메시지는 정규화가 필요 없는 문서 형태로 저장하기 적합.메시지, 시간, 사용자 정보 등을 ..