Back-end 8

[한국연구재단 R&D 프로젝트] 실시간 통신 총정리

아우웅 .. 지금 완전 WebSocket이며 Redis며 Nginx 프록시며 실시간 통신에 관한 구현을 하고는 있는데 머릿속으로 정리가 안돼서 티스토리에라도 끄적여봅니다 .. 일단, 구현한 것은 1. 3명이 한 방에 들어가서 3초 후에 동시 시작2. 시작 후 3명이 음성 토론을 실시간으로 진행 (약간 줌 느낌이라고 난 생각했다)이때, 음성 시작과 끝을 백엔드는 기록한다 → 음성 토론을 다 녹음한 후 STT를 이용하여 스크립트화 해서 후에 GPT API를 통해 분석해야 한다.WebRTC 시그널링을 통해 P2P 연결3. 페이지는 방장이 넘길 때 다른 사람의 접속 페이지에서도 동시에 넘어가야 하며4. 각자 선택 제출을 음성 토론 중에 진행하고,5. 종료되면 음성 세션 종료와 함께 audio 기록 업로드 정도가..

Back-end 2025.07.21

FastAPI + Websocket + Celery + Redis: train 로그 실시간 전송 구현

졸업 프로젝트 중 내가 이번주 넘 고생했던 api 구현이었기에 정리해본다!우리 서비스는 생성된 코드를 통해 서버 환경에서 학습을 시키고, 그 학습 로그를 epoch마다 실시간으로 loss, accuracy 값을 프론트엔드에 전송을 해야했고, 학습이 완료되면 6가지의 학습 지표를 최종 출력해야했다. 프로젝트 개요PyTorch 기반 학습 로그를 실시간으로 프론트엔드로 보내기 위한 전체 시스템 구성FastAPI가 websocket 경로를 따라 사용자의 학습 요청을 받아 Celery로 학습 태스크를 보냄워커가 PyTorch 학습 실행 + print()를 Redis Pub 채널로 발행FastAPI는 해당 채널을 구독해서 클라이언트 WebSocket에 전송Celery는 Redis를 통해 워커에게 작업 전달사용 기술..

Back-end 2025.05.06

OOM 문제 해결

Websocket + FastAPI로 구현했던 기능에서 계속 OOM 에러가 떠서.. 아예 구성을 바꿔야 겠다고 생각했다. [🧱 전체 구성 요약]📱 Client ↓ WebSocket 요청 🌐 FastAPI → Celery task 발송 → WebSocket 열고 로그 수신/전송 🐇 Celery Worker → model.fit() 수행 → 로그를 Redis에 저장 or 직접 WebSocket으로 push 🐘 Redis → Task queue / 로그 전달용✅ 구성 요소 요약역할파일설명Celery task 실행tasks/train.py모델 학습Redis 로그 전송utils/pubsub.py학습 로그 publishWebSocket 수신ws/log_consumer.py..

Back-end 2025.04.19

[node.js] schedular

인턴에 들어가기 앞서 ...스케줄러 구현 총정리 ! 우선 node.js의 일반적인 프로젝트 구조는jaeryeong-app/├── src/│ ├── routes/ # 라우트 정의│ │ ├── users.js # 사용자 관련 라우트│ │ └── products.js # 상품 관련 라우트│ ├── controllers/ # 컨트롤러 (핸들러 로직)│ │ ├── users.js # 사용자 로직│ │ └── products.js # 상품 로직│ ├── middlewares/ # 미들웨어│ │ └── auth.js # 인증 미들웨어│ ├── scheduler/ # 스케줄러 관련 코드│ │ └..

Back-end 2025.01.06

DB 구축 및 서버 배포 과정

이화여자대학교 졸업 프로젝트 캡스톤디자인과창업프로젝트 수업을 수강하며, 필요한 기술을 정리해보는 블로그를 적는다. 방학동안 개발에 들어갈 것이기 때문에 어찌 보면 백엔드 과정에서 가장 중요하다고 생각하고 있는 부분을 정리해보고자 한다. 특히 Django로는 서버 배포를 수차례 진행해보았기에 이번엔 Node.js 툴에 맞추어서 작성해야겠다! AWS 배포하기 1️⃣EC2 서버 설정을 완료한 후 Status checks 가 running으로 바뀌면 접속할 수 있게 된다.IPv4 Public IP로 접속할 수 있다. 이제 터미널을 열고 pem키가 있는 폴더로 들어간 후, 아래와 같은 command line을 입력하게 되면chmod 400 .pemssh -i ".pem" ubuntu@ 인스턴스에 접속할 수 있다 ..

Back-end 2024.11.28

[Spring Boot] 네이버 SENS 로 문자(SMS) 발송하기

카카오톡 알림톡 전송은 사업자 등록을 해야지만 가능하다. 문자 전송은 등록하지 않아도 가능 ! 🌈 Naver Simple & Easy Notification Service네이버 클라우드 플랫폼의 SENS 는 문자 전송 API 를 제공하고 있다. 🌈 사전 준비 사항1. 먼저, 네이버 클라우드 플랫폼에서 회원가입을 진행한 후에 마이페이지 > 계정 관리 > 인증키 관리 로 들어간다.여기서 신규 API 인증키 생성 을 선택해서 ✨Access Key, Secret Key✨를 발급 받자.(Access Key, Secret Key 는 외부에 노출되지 않도록 .yaml 파일과 깃허브 Secrets 에 저장했다.)  2. 이제 서비스 > Simple & Easy Notification Service 로 들어가서 프로..

Back-end 2024.08.15