분류 전체보기

·Database/MySQL
1.1 DBMS 개요 1.1.1 데이터베이스의 정의와 특징 데이터베이스란 구조화되고, 체계적인 데이터들의 모음으로 여러 명의 사용자나 응용프로그램이 공유하고 동시에 접근 가능하다. DBMS는 이 데이터베이스를 관리 운영하는 소프트웨어이다. 여러 명의 사용자나 응용 프로그램이 이 DBMS가 관리하는 데이터에 동시에 접속하고 데이터를 공유한다. 데이터 무결성 데이터베이스 안의 데이터는 오류가 있어서는 안된다. 무결성을 위해서 데이터베이스는 제약 조건을 가진다. 고유성 제약 조건, 외래 키 제약조건, 기본 값 제약 조건, NOT NULL 제약 조건등 해당 제약조건들을 이용하여 NULL이 될 수 없게 하거나 중복된 값을 방지을 하기 위해 사용한다. 데이터 독립성 데이터베이스의 크기를 변경하거나 데이터 파일의 저..
·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
3.7 이벤트 이해하기 스트림을 할 때 on('data', 콜백) 또는 on('end', 콜백)을 사용했다. 바로 data라는 이벤트와 end라는 이벤트가 발생할 때 콜백 함수를 호출하도록 이벤트를 등록한 것이다. createReadStream같은 경우 내부적으로 이벤트를 호출하지만 직접 이벤트를 만들 수도 있다. const EventEmitter = require('events'); const myEvent = new EventEmitter(); myEvent.addListener('event1', () => { console.log('이벤트 1'); }); myEvent.on('event2', () => { console.log('이벤트 2'); }); myEvent.on('event2', () =>..
최하호
'분류 전체보기' 카테고리의 글 목록 (11 Page)