목록전체 글 (283)
코딩일상
어느덧 4번째 면접후기를 작성하게되었다. 흐음.. 3번째 면접후기를 생각해보면 작성을 안하였구나..같이 작성해 보겠다. 어 2번째 면접을 본 후 최종탈락 후 개인적으로 좌절감을 너무 많이 느꼈다. 끝없는 서류 탈락으로 어디서 무엇을 해야할지 감이 안잡히고 막막하기만 하였다. 앞으로 무엇을 해야할까? 라는 고민에만 사로잡힌 채 아무것도 할 수가 없었다. 그래도 다행히 시간이 조금 흘러 마음이 진정되었고 ,나 스스로를 좀더 객관적으로 보기로 하였다. 이제 갓 개발자로 제대로 준비를 시작한지 4개월차이며, 모자란것이 분명많고 채워나가야할게 더 많은사람인것을 현실적으로 바라보게되었다. 이렇게 객관적으로 나를 판단하고 부족한 점들에(스스로생각하기에)대해 적어나가보았다. 그렇게 적어나가보니 끝도없었다.. (ㅎㅎㅎㅎ..
자바스크립트의 특징 자바스크립트는 싱글 스레드 기반의 언어이며 1개의 콜 스택을 사용한다. 1개의 콜 스택을 사용하기 때문에 하나의 함수의 작업이 오래 걸리게 되면 그 이후에 실행될 다른 작업들은 실행이 되지 못하는 상황이 발생하게 된다. 이 문제를 해결하기 위하여 비동기 콜백 방식을 사용하고 있다. 이와 관련된 내용이 메시지 큐와 이벤트 루프다. 들어가기 앞서 자바스크립트는 콜스택과 메모리 힙이라는 메모리 구조를 통해 데이터 및 코드 실행을 관리한다. 1. 콜스택(Call Stack) 원시타입(숫자 등) 데이터가 저장된다. 실행컨텍스트(Execution Context)를 통해 변수 식별자(이름) 저장 스코프 체인 및 this 관리 코드 실행 순서 관리 등을 수행. 실행 콘텍스트(Execution Con..
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..
혹시 password가 기억이 안난다면 여기 참고 Database Accss 클릭 Edit에 들어가서 비밀번호를 변경하면 된다.
interceptor란?? 인터셉터에는 AOP( Aspect Oriented Programming ) 기술 에서 영감을 받은 일련의 유용한 기능이 있습니다 . 그들은 다음을 가능하게 합니다 메서드 실행 전/후에 추가 로직 바인딩 함수에서 반환된 결과 변환 함수에서 발생한 예외 변환 기본 기능 동작 확장 특정 조건에 따라 함수를 완전히 재정의합니다(예: 캐싱 목적). 결과적으로 최종 경로 처리기 실행 전후 에 사용자 지정 논리를 구현할 수 있습니다 AOP란??(관점 지향 프로그래밍:Aspect Oriented Programming) 기능별로 class를 분리했음에도 불구하고 생기는 중복코드의 단점을 해결하고자 나온 방식, 공통기능과 핵심부분을 분리하여,필요할 때에만 공통기능을 핵심부위에 넣어주는 방식 in..
Pipes란?? 파이프는 클라이언트 요청에서 들어오는 데이터를 유효성 검사 및 변환을 수행하여 서버가 원하는 데이터를 얻을수 있도록 도와주는 클래스이다. 파이프는 단방향 통신을 위한 용도로 사용됩니다. 하나의 파이프는 이전 파이프에서 전달된 결과를 입력 값으로 받아 또 다른 결과 값을 내놓습니다. NestJS에서의 파이프는 클라이언트 요청에서 들어오는 데이터를 유효성 검사 및 변환을 수행하여 서버가 원하는 데이터를 얻을 수 있도록 도와주는 역할을 합니다 변환 : 입력 데이터를 원하는 형식으로 변환(예: 문자열에서 정수로) validation : 입력 데이터를 평가하고 유효한 경우 변경되지 않은 상태로 전달합니다. 그렇지 않으면 데이터가 올바르지 않을 때 예외를 throw합니다 왜 이름이 Pipes인가??..
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...
미들웨어 미들웨어는 라우트 핸들러 보다 먼저 호출되는 함수입니다 . 미들웨어 기능은 애플리케이션의 요청-응답 주기에서 요청 및 응답 객체 와 미들웨어 기능에 액세스할 수 있습니다 . next()다음 미들웨어 기능은 일반적으로 라는 변수로 표시 됩니다next . Nest 미들웨어는 기본적으로 express 미들웨어와 동일합니다. 공식 익스프레스 문서의 다음 설명은 미들웨어의 기능을 설명합니다. 로깅파일만들기 CLI 명령어 이용 $ nest g middleware logger 1)Documentation그대로 logging을 할 경우 import { Injectable, NestMiddleware } from '@nestjs/common'; import { NextFunction, Request, Respo..
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..
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..