스타트업 백엔드 개발 일지(3)

ever.d·2022년 1월 10일
0

job

목록 보기
1/3

1월 1~2주차 기록

nest js 와 type orm

  1. [Nestjs] database (maria db)와 연결
  2. [Nestjs] entity/module/controller/service/repository/dto
  3. [Nestjs] sign up / sign in (login)
  4. [Nestjs] typeorm CRUD (one to many, map)
  5. [Nestjs] left join and select (get)
  6. [Nestjs] error handling
  7. [Nestjs] Test Code (Jest)
  8. [Nestjs] AWS Deploy

NODE JS 기반의 Framework Nest js
비동기 실시간 처리가 가능함. single thread & event loof

🔎 구성

  • entity : 객체 (테이블) app module에서 synchronize : true 를 설정하면 해당 entity (table) 들을 reload한다. 만약 db value가 이미 존재하는 column이라면 데이터가 모두 삭제된다. 가끔 type orm join이 꼬인 경우 이 옵션을 사용해서 정리하고는 했다. 실 서버라면 정말 주의해야되는 옵션이기는 하다.

  • controller : 라우터 역할. service를 불러온다.

  • service : 실제 기능을 정의한다. create, find, get, delete, update 등

  • module : app module <= a, b, c module <= 각 module에 controller, service 가 존재한다. 중복 import를 하게 되면 error가 발생할 수 있기에 주의해야 한다.

  • guard : 권한 (주로 관리자/일반 회원 관리 시 사용된다.)

  • dto : 데이터 전송 객체 (테이블은 기본적으로 생성하되 가입 시에 필요한 정보가 return시에 필요한 정보가 다를 수 있다. 그럴 때 create-000-dto / response- 000-dto 이렇게 분리해서 parameter 와 return 값을 보다 효율적으로 관리할 수 있다.

  • promise<결과값 형태> : promise< User>라고 하면 회원 정보 값들을 결과 값으로 받기로 약속하는 것. promise< any>를 사용하면 모든 형태의 값들이 올 수 있는 것. 만약 delete처럼 return 값이 필요 없다면 promise< void>를 쓰면 된다.

  • async .. await : db 값들이 모두 transcation 되고 결과 값을 호출한다.

😃 최근 익히고 있는 것
공식 문서 는 정말 중요하다. 답이 보이지 않던 것도 공식 문서를 꼼꼼히 읽어보며 참조하니 도움이 되는 부분이 많았다.

Docker란?


개념 : application을 빠르게 build, test, deploy 할 수 있는 s/w 플랫폼
특성 : docker 는 컨테이너 기반 / img 를 repository에 저장 / 배포 시간의 절감

CI : Continuous Integration (지속적인 통합)
CD : Continuous Deployment (연속 배포)

🍉 mac 에서 개발자 도구 보는 법 : alt(option key) + command + i
웹 서버 상에서 error가 어떤 이유로 발생했는지 가장 쉽게 알 수 있다.

🍉 end point

API가 서버에서 resource에 접근 가능하도록 하는 URL

🍉 port forwarding
공유기에게 이정표를 달아주는 것
네트워크에서 패킷이 라우터나 방화벽 등을 통과하는 동안 네트워크 주소를 변환해주는 것. 그래서 외부에서 접속이 가능하도록 하는 것!

profile
developer / not moving for fortune, only aiming for clear sense of purpose. That's all.

0개의 댓글