프로젝트 개요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..
Node.js 프로젝트 생성일단 빠르게 Node.js 프로젝트를 생성해보자. 먼저 새 터미널창을 연다.npm init -y터미널 창에 위 명령어를 입력하면 생성 끝! TypeScript 프로젝트로 변환이제 TypeScript 프로젝트로 변환할 차례다.tsc --initNode.js 프로젝트를 생성할 때처럼 터미널에 위 명령어를 입력하고 실행한다. 그러면 tsconfig.json가 생성되고, TypeScript 프로젝트로 변환되게 된다. 이제 tsconfig.json 파일을 열어서 수많은 주석 중 필요한 옵션을 선택하여 주석 처리를 해제하면 된다. 내가 주석 해제한 옵션들은 아래와 같다."allowJs": true // TypeScript 프로젝트에 JavaScript 파일 허용 여부"checkJs": t..
체스말 이동 구현의 어려움나는 요즘 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)그런데 생각지도 못한 곳에서 문제가 발생했다. 생각보다 체스말 움직임을 구현하기가 까다로웠던 것이다. 단순히 말을 이동시키는 것뿐만 아니라 다음과 같은 ..