Programming/NodeJS

·Programming/NodeJS
NPMNPM이란 Node Package Manager의 약자로 node.js의 패키지를 개발하고 배포, 공유하기 위한 관리 툴 Difference between Package and ModuleModule: 작은 단위로 독립된 하나의 기능을 수행한다.Package: Module들이 조합되어 Module보다 복합적인 기능을 수행한다.     What is package.json?현재 프로젝트에 관한 정보와 npm을 통해 설치한 모듈의 의존성을 관리하는 파일.  Why use package.jsopn?프로젝트에서 사용하는 외부 모듈들이 많아지게 되면 관리하기가 어려움.새로운 프로젝트를 진행할 경우 필요한 모듈들이 많다면 매번 npm 명령으로 설치해야되는 효율적인 문제.=> package.json은 필요한 패..
·Programming/NodeJS
8.1 데이터베이스 및 컬렉션 생성하기 데이터베이스 생성 명령어 use [데이터베이스] 데이터베이스 목록 확인 명령어 show dbs 현재 사용 중인 데이터베이스 확인 명령어 db 컬렉션 생성 명령어 db.createCollection(' ') 컬렉션 생성 목록 확인 명령어 show collections 8.2 CRUD 작업하기 8.2.1 Create (생성) 컬렉션에 컬럼을 정의하지 않아도 되므로 컬렉션에는 아무 데이터나 넣을 수 있다. 이러한 자유로운 점이 몽고디비의 장점이다. 기본적으로 몽고디비는 자바스크립트 문법을 사용하므로 자바스크립트 자료형을 따르나 추가로 몇 가지 자료형이 더있다. Data나 정규 표현식 같은 자바스크립트 객체를 자료형으로 사용할 수 있고, Binary Data, Object..
·Programming/NodeJS
1.1 핵심 개념 [서버] - 서버란 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 프로그램을 말한다. - 클라이언트란 요청을 보내는 주체이다. 서버는 클라이언트 요청에 대해 응답을 한다. [자바스크립트 런타임] Node.js는 Chrome V8 Javascript 엔진으로 빌드된 자바스크립트 런타임이다. 따라서 노드는 자바스크립트 프로그램을 컴퓨터에 실행할 수 있다. 구글이 V8엔진을 사용해 크롬을 출시하자 속도문제가 해결되고 많이 사용되었다. [이벤트 기반] - 이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미한다. - 이벤트 루프란 이벤트 발생 시 호출할 콜백 함수들을 관리하고, 호출된 콜백 함수의 실행 순서를 결정하는 역할을 담당한다. [논블로킹 I/O]..
·Programming/NodeJS
8.1 NoSQL vs SQL [SQL] SQL는 관계형 데이터베이스로 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 관계형 데이터베이스에는 핵심적인 두 가지 특징이 있다. - 데이터는 정해진 데이터 스키마에 따라 저장된다. - 데이터는 관계를 통해 여러 테이블에 분산된다. 장점 명확하게 정의된 스키마, 데이터 무결성 보장 관계는 각 데이터를 중복없이 한번만 저장 단점 관계를 맺고 있어서 조인문이 복잡 덜 유연하여 데이터 스키마를 사전에 계획하고 알려줘야함 (수정하기 힘듬) [NoSQL] NoSQL은 비관계형 데이터베이스로 SQL을 사용하지 않는 데이터베이스를 NoSQL이라고 한다. 스키마도 없고 관계도 없다. 비관계형 데이터베이스의 특징 - 레코드를 문서라고 부른다. - 테이블을 컬렉..
·Programming/NodeJS
7.1 데이터베이스란? 데이터베이스는 관련성을 가지며 중복이 없는 데이터들의 집합이다. 이러한 데이터베이스를 관리하는 시스템을 DBMS(데이터베이스 관리 시스템)라고 한다. 보통 서버의 하드 디스크, SSD 등의 저장 매체에 데이터를 저장한다. 서버에 데이터베이스를 올리면 여러 사람이 동시에 사용할 수 있다. 데이터베이스를 관리하는 DBMS 중 RDBMS라고 부르는 관계형 DBMS가 많이 사용된다. 대표적인 RDBMS로 Oracle, MySQL, MSSQL 등이 있다. 이들은 SQL 이라는 언어를 사용해 데이터를 관리한다. 7.2 데이터베이스 및 테이블 생성하기 CREATE SCHEMA [데이터베이스명]이 데이터베이스를 생성하는 명령어이다. SCHEMA라고 되어 있는데 MySQL에서 데이터베이스와 스키마..
·Programming/NodeJS
6.1 익스프레스 프로젝트 시작하기 - package.json 생성 제일 먼저 package.json을 생성한다. npm init 명령어를 콘솔에서 호출해 단계적으로 내용물을 입력해도 되고, npm init -y를 입력해 파일을 만든 뒤 내용을 수정해도 된다. // package.json { "name": "learn-express", "version": "0.0.1", "description": "최하호의 익스프레스 성장기", "main": "app.js", "scripts": { "start": "nodemon app" }, "author": "haho", "license": "MIT", "dependencies": { "express": "^4.18.2" } } script 부분에 start 속성을..
·Programming/NodeJS
5.1 npm 알아보기 [ npm ] npm은 Node Package Manger의 약어로 이름 그대로 노드 패키지 매니저를 의미한다. 대부분의 자바스크립트 프로그램은 패키지라는 이름으로 npm에 등록되어 있으므로 특정 기능을 하는 패키지가 필요하다면 npm에서 찾아 설치하면 된다. npm에 업로드된 노드 모듈을 패키지라고 부른다. 패키지가 다른 패키지를 사용할 수 있는데 이런 관계를 의존 관계라고 한다. [ yarn, pnpm ] npm의 대체자로 yarn과 pnpm이 있다. yarn은 페이스북이 내놓은 패키지 매니저로 리액트나 리액트 네이티브 같은 페이스북 진영의 프레임워크를 사용할 때 종종 볼 수 있다. pnpm은 npm의 성능을 개선한 패키지 매니저이다. 5.2 package.json으로 패키지 ..
·Programming/NodeJS
4.1 요청과 응답 이해하기 클라이언트에서 서버로 요청을 보내고 서버는 요청의 내용을 읽고 처리한 뒤 클라이언트에 응답을 보낸다. 따라서 서버에는 요청을 받는 부분과 응답을 보내는 부분이 있어야 한다. const http = require('http'); http.createServer((req, res) => { // 여기에 어떻게 응답할지 적어줍니다 }); http 모듈을 사용하는 이유는 http 서버가 있어야 웹 브라우저 요청을 처리할 수 있기 때문이다. createServer메서드는 인수로 요청에 대한 콜백 함수를 넣을 수 있으며 요청이 들어올 때마다 매번 콜백 함수가 실행된다. req객체는 요청에 관한 정보를 res는 응답에 관한 정보를 담고 있다. const http = require('htt..
최하호
'Programming/NodeJS' 카테고리의 글 목록