HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📯
부스트캠프 7기 BE 멤버쉽 설계
/
7주차

7주차

스프린트
강의날짜
Oct 26, 2022
키워드
NestJS
제목
요약
확인
프레임워크와 라이브러리의 제일 큰 차이점이 무엇이라고 생각하시나요?
확인
다음 주에 P4을 이어서
확인
Socket 중계 서버
확인
socket.io가 이벤트 기반이라서 백엔드 변수에서 공유자원 문제가 발생할 수 있을까요?
확인
개발 말고 다른 취미가 있으신가요?
확인
[BE] (클러스터링 환경이 아닐 때) Redis를 사용하는 것 VS 변수에 데이터를 담아서 사용하는 것 / 어떤 장점단점이 있을까요?
확인
다른 플레이어의 위치정보를 소켓으로 주고 받는 것에 대해
확인
프론트엔드에서 express 서버를 쓰는 경우가 따로 있을까요?
확인
nest g 명령어가 만들어주는 것들
확인
슬기로운 그룹 프로젝트 생활 - 소통편
팀원들과 잘 소통하는 방식 그리고 특별한 그라운드 룰 알려주세요
확인
이번 과제에 담겨있는 의도는?
확인
데코레이터는 왜 나왔을까요
확인
일하면서 다른 활동을 하시는 비결이 뭔가요?
확인

안내사항

프로젝트 관련

  • project 5는 추후에 공개 예정입니다.
  • 다음 주는 project 4를 이어서 진행해주세요!
 

이력서 특강

  • 다음주 수요일 (11월 2일) - 토스 진유림님
 

 

NestJS

  • 구글에서 만들었음
  • AngularJS의 모듈 활용
  • Dependency Injection
  • Module 방식
 

Singleton

  • 싱글톤 컨테이너가 있음
  • 싱글톤 객체를 주입하는 방식
 

Standard App

  • 꼭 서버로 사용되어야 하는 것은 아님
  • Batch 작업이나
  • Schedule 작업에도 사용될 수 있음
 

Layered Architecture

  • 환경에 따라 격리하기가 좋음
  • 로컬/개발/QA/Real
 
 
 
설계를 어떻게 해야 좋을지 모를 때 → 프레임워크를 한 번 써보자 ( 기본적으로 설계를 강제하는 구조 )
 

 

Singleton Container를 직접 만들어보자

  • 실습

Decorator

  • https://ui.toast.com/weekly-pick/ko_20200102
 

요구사항

function Injectable(){} function Inject(){} function getInstance(){} @Injectable() class Foo { hello() { console.log('hello world') } } @Injectable() class Bar { constructor( @Inject(Foo) public foo: Foo ) {} } class Parent {} @Injectable(Parent) class Child extends Parent { constructor() {} } // Repository // Local에서는 메모리 DB를 쓰고 싶고 // Dev에서는 A라는 DB를 쓰고 싶고 // QA에서는 B라는 DB를 쓰고 싶고 getInstance(Foo) === getInstance(Foo); // true getInstance(Bar) === getInstance(Bar); // true Object.getPrototypeOf(getInstance(Parent).constructor) === Parent; // true