holy-s 님의 블로그
close
프로필 배경
프로필 로고

holy-s 님의 블로그

  • 분류 전체보기 (76)
    • Algorithm (10)
    • Side Projects (25)
    • Web (1)
    • CS (19)
    • WinAPI, DirectX (3)
    • SQL (15)
    • 잡답 (1)
    • JavaScript, TypeScri.. (2)
  • 홈
  • 태그

[TypeScript] 도서관 관리 시스템 구현하기

개요최근 TypeScript를 공부하면서 SOLID 원칙을 실습해볼 수 있는 간단한 프로젝트를 만들어봤다. 도서관 관리 시스템을 구현하면서 각각의 SOLID 원칙이 어떻게 적용되는지 살펴보자.SOLID 원칙이란?객체 지향 프로그래밍의 5가지 기본 원칙을 나타내는 약자.Single Responsibility Principle (단일 책임 원칙)Open/Closed Principle (개방/폐쇄 원칙)Liskov Substitution Principle (리스코프 치환 원칙)Interface Segregation Principle (인터페이스 분리 원칙)Dependency Inversion Principle (의존성 역전 원칙)SOLID 원칙 적용 사례단일 책임 원칙 (SRP)// models/Book.ts..

  • format_list_bulleted JavaScript, TypeScript
  • · 2025. 4. 24.
  • textsms

NestJS로 만드는 AI챗봇 (Feat. warudo)

프로젝트 개요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..

  • format_list_bulleted Side Projects
  • · 2025. 3. 29.
  • textsms

NestJS로 warudo 연결하기

Warudo란 무엇인가?Warudo는 3D VTuber 라이브 스트리밍을 위해 특별히 설계된 아바타 애니메이션 소프트웨어다. Warudo는 WebSocket을 통해 실시간으로 데이터를 주고받을 수 있는 시스템인데, 주로 실시간 통신이 필요한 애플리케이션에서 사용되며 빠르고 효율적인 데이터 전송을 지원한다. 특히 대화형 애플리케이션이나 실시간 업데이트가 필요한 시스템에서 유용하게 사용될 수 있다. 왜 Warudo여야 하는가?Warudo는 캐주얼 사용자와 전문 사용자 모두를 위해 설계된 종합적이고 기능이 풍부한 3D VTubing 소프트웨어로써, 다양한 모션 캡쳐 시스템을 지원하므로 집에서 스트리밍하거나 전문 모션 캡처 스튜디오에서도 사용할 수 있다. 또한, 500개 이상의 기본 애니메이션으로 캐릭터를 포즈..

  • format_list_bulleted Side Projects
  • · 2025. 3. 17.
  • textsms

Node.js에서 OAuth 2.0으로 소셜 로그인 구현하기

OAuth 2.0이란?OAuth 2.0은 사용자 인증을 위한 개방형 표준 프로토콜로, 사용자가 다른 웹사이트에 자신의 정보를 제공할 때 비밀번호와 같은 민감한 정보를 직접 전달하지 않고도 안전하게 인증할 수 있는 방법이다. 예를 들어, 1. 당신이 새로운 서비스에 가입하려고 할 때 2. "Google로 계속하기" 버튼을 클릭하면 3. Google 로그인 창이 뜨고 4. 승인하면 새로운 서비스는 당신의 Google 계정 정보 중 필요한 부분만 안전하게 전달받아 사용 이러한 과정이 바로 OAuth 2.0 프로토콜을 통해 이루어진다. 왜 소셜 로그인인가?사용자 측면새로운 계정 생성 불필요비밀번호 기억/관리 부담 감소신뢰할 수 있는 플랫폼을 통한 안전한 인증개발자 측면보안 인증 로직 구현 부담 감소신뢰할 수 있..

  • format_list_bulleted Side Projects
  • · 2025. 3. 10.
  • textsms

Node.js로 구현하는 AI 챗봇 비교 분석: Gemini vs Grok vs OpenAI

프로젝트 목적배경인턴십 프로그램을 시작하면서 AI API를 다시 경험해보는 시간을 가졌다. 처음에는 단순히 OpenAI API를 사용하는 것으로 시작했지만, 공부를 하다보니 다른 AI 모델들은 어떤 특징이 있는지 궁금해졌다. 그래서 현재 가장 주목받는 세 가지 AI 모델(Gemini, Grok, OpenAI)을 비교하는 토이 프로젝트를 시작하게 되었다.주요 목표AI API 실무 경험API 연동 및 구현 방법 학습비동기 처리 및 에러 핸들링 실습환경 변수 관리 및 보안 설정 경험주요 AI 모델 비교 분석Google의 GeminiX(구 Twitter)의 GrokOpenAI의 GPT실제 구현을 통한 특징 파악각 모델의 장단점 분석사용 제한 및 비용 구조 이해응답 품질 및 성능 비교개발 환경 및 사용 기술Nod..

  • format_list_bulleted Side Projects
  • · 2025. 3. 5.
  • textsms

JavaScript 라이브러리를 TypeScript 프로젝트에서 사용해보기

Node.js 프로젝트 생성일단 빠르게 Node.js 프로젝트를 생성해보자. 먼저 새 터미널창을 연다.npm init -y터미널 창에 위 명령어를 입력하면 생성 끝! TypeScript 프로젝트로 변환이제 TypeScript 프로젝트로 변환할 차례다.tsc --initNode.js 프로젝트를 생성할 때처럼 터미널에 위 명령어를 입력하고 실행한다. 그러면 tsconfig.json가 생성되고, TypeScript 프로젝트로 변환되게 된다. 이제 tsconfig.json 파일을 열어서 수많은 주석 중 필요한 옵션을 선택하여 주석 처리를 해제하면 된다. 내가 주석 해제한 옵션들은 아래와 같다."allowJs": true // TypeScript 프로젝트에 JavaScript 파일 허용 여부"checkJs": t..

  • format_list_bulleted JavaScript, TypeScript
  • · 2025. 2. 22.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 13
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (76)
    • Algorithm (10)
    • Side Projects (25)
    • Web (1)
    • CS (19)
    • WinAPI, DirectX (3)
    • SQL (15)
    • 잡답 (1)
    • JavaScript, TypeScri.. (2)
최근 글
태그
  • #오블완
  • #futsal-online
  • #바로인턴
  • #cs
  • #티스토리챌린지
  • #multi-roguelike
  • #Algorithm
  • #holyshit
  • #SQL
  • #Til
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바