목록분류 전체보기 (283)
코딩일상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dsKRXv/btrSXpUoSCb/YKRzgz3Na58i3q8539bj2K/img.png)
어느덧 4번째 면접후기를 작성하게되었다. 흐음.. 3번째 면접후기를 생각해보면 작성을 안하였구나..같이 작성해 보겠다. 어 2번째 면접을 본 후 최종탈락 후 개인적으로 좌절감을 너무 많이 느꼈다. 끝없는 서류 탈락으로 어디서 무엇을 해야할지 감이 안잡히고 막막하기만 하였다. 앞으로 무엇을 해야할까? 라는 고민에만 사로잡힌 채 아무것도 할 수가 없었다. 그래도 다행히 시간이 조금 흘러 마음이 진정되었고 ,나 스스로를 좀더 객관적으로 보기로 하였다. 이제 갓 개발자로 제대로 준비를 시작한지 4개월차이며, 모자란것이 분명많고 채워나가야할게 더 많은사람인것을 현실적으로 바라보게되었다. 이렇게 객관적으로 나를 판단하고 부족한 점들에(스스로생각하기에)대해 적어나가보았다. 그렇게 적어나가보니 끝도없었다.. (ㅎㅎㅎㅎ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b9II8s/btrSUAn8QYZ/0ltrqzYR76JP5XFtgTOLcK/img.png)
자바스크립트의 특징 자바스크립트는 싱글 스레드 기반의 언어이며 1개의 콜 스택을 사용한다. 1개의 콜 스택을 사용하기 때문에 하나의 함수의 작업이 오래 걸리게 되면 그 이후에 실행될 다른 작업들은 실행이 되지 못하는 상황이 발생하게 된다. 이 문제를 해결하기 위하여 비동기 콜백 방식을 사용하고 있다. 이와 관련된 내용이 메시지 큐와 이벤트 루프다. 들어가기 앞서 자바스크립트는 콜스택과 메모리 힙이라는 메모리 구조를 통해 데이터 및 코드 실행을 관리한다. 1. 콜스택(Call Stack) 원시타입(숫자 등) 데이터가 저장된다. 실행컨텍스트(Execution Context)를 통해 변수 식별자(이름) 저장 스코프 체인 및 this 관리 코드 실행 순서 관리 등을 수행. 실행 콘텍스트(Execution Con..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qAPsS/btrSUGVMMPI/I8y8qZIiwIDvuSfgoVNfB1/img.png)
MonogoDB 연결하기 Nest는 MongoDB 데이터베이스와 통합하기 위한 두 가지 방법을 지원합니다. MongoDB용 커넥터가 있는 내장 TypeORM 모듈을 사용하거나 가장 널리 사용되는 MongoDB 객체 모델링 도구인 Mongoose 를 사용할 수 있습니다. 이번 포스팅에서는 Mongoose를 이용하여 진행 $ npm i @nestjs/mongoose mongoose Mongoose 공식문서 Mongoose v6.7.5: Schemas If you haven't yet done so, please take a minute to read the quickstart to get an idea of how Mongoose works. If you are migrating from 5.x to 6.x..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bg2S9F/btrSRQq3NlR/bIm2JzGoZJD3dyjecL96bk/img.png)
혹시 password가 기억이 안난다면 여기 참고 Database Accss 클릭 Edit에 들어가서 비밀번호를 변경하면 된다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EDN6f/btrSRQ5DWxz/VFOXkraI4G5eOEyrCZVoZ0/img.png)
interceptor란?? 인터셉터에는 AOP( Aspect Oriented Programming ) 기술 에서 영감을 받은 일련의 유용한 기능이 있습니다 . 그들은 다음을 가능하게 합니다 메서드 실행 전/후에 추가 로직 바인딩 함수에서 반환된 결과 변환 함수에서 발생한 예외 변환 기본 기능 동작 확장 특정 조건에 따라 함수를 완전히 재정의합니다(예: 캐싱 목적). 결과적으로 최종 경로 처리기 실행 전후 에 사용자 지정 논리를 구현할 수 있습니다 AOP란??(관점 지향 프로그래밍:Aspect Oriented Programming) 기능별로 class를 분리했음에도 불구하고 생기는 중복코드의 단점을 해결하고자 나온 방식, 공통기능과 핵심부분을 분리하여,필요할 때에만 공통기능을 핵심부위에 넣어주는 방식 in..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czl57u/btrSQUUhNZD/MZiN45VFnZzQgTuoUgCg00/img.png)
Pipes란?? 파이프는 클라이언트 요청에서 들어오는 데이터를 유효성 검사 및 변환을 수행하여 서버가 원하는 데이터를 얻을수 있도록 도와주는 클래스이다. 파이프는 단방향 통신을 위한 용도로 사용됩니다. 하나의 파이프는 이전 파이프에서 전달된 결과를 입력 값으로 받아 또 다른 결과 값을 내놓습니다. NestJS에서의 파이프는 클라이언트 요청에서 들어오는 데이터를 유효성 검사 및 변환을 수행하여 서버가 원하는 데이터를 얻을 수 있도록 도와주는 역할을 합니다 변환 : 입력 데이터를 원하는 형식으로 변환(예: 문자열에서 정수로) validation : 입력 데이터를 평가하고 유효한 경우 변경되지 않은 상태로 전달합니다. 그렇지 않으면 데이터가 올바르지 않을 때 예외를 throw합니다 왜 이름이 Pipes인가??..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bvqSnM/btrSSMVWHXc/tKh6zWl8F13KEyfPG0MklK/img.png)
Exception 적용전 기본 nest 자체 에러처리 값 HttpException을 적용한경우 HttpException('메세지', HTTPstatusCode)를 넣어서 사용을 할수가 있다. //cats.controller.ts @Controller('cats') export class CatsController { //dependency injection 의존성 주입 constructor(private readonly catsService: CatsService) {} // cats/ @Get() getAllcat() { throw new HttpException('message', 401); return 'get all cat api'; } HttpException을 커스터마이징 한경우 //cats...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/be7OGe/btrSPRv0Ad6/sKJlUx6EWjrlcHwahGh5n0/img.png)
미들웨어 미들웨어는 라우트 핸들러 보다 먼저 호출되는 함수입니다 . 미들웨어 기능은 애플리케이션의 요청-응답 주기에서 요청 및 응답 객체 와 미들웨어 기능에 액세스할 수 있습니다 . next()다음 미들웨어 기능은 일반적으로 라는 변수로 표시 됩니다next . Nest 미들웨어는 기본적으로 express 미들웨어와 동일합니다. 공식 익스프레스 문서의 다음 설명은 미들웨어의 기능을 설명합니다. 로깅파일만들기 CLI 명령어 이용 $ nest g middleware logger 1)Documentation그대로 logging을 할 경우 import { Injectable, NestMiddleware } from '@nestjs/common'; import { NextFunction, Request, Respo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxjSSw/btrSOyC8Va2/v8Ffw2CgIreeysJS26jTc0/img.png)
nest.js에서 모듈 파일을 생성하는 방법 CLI를 이용하여 손쉽고 안전하게 파일과 폴더를 만들어낼 수 있다. *아래 내용들은 nest.js document를 참고하여 작성하였습니다. 1. 모듈 파일 생성 방법 nest generate Generates and/or modifies files based on a schematic $ nest new [options] $ nest n [options] $ nest g mo cats 사용하는 이유 그냥 폴더를 만들어도 되지만 CLI명령어를 사용하면 app.module.ts에서 7번째 줄에 보면 module에 자동으로 들어가게 된다. 에러 방지를 하는데 기여할 수 있음 2. 컨트롤러 파일 생성 방법 $ nest g co cats 위 명령어를 사용하면 cats..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhMhxr/btrSMHsRHsg/i7NYDK9jkeXCyi3r1ZKosk/img.png)
ESlint 자바스크립트와 타입스크립트의 코드를 검사해준다. .eslintrc.js는 검사의 규칙을 적어둔것이다. vscode에서 사용하기위해서 는 아래 플러그인(ESlint)을 설치한다. Rules - ESLint - Pluggable JavaScript Linter A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease. eslint.org 규칙을 정하거나 내용들을 찾고싶다면 위 도큐먼트에 들어가서 확인을 해보면 좋다. .prettierrc Prettier 옵션 파일로써 코드컨벤션을 맞추기 위해 사용한다. [vscod..