SOOP 지원 준비

김현학·2025년 1월 11일
0

Temp

목록 보기
3/8

SOOP에서 채용을 진행한다는 공지를 보았다. 평소에 인터넷 방송을 즐겨보며 이 기업에 큰 관심이 있었는데, 상시 채용에 해당되는 내용이 없어서 지원을 하지 못했다. 비교적 다뤄보았던 기술 스택이 있는 직무를 발견해서 이번 기회에 한 번 지원해보려 한다.


A. 직무 기술서

Global 서비스 Back-end 개발 (NestJS)

  • [팀소개]
    • 열정과 도전정신으로 Global 서비스 확장에 앞장서며 플랫폼의 개발과 유지보수를 합니다. 더 나은 개발 문화 그리고 유저를 위한 플랫폼 개발을 위해 노력합니다.
  • [담당업무]
    • Back-end API 신규 개발 및 유지보수
    • API 성능 개선
  • [자격요건]
    • NestJS, Express를 사용한 개발 경험을 보유하신 분
    • DB 및 REST API의 설계 및 개발이 가능하신 분
  • [우대사항]
    • TypeScript 개발 경험을 보유하신 분
    • Front-end, Back-end 사이의 통신 과정에 대한 이해도를 보유하신 분
    • 새로운 기술에 대해 꾸준히 학습하고 관심이 많으신 분

NestJSExpress는 자주 사용해보지 않았다. 하지만 프레임워크나 라이브러리는 남은 일주일동안 사용해보면 적응할 수 있을거라 판단했다. 프로젝트 주제도 중요하다고 생각하여 AI에게 다음과 같은 요소를 고려하도록 주제를 추천받아 선택했다.

  • 라이브 스트리밍 플랫폼
  • 간단한 프론트엔드 작업과 깊이 있는 백엔드 작업
  • Global 서비스

B. 주제 선정

글로벌 실시간 채팅 및 시청 통계 서비스

주요 기능

  • WebSocket 기반 실시간 채팅
  • 시청자 통계 API (오늘, 이번 주/달/연도)
    • 채널 시청 시간
    • 채팅 횟수
  • (Optional) 플랫폼 이용 기록 잔디 시각화
    • 선택한 시간 기준별로 잔디 시각화
    • 한 번의 클릭으로 시간별 통계 제공
  • (Optional) 사용자 언어에 맞춘 채팅 번역
    • 외부 번역 API 활용

기초적인 프로젝트 빌드를 위한 예제 실습을 진행했다.


C. 트러블 슈팅

  1. [NestJs] Controller 변경 사항이 부분적으로 반영되지 않는 경우
  2. [NestJs] TypeORM relations: Cannot access Entity before initialization

D. 노트

참고 링크

깊게 파기

정리

@Module() 데코레이터는 단일 객체를 매개변수로 받으며,
이 객체의 속성들은 다음과 같은 모듈의 구성 요소를 포함합니다.

속성설명역할예제
providers해당 모듈 내부에서 사용되거나, 다른 모듈과 공유될 수 있는 프로바이더들입니다.NestJS의 의존성 주입기(Nest Injector)에 의해 인스턴스화될 프로바이더(서비스)들을 정의합니다.providers: [MyService, AnotherService]
controllers클라이언트 요청을 처리하고 적절한 서비스를 호출하는 역할을 합니다.이 모듈에 정의된 컨트롤러들의 집합입니다. 각 컨트롤러는 인스턴스화되어 HTTP 요청을 처리합니다.controllers: [MyController]
imports의존성을 외부 모듈에서 가져와 현재 모듈에서 재사용할 수 있도록 합니다.이 모듈에서 사용하기 위해 가져올 다른 모듈들의 목록입니다. 가져온 모듈은 그 모듈에서 제공하는 프로바이더들을 사용할 수 있도록 해줍니다.imports: [CommonModule, AuthModule]
exports다른 모듈들이 의존성 주입을 통해 이 모듈의 프로바이더를 사용할 수 있도록 허용합니다.이 모듈이 제공하는 프로바이더들 중에서 다른 모듈에서 사용할 수 있도록 내보낼 항목들의 집합입니다. 내보낼 때는 프로바이더 자체나 해당 프로바이더의 토큰을 사용할 수 있습니다.exports: [MyService]

여기까지 기초적인 프로젝트 빌드를 위한 예제 실습을 완료했다.


E. 향후 계획

oomia/live-chat-stats-server:PR #6

  • ✅ NestJS 기본 설정
  • ✅ Database 설정 및 RESTful CRUD API 예제 실습
  • ✅ WebSocket 환경 구축 및 실시간 메시지 송수신 구현
  • RESTful API 설계 및 국가별 사용자 데이터를 처리하는 데이터베이스 스키마 설계 (MySQL)
  • 외부 번역 API 통합으로 실시간 번역 기능 추가
  • Redis 캐싱을 활용한 API 성능 최적화
  • React로 프론트엔드 구축, 채팅 UI/UX 구현
  • 실시간 번역 결과 프론트엔드에 반영
  • ✅ Dockerize
  • 배포 (AWS EC2/Vercel/Heroku)
  • ✅ 문서화 (Swagger)

0개의 댓글

관련 채용 정보