pre) 레포지토리 생성
git파일 생성 및 gitignore 설정
npm init -y //-y붙이면 기본값으로 모든질문에 자동으로 답함.
npm i -D typescript @types/node
-D 키워드는 --save-dev와 같은 의미로, 개발과정에서만 필요하고 프로덕션 환경에서는 불필요한 것을 설치할때 쓴다.!
npx tsc --init
교육과정내에서는 dist로 했음
=> 보통 src에 main.ts 만들어서 테스트했음.
=> 설치했던 typescript 컴파일러를 사용하는 방법은,
=> tsc 명령어를 사용하면된다! tsc app.ts 명령어는 app.ts파일을 js파일로 컴파일 하게 되는데,
먼저 concurrently 설치
npm i -D concurrently
"dev": "concurrently \"tsc --watch --project ./tsconfig.json\" \"node --watch ./dist/main.js\"",
윈도우는 생각보다 까다로운것같다.
typescript를 javascript로 변환해주는 것은? => typescript 트랜스파일러
typescript는 언어이기도 하고 트랜스파일러 이기도 함.
명령어들의 뜻을 파악하려고 노력하자
tsc 명령어 -> typescript 컴파일러를 사용하기위함
node 명령어 -> node가 뭔가 ⇒ 자바스크립트 런타임 ⇒ js파일을 실행하는 명령어인것이다.
먼저, 서버란 무엇인가?
쉽게 말해서 요청에 응답하는게 서버다.
즉, 개발서버실행은 다른말로 요청에 응답하는 파일을 개발환경에 적합한 방식으로 실행시키는 것이다.
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications
⇒ 미니 app이라 생각하자
⇒ json 여러개를 쓸수있게해주는 문법이다.
send()는 웬만하면 쓰지말고 json()쓰자.
https://expressjs.com/en/4x/api.html#res.json | Send a JSON response. |
---|---|
https://expressjs.com/en/4x/api.html#res.jsonp | Send a JSON response with JSONP support. |
https://expressjs.com/en/4x/api.html#res.redirect | Redirect a request. |
https://expressjs.com/en/4x/api.html#res.render | Render a view template. |
https://expressjs.com/en/4x/api.html#res.send | Send a response of various types. |
https://expressjs.com/en/4x/api.html#res.sendFile | Send a file as an octet stream. |
API 테스트 및 문서화 용도
객체지향 프로그래밍 언어를 사용해서 호환되지 않는 유형의 시스템 간 데이터를 변환하는 기법이다.
=> 즉, ORM을 사용하면, 객체 지향 언어로 작성된 코드를 통해 관계형 데이터베이스의 데이터를 관리할 수 있다.
=> 데이터 베이스의 테이블과 관계를 "객체"로 매핑
DB ===========⇒ ORM <============JS객체
Node.js와 Typescript 애플리케이션을 위한 오픈소스 ORM이다.
Prisma Documentation | ORM, Accelerate, Pulse & More
세 부분으로 나뉜다.
자동으로 생성되는 타입 안전한 SQL 쿼리 작성없이 데이터베이스와 상호작용이 가능할 수 있게 해준다.
순서가
1. Prisma 스키마을 정의하고
2. 데이터베이스 스키마 마이그레이션 (모델 변경사항이 있고 업데이트해야하는 경우)
=> 최신상태로 유지하기 위해 진행한다고 한다.
3. npx prisma generate
하면 Prisma Client를 생성한다.
4. 생성된 prisma client를 가지고 이제 신나게 데이터베이스 작업을 수행하면 된다.
장점
=> 마이그레이션 도구.
git 처럼 Prisma 스키마 파일 변경사항을 기반으로 버전관리를 진행한다.
=> GUI 도구.
데이터를 직접 조회 및 수정이 가능하다.
=> 강사님이 활용하는거 보니까 개발 중에 즉시, 데이터베이스 변경사항을 확인하거나 테스트 하는 용도로 활용을 하는 것이 장점이다.
당신은 개발 커뮤니티를 만드는 회사에의 취업에 성공하였습니다.
그러나 회사는 프론트엔드만 개발해 둔 상황이라 이제부터 새롭게 API 서버를 만들기 시작해야 합니다.
요구사항
1.기술스택