backend 8

Node.js 몽고디비 알아보기

Node.js 몽고디비 알아보기 이 장에서는 몽고디비를 알아둔다면 더욱 더 다양한 프로그램을 만들 수 있다. 몽고디비의 특징 중 하나는 자스 문법을 사용한다. 따라서 몽고디비 사용하면 자스만으로 웹 애플리케이션 만들 수 있음. # NoSQL vs SQLMySQL은 SQL을 사용하는 대표적인 데이터베이스다. 반면에 SQL 사용하지 않는 NoSQL(Not Only SQL)이라고 부르는 데베도 있다. 여러 측면에서 다르지만 몇가지만 알아보자. NoSQL에는 고정된 테이블 없음. 테이블에 사응하는 컬렉션이란 개념은 있으나 칼럼을 따로 정의하지 ㅇ낳음 MySQL은 users 테이블을 만들 때 name, age, married 등의 칼럼과 자료형 옵션등을 정의하지만 몽고디비는 그냥 users 컬렉션을 만들고 끝...

backend/Node.js 2023.08.10

Node.js MySQL 다뤄보기

Node.js MySQL 다뤄보기 모든 데이터를 변수에 저장했다는 것은 메모리에 저장한다는 것.메모리는 휘발성이라 종료하면 사라짐.영구저장을 위해서는 데베를 사용해야 한다.다양한 DB가 있지만 MySQL과 몽고디비 두가지를 이용할 예정. mysql 설치brew install mysqlbrew services start mysqlmysql_secure_installation 워크벤치 설치콘솔로는 데이터를 한눈에 보기에 무리가 있으므로 워크벤치라는 프로그램을 사용하면 데베 내부에 저장된 데이터를 시각적으로 확인할 수 있어서 편리함. 테이블 생성하기대부분 아는거라 대충 나만 알아보도록 정리 VARCHAR(자릿수): 가변길이 CHAR(자릿수): 고정길이 - 둘다 자릿수가 10이라고 하면, VARCHAR는 0~..

backend/Node.js 2023.07.23

Node.js 익스프레스 웹 서버 만들기

Node.js 익스프레스 웹 서버 만들기 서버 맨 아래부터 만들려면 불편했음.이제부터는 좀 더 쉽게 구축할 수 있음 익스프레스 프로젝트 시작하기우선 learn-express를 만들어보자.npm init -y 아래처럼 수정하자.{ "name": "learn-express", "version": "0.0.1", "description": "익스프레스를 배워보자", "main": "app.js", "scripts": { "start": "nodemon app" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.18.2" }, "devDependencies": { "nod..

backend/Node.js 2023.07.23

Node.js 패키지 매니저

Node.js 패키지 매니저 모든기능 다 구현하는거 너무나도 벅참.그래서 많은 부분을 미리 만들어둠. 그런 것들이 공개되어 있는 서버인 npm이라는 패키지 알아볼 예정. npm 알아보기 Node Package Manager의 약자임.대부분의 자바스크립트 패키지는 여기 있음. 대부분 오픈 소스여서 노드 사용해서 웹 개발에 많으 도움이 된다. Package.json으로 패키지 관리하기. 패키지 하나씩 추가 하다보면 어느순간 100개가 넘음.패키지마다 고유 버전 있어서 어딘가에 기록해야 한다.따라서 노드 프로젝트 시작 전에 폴더 내부에 무조건 package.json을 만들고 시작해야 한다. npm init 위에 입력해서 세팅가능프로젝트 이름, 버전, 설명은 package.json, author를 입력해서 만든..

backend/Node.js 2023.07.23

Node.js http 모듈로 서버 만들기

http 모듈로 서버 만들기 이제부터는 서버를 만들어 볼 예정.서버에서는 요청의 내용을 읽고 처리한 뒤 클라이언트에 응답을 보냄 요청과 응답 이해하기 그러니까 일단 요청을 받는 부분과 응답을 보내는 부분이 존재해야 함. const http = require('http');http.createServer((req, res) => { // 여기에 어떻게 응답할 지 적어줍니다.}); http 서버가 있어야 웹 브라우저의 요청을 처리할 수 있으므로 http 모듈을 사용했다.http모듈에는 createServer 메서드가 있다. 요청이 들어올 때마다 콜백 함수가 실행된다. const http = require('http');http.createServer((req, res) => { res.writeHead..

backend/Node.js 2023.07.22

Node.js 노드 기능 학습 정리

Node.js 노드 기능 학습 정리 REPL 사용하기 Read 읽고, Eval 평가하고, Print 출력하고, Loop 종료할 때까지 반복에서 앞글자만 따서 이야기 함.콘솔에 node라고 입력하면 된다. 종료하는 방법으로는 컨트롤 + C 두번 혹은, .exit을 입력하여 종료. JS 파일 실행해당 파일 생성후 콘솔에 node {해당파일} 입력하기 확장자는 생략. 모듈로 만들기노드는 두가지 모듈 사용 CommonJS와 ECMAScript.- CommonJS: 이건 표준 자바스크립트 모듈은 아니지만 표준 나오기 이전부터 쓰여서 널리 쓰임.- ECMAScript(ES 모듈): 공식적인 자바스크립트의 모듈. ES 모듈이 표준으로 정해지면서, 브라우저와 노드 모두에서 같은 모듈 형식을 사용할 수 있다는 장점...

backend/Node.js 2023.07.22

Node.js 자바스크립트 알아둬야 할 부분 정리

Node.js 자바스크립트 알아둬야 할 부분 정리 ES2015(ES6) 이후를 기준으로 함. 변수를 선언하는 방법var는 함수 스코프를 가져서 if문의 블록과 관계없이 접근 가능.const와 let은 블록 스코프를 가져서 블록 밖에서는 변수에 접근 불가.if (true) { var x = 3;}console.log(x); // 3if (true) { const y = 3;}console.log(y); // Uncaught ReferenceError: y is not defined const는 초기값 주어야하며 값 변경 불가.let은 값 변경 가능const a = 0;a = 1; // Uncaught TypeError: Assignment to constant variable.let b = 0;b..

backend/Node.js 2023.07.17

Node.js 기본 개념 정리

Node.js 기본 개념 정리 Node.js를 공부하면서 필요한 핵심 개념을 정리 (공식문서 링크)https://nodejs.org/ko Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org Node.js란?Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.(Chrome's V8 JavaScript 엔진 위에서 동작하는 JavaScript 런타임 환경) 즉, 브라우저 밖에서도 자바스크립트를 실행할 수 있게 해주는 플랫폼 Node는 내부적으로 V8과 libuv를 함께 사용V8: 오픈소스 자바스크립트 엔진libuv: 비동기..

backend/Node.js 2023.07.16