🌿 Node 8

prisma migration

migration 마이그레이션은 손쉽게 애플리케이션의 데이터베이스를 수정하고 데이터베이스 스키마를 공유할 수 있도록 해주며 데이터베이스를 위한 버전 컨트롤과 같은 역할을 한다. 마이그레이션은 보통 라라벨의 스키마 빌더와 쌍을 이루어 애플리케이션의 데이터베이스 스키마를 손쉽게 만들 수 있다. 설명은 장황하지만 쉽게 생각하면 수동으로 테이블을 수정,삭제,생성 하는게 아니고 migration을 생성 후 적용 하면 손쉽게 데이터베이스를 수정 할 수 있다. migration 장점 DB 스키마를 쉽게 공유할 수 있다. migration 이력이 남아 버전 관리를 할 수 있다. prisma migrate Does not apply for MongoDB: Instead of migrate dev and related c..

🌿 Node 2022.05.14

commonJs 가 뭔데...

commonJs - 자바스크립트의 모듈화를 위한 프로젝트 중 하나 임 - 2009년 ServerJS의 이름으로 시작해 다시 CommonJS로 이름이 변경됨 - CommonJS를 구분하는 가장 쉬운 방법으로 require()와 module.exports를 사용하는 것으로 판단할 수 있음. (ECMA Script 모듈의 경우 import, export 사용) - Class, Singleton 등을 사용할 수 있음 - Node의 경우 CommonJS를 기본으로 사용함 - Webpack 역시 CommonJS를 기본으로 사용함 그럼 commonJs 와 es6 를 비교해보자!! 먼저 자바스크립트의 모듈시스템에 대해 설명하자면 기존에는 html 파일에서 태그를 이용하여 필요한 자바스크립트 파일들을 불러왔다. 이러한 ..

🌿 Node 2022.02.21

express 공부

app.get('/welcome', (req: Request, res: Response, next: NextFunction)=>{ res.writeHead(200, {'Content-Type': 'text/plain'}) res.end(JSON.stringify({hello: 'zerocho'})); }); 노드에서 json 으로 보낼 때는 다음과 같았다. 하지만 express 에서는 app.get('/welcome', (req: Request, res: Response, next: NextFunction)=>{ res.json({hello: 'zerocho'}); }); 이렇게 줄여준다. express 의 방식으로 실행 결과, 네트워크 탭을 보자. app.use((req:Request, res:Resp..

🌿 Node 2022.02.20

espress 기초 다지기 - 미들웨어편

import express, { Request, Response, NextFunction } from "express"; const app = express(); app.set('port', process.env.PORT || 3000) app.get('/welcome', (req: Request, res: Response, next: NextFunction)=>{ res.send('welcome!'); }); app.listen(app.get('port'), () => { console.log(`server listening on port : `); }) [ 코드 설명 ] app.set 으로 port 라는 변수에 심는 역할을 한다. 지금은 process.env 에 설정해둔 PORT 가 없으므로 3000..

🌿 Node 2022.02.20

express 파일 구조와 몽고 디비

routes: 라우팅 정보를 가집니다. controller: 라우팅 정보에 의해 전달된 처리를 하는 로직입니다. 여기서 다시 signUpService 호출 ↓ services : controller 에서 전달된 정보에 의해서 DB 처리 등을 담당합니다. db.findOne , db.save() 등의 메서드를 이용합니다. Users.findOne({ name: 'zerocho' }, (err, result) => { if (err) { throw err; } Users.update({ name: result.name }, { updated: true, }, (err, updateResult) => { if (err) { throw err; } con..

🌿 Node 2022.02.16

노드 이해하기2

REST API (Representational State Transfer) 서버의 자원을 정의하고 자원에 대한 주소를 지정하는 방법 /user 이면 사용자 정보에 관한 정보를 요청하는 것 /post 면 게시글에 관련된 자원을 요청하는 것 HTTP 요청 메서드 : GET, POST, PUT, PATCH, DELETE HTTP 프로토콜 클라이언트가 누구든 서버와 HTTP 프로토콜로 소통 가능 iOS, 안드로이트, 웹이 모두 같은 주소로 요청을 보낼 수 있음 서버와 클라이언트 분리 RESTful REST API 를 사용한 주소 체계를 이용하는 서버 GET /user 는 사용자를 조회하는 요청, POST /user 는 사용자를 등록하는 요청 래스트풀하다~~~~ 다음과 같이 작성해보자. 네트워크탭 -> Head..

🌿 Node 2022.02.13

노드 이해하기

node.js 코딩 패턴 Routes - Controllers - Services node.js 는 코드의 특성별로 소스 파일을 나눈다고 한다. 처음에 잘 구조를 잡아두어야 유지보수할 때 큰 이득을 볼 수 있다....! 먼저 개념 정리... 모듈 모듈이란 관련된 코드들을 하나의 코드 단위로 캡슐화하는 것을 말한다. 다음과 같은 greeting.js 라는 파일이 있다고 하자. 이 파일은 두개의 함수를 포함하고 있다. 모듈 추출하기(exporting) greeting.js 의 코드가 다른 파일에서 사용될 때 그 효용성이 증가할 것이다. 이러한 일을 하기 위해서는 다음과 같은 3가지의 단계를 거쳐야 한다. 1. greeting.js 파일의 코드 첫 부분에 다음과 같은 코드가 존재해야 한다. // greetin..

🌿 Node 2022.02.13