본문 바로가기

전체 글49

데브캠프 4일차 스파르타 데브캠프를 통해 하루하루 공부한 내용을 정리합니다. NestJS 오늘은 docker 컨테이너로 서버와 데이터베이스를 실행하는것에 많이 애를 먹었다... 우선 docker의 장점들을 공부하고, 내 프로젝트와 데이터베이스를 docker 컨테이너로 실행했다. Docker을 사용하는 장점 환경 일관성을 보장한다: Docker 컨테이너는 어떤 환경에서도 동일하게 실행되기 때문에, "내 컴퓨터에서는 작동하는데"라는 문제를 방지한다. 개발, 테스트, 프로덕션 환경 간의 불일치로 인해 발생하는 문제들을 크게 줄일 수 있다. 빠른 배포 및 확장이 가능하다: Docker 컨테이너는 가볍고 빠르게 시작되기 때문에, 애플리케이션의 배포와 확장이 신속하게 이루어진다. 이는 특히 여러 컨테이너를 사용하는 마이크로서비스 .. 2024. 3. 8.
데브캠프 3일차 스파르타 데브캠프를 통해 하루하루 공부한 내용을 정리합니다. NestJS JWT(Json Web Token)는 웹 표준으로, 두 개체(클라이언트와 서버) 사이에서 JSON 객체를 사용하여 안전하게 정보를 전송하기 위한 컴팩트하고 자가 포함된 방식을 정의합니다. 이 방식은 정보를 안전하게 전송할 뿐만 아니라, 정보가 검증되었음을 보증합니다. JWT는 .header.payload.signature의 세 부분으로 구성되며, 각 부분은 Base64로 인코딩되어 URL 안전 문자열로 연결됩니다. Header는 토큰의 타입(JWT)과 사용된 서명 알고리즘(HS256, RS256 등)을 명시합니다. Payload는 클레임(claim)이라고 불리는 토큰에 담길 정보의 조각들을 포함합니다. 이 클레임들은 등록된 클레임,.. 2024. 3. 7.
데브캠프 2일차 스파르타 데브캠프를 통해 하루하루 공부한 내용을 정리합니다. NestJS Typescript의 extends 와 implements extends extends 키워드는 한 클래스가 다른 클래스를 상속받을 때 사용됩니다. 이를 통해 부모 클래스의 속성과 메소드를 자식 클래스가 상속받아 사용할 수 있게 됩니다. 또한, extends는 인터페이스가 다른 인터페이스를 확장할 때에도 사용될 수 있습니다. 예시코드 class Animal { move(distanceInMeters: number): void { console.log(`Animal moved ${distanceInMeters}m.`); } } class Dog extends Animal { bark(): void { console.log('Woof.. 2024. 3. 5.
데브캠프 1일차 스파르타 데브캠프를 통해 하루하루 공부한 내용을 정리합니다. NestJS 의존성 주입(Dependency Injection, DI) 의존성 주입(Dependency Injection, DI)은 객체 지향 프로그래밍에서 널리 사용되는 디자인 패턴 중 하나로, 객체가 직접 의존성(다른 객체)을 생성하지 않고, 외부(예: 프레임워크)에서 생성된 의존성을 주입받아 사용하는 방식입니다. NestJS는 이 패턴을 적극적으로 활용하여 모듈 간의 결합도를 낮추고, 유지보수성과 테스트 용이성을 향상시킵니다. 의존성 주입의 장점 낮은 결합도: 객체가 자신의 의존성을 생성하거나 관리하지 않기 때문에, 구성 요소 간의 결합도가 낮아집니다. 이는 코드의 재사용성과 유지보수성을 높여줍니다. 유연성 및 확장성 향상: 의존성을 외부.. 2024. 3. 4.