노드로 만들 수 있는 대표적인 서버와 용도 준비마당 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안 2017/03 ○ 본 강의 자료는 이지스퍼블리싱에서 제공하는 강의 교안입니다. ○ 본 강의 교안은 아래 출판 서적의 내용을 기준으로 구성되었습니다. 또한 다수의 기타 서적이나 사이트를 참조하였습니다. 레퍼런스를 참조하십시오. 2017, 정재곤, “Do it! 노드제이에스 프로그래밍 (개정판)”, 이지스퍼블리싱 - 강의 교안에 사용된 화면 캡처나 실습 자료의 경우에는 문서 업데이트에 따라 변경될 수 있습니다.
강의 주제 및 목차 노드로 어떤 서버들을 만들 수 있을까? 강의 주제 목 차 서버는 왜 필요할까? 목 차 1 서버는 왜 필요할까? 2 대표적인 서버 유형으로는 어떤 것이 있을까? 3 이 책에서 만들어볼 화면
1. 서버는 왜 필요할까? 난이도 소요시간 5분
서버란 무엇일까? 웹 개발자의 경우 웹 서비스를 하려면 기본적으로 웹서버 기능을 만들어야 함 앱 개발자의 경우에도 서버의 데이터를 가져와 보여주는 경우가 많아졌음 독립적으로 실행되는 프로그램 vs. 서버에서 데이터를 가져오는 프로그램
포트와 프로토콜 포트(Port)란 단말에 접속하기 위한 ‘논리적인 접속 위치‘ 클라이언트 프로그램은 서버의 프로그램이 지정하는 포트로 접속하게 됨 프로토콜(Protocol)이란 데이터를 어떤 형태로 주고받을 것인지를 정한 것. 예) HTTP 프로토콜
2. 대표적인 서버 유형으로는 어떤 것이 있을까? 난이도 소요시간 15분
대표적인 서버 유형 목적에 따라 다양한 기능의 서버가 있음
누가 웹 서버를 만들까? 누가, 언제, 무엇을 위해 노드제이에스를 사용하여 웹 서버를 만들까?
웹 서버는 보통 어떤 구성으로 만들까? 익스프레스(Express)로 기본 구조를 만들고, 몽고디비(MongoDB)를 이용해 데이터를 저장하거나 조회하며, 뷰 템플릿(View Template)를 이용해 응답으로 보낼 데이터를 생성하며, 패스포트(Passport) 모듈을 이용해 사용자 로그인이나 회원가입을 처리함.
누가 채팅 서버를 만들까? 누가, 언제, 무엇을 위해 노드제이에스를 사용하여 채팅 서버를 만들까? 일대일 채팅이나 그룹 채팅처럼 실시간 채팅 기능을 클라이언트에서 사용하고 싶을 때
채팅 서버의 주요 기능은 무엇일까? 채팅 서버는 웹 서버에 기능을 추가한 형태로 구성됨 채팅 서버에 접속하고 로그인하면 친구 목록을 가져올 수 있음 일대일 채팅은 상대방을 찾아 메시지를 보냄 그룹 채팅은 대화방에 들어와 있는 모든 사람에게 메시지를 보냄
누가 JSON-RPC 서버를 만들까? 누가, 언제, 무엇을 위해 노드제이에스를 사용하여 JSON-RPC 서버를 만들까? 서버 쪽에 함수를 만들어 두고 클라이언트에서 함수를 호출하듯이 사용하고 싶을 때 주로 웹 문서가 아닌 데이터만을 주고 받을 때
JSON-RPC 서버의 주요 기능은 무엇일까? 웹 브라우저나 앱에서 함수를 호출하듯이 서버에 등록된 함수 호출 서버에는 핸들러로 만들어 함수 추가 요청 데이터 단위로 핸들러만 추가하면 손쉽게 사용 가능
누가 위치기반서비스 서버를 만들까? 누가, 언제, 무엇을 위해 노드제이에스를 사용하여 위치기반서비스 서버를 만들까? 내 현재 위치를 기준으로 가까운 커피숍을 찾고 싶은 경우
위치기반서비스 서버의 주요 기능은 무엇일까? 위치 정보를 공간 데이터(Spatial Data)라고도 함 내 현재 위치와 가장 가까운 커피숍 위치를 찾을 때 검색 속도가 떨어지지 않도록 공간 인덱싱 사용 몽고디비를 이용해 위치 정보 저장 및 조회
누가 모바일 서버를 만들까? 누가, 언제, 무엇을 위해 노드제이에스를 사용하여 모바일 서버를 만들까? 모바일 단말을 사용할 때 필요한 기능을 제공
모바일 서버의 주요 기능은 무엇일까? 모바일 단말에서는 웹 서버나 채팅 서버의 기능을 그대로 사용할 수 있음 모바일 서버는 보통 모바일 전용으로 사용하는 부분만을 말함 단말을 서버에 등록하여 관리자가 단말을 관리하거나 모바일 단말로 푸시 메시지를 전송하는 기능
3. 이 책에서 만들어볼 화면 난이도 소요시간 5분
웹 서버에 로그인과 회원가입 화면 만들기 로그인과 회원가입이 가능한 홈 화면 → 회원가입 화면 → 로그인 화면 → 사용자 프로필 화면
채팅 서버에 사용자 목록과 일대일 채팅 화면 만들기 서버에 저장된 사용자들을 조회한 화면 → 일대일 채팅을 하는 화면
위치기반서비스 서버에 커피숍 검색 화면 만들기 영역 안의 커피숍 찾기를 요청하는 화면 → 찾은 커피숍의 데이터를 보여주는 화면
참고 문헌 [ References] 기본 서적 2017, 정재곤, “Do it! 노드제이에스 프로그래밍 (개정판)”, 이지스퍼블리싱 Node.js Site http://nodejs.org/