본문 바로가기

Language/Javascript9

[Node.js-Tutorial] 8. Cookies and Session 본 포스팅의 소스코드는 GitHub에서 확인할 수 있습니다. 8. Cookies & Session 이번 강의는 쿠키와 세션에 대해 다뤄보도록 하겠습니다. 쿠키와 세션이 무엇인지 알아보기 전에 쿠키와 세션이 필요하게 된 배경에 대해서 알아보도록하겠습니다. HTTP 통신은 두가지의 특성을 지닙니다. 비연결 (Connectionless) 무상태 (Stateless) Connectionless는 클라이언트(=브라우저)가 서버에게 request를 보내고, 서버는 클라이언트에게 response를 보내면 더 이상의 연결을 하지 않는다는 뜻입니다. 이를 확인할 수 있는 부분은, 우리가 한 사이트에 접속하여 완전한 페이지를 받았으면 다른 사이트로 이동하지 않는 이상 인터넷과 연결을 해제해도 사이트 화면이 그대로 유지됩니.. 2021. 7. 1.
[Node.js-Tutorial] 7. Middlewares 본 포스팅의 소스코드는 GitHub에서 확인할 수 있습니다. 7. Middlewares 이번 강의에서는 미들웨어에 대해 알아보도록 하겠습니다. 본격적으로 시작하기에 앞서 미들웨어가 무엇인지 간략히 설명하고 넘어가겠습니다. 미들웨어는 단어에서도 유추 가능하듯이 중간에 위치한 소프트웨어입니다. 어느 곳의 중간이냐면, 요청(request)와 응답(response)의 중간입니다. 이번 강의의 예제들은 이전과 같이 강의자료에 제공이 되겠지만, 많은 파일을 사용하지 않을 예정이기 때문에 강의와 함께 처음부터 작성해 나가는것을 추천드립니다. (1) Middleware basic npm을 통해서 다양한 미들웨어를 설치하여 이용할수 있습니다. 하지만 그 전에, 미들웨어가 어떻게 작동되는 지 감을 잡아보도록 하겠습니다. .. 2021. 7. 1.
[Node.js-Tutorial] 6. Express 본 포스팅의 소스코드는 GitHub에서 확인할 수 있습니다. 6. Express 이전까지는 Node.js의 특징과 관련된 문법에 대해 알아보았습니다. 이번 강의는 Node.js의 꽃 Express에 대해 알아보겠습니다. (1) HTTP 통신 Express를 시작하기에 앞서 우리가 사용하는 인터넷이 어떻게 이루어지는 지 알아보도록 하겠습니다. 위 사진은 Node.js 스터디 페이지의 주소 부분입니다. 주소의 맨 앞에 https가 붙은 것을 확인할 수 있습니다. HTTPS는 HTTP 통신에서 보안이 개선된 방식입니다. 아무튼 HTTP 통신이랑 큰 틀은 비슷합니다. HTTP 통신은 다음과 같은 구조에서 이루어 집니다. 클라이언트(웹 브라우저)는 서버에게 URL(자원의 위치)나 URI(자원의 식별자)를 통해 요.. 2021. 7. 1.
[Node.js-Tutorial] 5. Modules 본 포스팅의 소스코드는 GitHub에서 확인할 수 있습니다. 5. Modules 이번 강의는 모듈에 대해 진행하도록 하겠습니다. 모듈은 하나의 독립적인 소프트웨어입니다. 모듈을 사용하게 되면 소스코드의 길이가 줄어들어 가독성이 향상되고 기능별로, 함수별로 분리하여 작성하기 때문에 유지 및 보수가 편리합니다. 다른 언어에서의 경험에 빗대자면 C++을 해보신 분이라면 #include 를 통해 사용자 정의 헤더 파일이나 내부 라이브러리를 가져와 사용할 수 있었습니다. ex) #include 혹은 Python를 사용하셨다면 import나 from ... import ...를 통해 다를 모듈을 가져와 사용할 수 있었습니다. ex) from math import * Node.js에서는 module.exports랑 .. 2021. 7. 1.
[Node.js-Tutorial] 4. Promise, async/await 본 포스팅의 소스코드는 GitHub에서 확인할 수 있습니다. 4. Promise, async/await 이번 4강에서는 소스코드의 가독성을 높이고, 비동기 처리가 특징인 Node.js에서 자주 사용되는 Promise를 다뤄보도록 하겠습니다. (1) Promise 비동기 처리는 자원을 효율적으로 사용하고 속도를 높이는 방법으로 많이 사용합니다. 비동기로 실행할 때는 callback 함수를 매우 많이 사용하는데, 이는 앞서 1.Introduction에서 언급한 바와 같이 callback hell에 갇혀 코드의 가독성이 떨어지고 실수할 여지가 많습니다. 이를 해결하기 위한 것이 Promise입니다. const promiseResult=new Promise((resolve)=>{ resolve(1); }).th.. 2021. 7. 1.
[Node.js-Tutorial] 3. Functions 본 포스팅의 소스코드는 GitHub에서 확인할 수 있습니다. 3. Functions 이번 장에서는 함수에 대해서 다룰 예정입니다. (1) Arrow Function 두 수의 합을 출력하는 sum이라는 함수가 있습니다. 전통적인 javascript에서는 함수를 다음과 같이 두가지 방법으로 작성하고 사용했습니다. // 함수 선언식(function declaration) function sum(a,b){ return a+b; } // 함수 표현식(function expression) const sum2=function(a,b){ return a+b; } console.log(sum(11,22)); // 33 console.log(sum2(11,22)); // 33 일반화 하자면 다음과 같습니다. 함수 선언식은.. 2021. 7. 1.