전체 글

Daily & Study
이번 포스팅에서는 1. Windows에서 MongoDB 설치 및 실행, 2. MongoDB DB 생성 및 CRUD, 3. Mongoose 쿼리 수행 예(전체 코드 설명)에 대해 다루겠다. 책 Node.js 교과서(개정 2판) 책의 8장의 내용을 참고했다. +모든 코드는 github주소에 있다. MongoDB? MongoDB NoSQL(Not only SQL) - 관계형 데이터베이스가 아님 확장성과 가용성이 좋음 한 컬렉션에 다큐먼트로 다른 값의 데이터가 들어갈 수 있음 MySQL VS MongoDB 테이블(table) - 컬렉션(collection) 로우(row) - 다큐먼트(document) 컬럼(column) - 필드(field) 1. Windows에서 MongoDB 설치 및 실행 몽고디비 공식 다운..
이번 포스팅에서는 4. Sequelize로 CRUD 하기, 5. Sequelize 관계 쿼리, 6. 쿼리 수행 예(전체 코드 설명) 를 다루겠다. 앞선 포스팅과 이어지므로 보고오면 이해에 도움이 될 것이다. 책 Node.js 교과서(개정 2판) 책의 7장의 내용을 참고했다. +모든 코드는 github주소에 있다. -- 이전내용 정리 MySQL: 테이블 users, comments 생성 Sequelize: 모델 User, Comment 생성 테이블-모델 연결(User-users, Comment-comments) Sequelize에게 관계 알림 (users - comments) 4. Sequelize로 CRUD 하기 Sequelize로 CRUD 작업을 하려면 먼저 Sequelize 쿼리를 알아야 한다. 쿼리..
이번 포스팅에서는 1. MySQL, 2. Sequelize에 대해 다루겠다. MySQL은 간단히만 보고, Sequelize에 대해 자세히 다루겠다. 내 PC에 이미 있는 개발환경 MySQL WorkBench(워크벤치) 이미 내 PC에 설치되어 있으므로 이 포스팅에서는 위의 개발 환경 설치에 관한 내용은 생략함 책 Node.js 교과서(개정 2판) 책의 7장의 내용을 참고했다. +모든 코드는 github주소에 있다. 1. MySQL 1. Workbench에서 Connection 빨간 네모: localhost 작성 초록 네모(+빨간 네모): 클릭 후, Password에 MySQL설치 시 설정했던 password입력 2. 윈도에서 MySQL 실행 cmd를 열고, C:\Program Files\MySQL\MyS..
지금까지는 서버와 관련된 부분을 공부했다. 이번에는 프론트엔드에서 사용하는 템플릿 엔진에대해 알아보려한다. HTML은 정적인 언어이다. 사용자가 주어진 기능만 쓸 수 있고, 새로운 기능을 처리할 수 없으며 반복문도 불가능하다. 템플릿 엔진은 자바스크립트를 사용해서 HTML을 렌더링할 수 있게 한다. 이번 포스팅에서는 대표적인 템플릿 엔진인 1. 퍼그(Pug), 2. 넌적스(Nunjucks)를 다뤄보겠다. 이전에 포스팅한 express 웹 서버 만들기 -1, 2에서 사용한 코드에 추가할 것이므로, 보고 오면 좋다. 책 Node.js 교과서(개정 2판) 책의 6장의 내용을 참고했다. +모든 코드는 github주소에 있다. 주석 부분이 조금 다르니 블로그 글을 보면서 이해하는 것이 좋다. 1. 퍼그(Pug) ..
이번 포스팅에서는 1. multer, 2. 라우팅 분리(feat. Router 객체), 3. req, res 객체, +전체 코드를 다루겠다. express 웹 서버 만들기 -1에서 사용한 app.js 파일을 마저 사용하겠다. 책 Node.js 교과서(개정 2판) 책의 6장의 내용을 참고했다. +모든 코드는 github주소에 있다. 1. multer multer 이미지, 동영상 등을 비롯한 여러 가지 파일들을 멀티파트 형식으로 업로드할 때 사용 *멀티파트 형식: enctype이 multipart/form-data인 폼을 통해 업로드하는 데이터의 형식 미들웨어의 종류 설치 npm i multer multer의 동작은 아래에 [multer 전체 코드]의 주석으로 설명해두었다. +파일을 하나만 업로드하는 방법 ..
이번 포스팅에서는 1. express, 2. 미들웨어, 3. 자주쓰는 패키지를 다루겠다. 책 Node.js 교과서(개정 2판) 책의 6장의 내용을 참고했다. +모든 코드는 github주소에 있다. 1. express express 서버를 제작하는 과정에서의 불편함을 해소하고 편의 기능을 추가한 웹 서버 프레임워크 http 모듈의 요청과 응답 객체에 추가 기능을 부여 코드를 분리하기 쉽게 만들어 관리 용이 http 모듈을 내장하고 있음 express project EXAMPLE ) 1. ch6/express폴더 생성 2. npm init을 통해 express, nodemon을 설치 실행결과(생성된 파일 - node_modules, package-lock.json, package.json) +package...
프로그램을 만들 때, 모든 모듈을 직접 구현하는 것은 쉽지 않다. 다른 사람이 만들어둔 코드를 사용하는 방법을 소개하고자한다. 이번 포스팅에서는 1. npm 이란?, 2. npm 명령어, 3. npm 패키지 배포에 대해 다뤄보겠다. 책 Node.js 교과서(개정 2판) 책의 5장의 내용을 참고했다. +모든 코드는 github주소에 있다. 1. npm 이란? npm Node Package Manager의 약어 특정 기능을 하는 패키지를 사용할 수 있게 함 package.json을 만드는 명령어 제공 대부분 오픈소스지만 라이선스(license)별로 제한이 있으므로 설치 전 확인해야 함 패키지: npm에 업로드된 노드 모듈 (패키지는 고유한 '버전' 존재) package.json: 설치한 패키지..
본격적으로 서버를 통해 http에 띄워보자. 이번 포스팅에서는 1. 요청-응답, 2. REST-라우팅, 3. 쿠키-세션, 4. https-http2, 5. cluster를 다루겠다. 책 Node.js 교과서(개정 2판) 책의 4강의 내용을 참고했다. 내용이 너무 많아, 중요한 일부만 포스팅했다. +모든 코드는 github주소에 있다. 1. 요청-응답 요청 : 클라이언트 -> 서버 응답 : 서버 -> 클라이언트 기본적인 형식의 http 모듈 사용 서버 생성 EXAMPLE ) Git [CreateServer.js] // http 모듈 사용(http 서버가 있어야 웹 브라우저의 요청 처리 가능) const http = require('http'); // 서버 생성 http.createServer..
이번 포스팅에서는 1. Node 내장 모듈, 2. 파일 시스템, 3. 이벤트, 4. 예외 처리를 다루겠다. 책 Node.js 교과서(개정 2판) 책의 3강의 내용을 참고했다. 내용이 너무 많아, 중요한 일부만 포스팅했다. +모든 코드는 github주소에 있다. 1. Node 내장 모듈 1. path path 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈 윈도 : ''로 구분 POSIX : '/'로 구분 (유닉스 기반 - 맥, 리눅스) path.join(경로, ...): 여러 인수를 넣으면 하나의 경로로 합침. 상대 경로인 ..(부모 디렉터리)과 .(현 위치)도 알아서 처리 path.join EXAMPLE ) 현재 생성된 디렉토리는 아래와 같다. Git [4_nodeMod..
Node는 따로 설치하지 않아도 바로 사용 가능한 내장 객체와 내장 모듈을 제공한다. 이는 브라우저의 window객체와 비슷하다. 이번 포스팅에서는 Node 내장 객체1. global, 2. console, 3. 타이머, 4. __filename, __dirname, 5. exports, require, this, 6. process을 다루겠다. 책 Node.js 교과서(개정 2판) 책의 3강의 내용을 참고했다. +모든 코드는 github주소에 있다. Node 내장 객체 노드 프로그래밍 시 많이 쓰이는 내장 객체를 위주로 알아보겠다. 1. global global 객체 브라우저의 window와 같은 전역 객체 모든 파일에서 접근 가능(전역 객체라서) 사용 시, global을 생략 가능 파일 간에 간단한 ..
delay100
게시글이 지연되는 중입니다