본문 바로가기

Back-End

(116)
JavaScript / Node.js / Express.js 참고 자료 [Express] JavaScript, Node.js, Express 헷갈리는 개념들 정리 JavaScript는 뭐고 Node.js는 뭐고 Express는 무엇일까? 간단히 말해서 JavaScript(이하 자스)는 언어이다. 컴퓨터와 대화하기 위해서 사람이 기본적으로 알아야 하는 소통하기 위한 언어. 자바스크립트는 dunkey2615.tistory.com [Node.js] 왜 Node.js인가? Node.js는 서버사이드 자바스크립트이다. 구글의 바사크립트 엔진 V8을 기반으로 구성된 일종의 소프트웨어 시스템이다. 이벤트 기반으로 개발이 가능하며 Non-Blocking I/O를 지원하기 때문에 비동기 dunkey2615.tistory.com
모듈/패키지/라이브러리/프레임워크/플랫폼/API 용어의 의해 모듈/패키지/라이브러리 프레임워크 플랫폼 API jQuery Socket.io Express.js (Node.js 프레임워크) Node.js (서버사이드 자바스크립트 플랫폼) 구글 지도 API 페이스북 API 하나씩 차례대로 살펴보자. 모듈 모듈화란 수 많은 로직을 재사용할 수 있는 단위로 나누어 별도의 모듈이라는 형태로 떼어나 다른 프로그램에 부품으로 사용하는 기법이다. 그리고 그 결과물을 모듈이라 한다. 모듈은 데이터, 함수, 클래스 등이 담겨져 있는 파일이다. 내장 함수가 아닌 외장 함수의 경우 외부의 라이브러리(모듈)을 사용하기 위해서 따로 import하는 작업이 필요하다. 모든 Node.js 모듈은 package.json에 패키지가 등록이 된다. npm install [라이브러리명] 을 입력하면..
시퀄라이즈(Sequelize) 1. MySQL 1.1 DBMS 데이터베이스란 관련성을 가지며 중복이 없는 데이터들의 집합을 말한다. 이러한 데이터베이스를 관리하는 시스템을 DBMS(DataBase Management System)이라고 한다. 1.2 RDBMS 데이터베이스를 관리하는 DBMS 중에서 RDBMS(Relational DBMS)라고 부르는 관계형 DBMS가 많이 사용된다. Oracle, MySQL, MSSQL, ... SQL 언어를 사용하여 데이터를 관리한다. RDBMS별로 SQL문이 조금씩 다르다. 2. 시퀄라이즈 노드에서 MySQL 데이터베이스에 접속할 때, MySQL 작업을 쉽게 할 수 있도록 도와주는 라이브러리가 바로 시퀄라이즈(Sequelize)이다. 2.1 시퀄라이즈 시퀄라이즈는 *ORM(Object-relati..
[Node.js 교과서] 6. 익스프레스 웹 서버 만들기 노드로만 웹 서버를 만들 때 코드가 보기 좋지 않고 확장성도 떨어진다. npm에서는 서버를 제작하는 과정에서의 불편함을 해소하고 편의 기능을 추가한 웹 서버 프레임워크가 있는데, 이 중에서 가장 대표적인 것이 익스프레스(Express)이다. 익스프레스는 http 모듈의 요청(req), 응답(res) 객체에 추가 기능들을 부여했다. 기존 메소드들에 편리한 메소드들을 추가하여 기능을 보완하였고, 코드를 분리하기 쉽게 만들었기 때문에 관리하기에도 용이하다. 그리고 if문으로 요청 메소드와 주소를 구별하지 않아도 된다. 1. 익스프레스 프로젝트 시작하기 learn-express 폴더를 생성하자. 1.1 package.json 생성하기 항상 package.json을 가장 먼저 생성해야 한다. package.jso..
[Node.js 교과서] 4. http 모듈로 서버 만들기 목표 http 모듈로 서버를 직접 만들어 보면서 실제 서버 동작에 필요한 쿠키, 세션처리, 요청 주소별 라우팅 방법에 대해 알아본다. 1. 요청과 응답 이해하기 1.1 클라이언트와 서버의 관계 서버는 클라이언트가 있기에 동작한다. request (client->server) ➡ response (server->client) (1) 클라이언트에서 서버로 요청(request)을 보내고, (2) 서버에서는 클라이언트의 요청 내용을 읽고 처리한 후 클라이언트에 응답(response)을 보낸다. 1.2 이벤트 리스너를 가진 노드 서버 만들기 서버에는 요청을 받는 부분과 응답을 보내는 부분이 있어야 한다. 요청과 응답은 이벤트 방식이라고 생각하면 된다. 클라이언트로부터 요청이 오면 어떤 작업을 수행할지 이벤트 리스..
[Node.js 교과서] 3. 노드 기능 알아보기 1. REPL 사용하기 자바스크립트는 스크립트 언어이므로 미리 컴파일을 하지 않아도 즉석에서 코드를 실행할 수 있다. 아마 여러분도 이것을 브라우저 콘솔 탭에서 경험해봤을 것이다. 이것을 REPL이라고 한다. 입력한 코드를 읽고(Read), 해석하고(Eval), 결과물을 반환하고(Print), 종료할 때까지 이 과정을 반복한다(Loop)라는 의미이다. 노드도 이와 비슷한 콘솔을 제공한다. $ node > 콘솔창에 node를 입력하면 프롬프트가 > 모양으로 바뀌어 자바스크립트 코드를 입력할 수 있게 된다. 간단한 문자열을 입력해보자. REPL을 종료하려면 ctrl+c 를 두 번 누르거나, 혹은 REPL창에 .exit을 입력하면 된다. REPL은 한두 줄짜리 코드를 테스트해보는 용도로는 좋지만 긴 코드를 실..
AJAX Javascript에서 비동기 통신하는 방법 Javascript에서 비동기 http 통신을 하는 방법은 대표적으로 세 가지가 있다. AJAX Javascript의 AJAX jQuery의 AJAX axios fetch 이 중에서 많이 사용되는 AJAX와 axios에 대해알아보자. 1. AJAX 1.1 AJAX란? AJAX = Asynchronous Javascript And XML 비동기 자바스크립트와 XML란 의미로, 데이터를 이동하고 화면을 구성하는데 있어 갱신 없이 필요한 데이터를 서버로 보내고 응답을 가져오는 방법이다. AJAX 자체는 특정 기술을 말하는 게 아니다. 2005년 Jesse James Garrett이 처음 만들어낸 말로, HTML 혹은 XHTML, CSS, JavaScript, DOM..
[Node.js 교과서] 2. 알아두어야 할 자바스크립트 1. ➡ 새로운 문법들 2. ➡ 서버와 통신하기 위해 프론트엔드에서 사용하는 자바스크립트 코드들 1. ES2015+ ES2015(=ES6) 이상의 자바스크립트 문법을 알아야 한다. 노드 6버전부터 ES2015 문법을 사용할 수 있다. 1.1 const, let 보통 var로 변수를 선언하지만, 이제는 const와 let으로 대체한다. const: =상수. 한 번 값을 할당하면 다른 값으로 할당할 수 없다. (할당하려 하면 에러 발생함) let: =변수. 이들의 공통적인 특징인 블록 스코프(범위)를 알아보자. 블록 스코프 블록 스코프: if, while, for, function 등에서 볼 수 있는 중괄호({와 }사이) if (true) { var x = 3; } console.log(x);// 3 if ..

반응형