공부 정리/node(10)
-
node.js 교과서 정리 - mongoDB
1. NoSQL 몽고디비는 RDBMS가 아니라 NoSQL이다. 1) 자유로운 데이터 입력 고정된 테이블이 없다. 테이블에 상응하는 컬렉션이라는 개념이 있긴 하지만, 칼럼을 따로 정의하지는 않는다. 2) 컬렉션 간 JOIN 미지원 JOIN기능을 흉내 낼 수는 있지만, 하나의 쿼리로 여러 테이블을 합치는 작업이 항상 가능하지는 않다. 3) 확장성, 가용성 일반적인 확장성 더보기 처리할 작업량이 늘어날 때마다 요구에 맞춰 크기를 키우거나 기능을 확장시킬 수 있다. 수직적 확장(Vertical Scalability) CPU나 RAM 같은 하드웨어를 추가해 주거나 교체하여 성능을 향상하는 것을 말한다. 수평적 확장(Horizontal Scalability) 더 많은 서버를 추가해서 데이터베이스를 전체적으로 분산시..
2020.08.21 -
node.js 교과서 정리 - sequelize
1. sequelize ORM(object-relation Mapping)으로 분류되는데 객체와 데이터베이스의 릴레이션을 매핑해주는 도구 자바스크립트 구문을 알아서 SQL로 바꿔준다 시퀄라이즈의 모델은 MYSQL의 테이블과 대응된다. 시퀄라이즈는 기본적으로 모델 이름은 단수형, 테이블 이름은 복수형으로 사용 시퀄라이즈는 알아서 id를 기본 키로 연결한다. sequelize.define('modelName', { columnA: { type: Sequelize.BOOLEAN, validate: { is: ["[a-z]", 'i'], // will only allow letters max: 23, // only allow values 로우가 생서될 때와 수정될 때의 시간이 자동으로 입력된다. paranoid..
2020.08.18 -
node.js교과서 정리 - express
1. express 서버 제작 시 불편함을 해소하고, 편의 기능을 추가한 웹 서버 프레임워크 1) Express-generator 프레임워크에 필요한 package.json을 만들어주고 기본 폴더 구조까지 잡아주는 패키지 $npm i -g express-generator $express exnode --view=ejs $cd exnode && npm i app.js가 핵심적인 서버 역할 www파일은 서버를 실행하는 스크립트 public폴더는 외부에서 접근 가능한 파일들을 모아둔 곳(이미지, 자바스크립트, css) routes폴더는 주소별 라우터들을 모아둔 곳(서버의 로직은 모두 여기서) views폴더는 템플릿 파일을 모아둔 곳(화면의 대부분) public폴더에서 이미지, 자바스크립트, css가 저장된다...
2020.08.14 -
node.js교과서 정리 - npm
1. npm(Node Package Manager) 노드 패키지 매니저 60만 개(2018년 기준)에 달하는 패키지가 등록 npm에 업로드된 노드 모듈을 패키지라 한다. 1) package.json 사용할 패키지는 저마다 고유한 버전이 있으므로 어딘가에 기록이 필요한데 이때 설치한 패키지의 버전을 관리하는 파일 설치한 패키지 내역이 들어 있으므로 npm install만 하면 다시 알아서 설치된다. Git 같은 버전 관리 프로그램에서도 node_modules는 커밋하지 않는다. 2) $ npm init package.json이 생성되게 해주는 명령어 { "name": "npmtest",//프로젝트 이름 입력 "version": "0.0.1",//프로젝트 버전 입력 "description": "hello p..
2020.08.14