본문 바로가기

전체 글

(154)
[Do it! Node.js 프로그래밍] 12일차 1. 공부한 범위 [11] JSON-RPC 서버 만들기 2. 공부한 내용 [11] JSON-RPC 서버 만들기 11-1 JSON-RPC를 웹 서버에 적용하기 - RPC (Remote Procedure Call) 는 서버에 데이터를 요청해 응답받는 과정을 라이브러리에서 자동으로 처리한다. - 로컬 단말에서 함수를 호출하는 것처럼 코드를 만들기만 해도 클라이언트와 서버 간의 데이터를 주고받는 기능이 동작하기 때문에 서버를 훨씬 쉽고 간단하게 만들 수 있다. - JSON-RPC는 JSON포맷으로 데이터를 주고받을 수 있어 자바스크립트를 사용하는 노드 프로그램에서 더 자연스럽게 사용할 수 있다. JSON-RPC 모듈 설치하여 사용하기 - RPC를 이용하게 된다면 먼 거리에 있는 서버에 함수를 만들고 클라이언트에..
[Do it! Node.js 프로그래밍] 11일차 1. 공부한 범위 [10] 채팅 서버 만들기 2. 공부한 내용 [10] 채팅 서버 만들기 10-1 soket.io 사용하기 soket.io를 사용하기 위해 모듈 설치하기 - soket을 위해서는 soket.io 모듈 뿐 아니라 cors 모듈도 설치해야 한다. - CORS : 이것을 사용하면 클라이언트에서 Ajax를 통해 데이터를 가져올 때 현재 보고 있는 브라우저의 웹 문서를 제공한 웹 서버 외 다른 욉 서버에서도 접속할 수 있도록 제약을 해제할 수 있게 된다. - socket.io와 cors를 모두 npm을 통해 설치한다. 이 과정을 마치면 socket.io를 사용할 준비가 끝난 것이다. app.js 메인 파일에 기본 코드 하나씩 추가하기 - app.js파일 안에 require를 통해 socket.io..
[Do it! Node.js 프로그래밍] 10일차 1. 공부한 범위 [09] 패스포트로 사용자 인증하기 2. 공부한 내용 [09] 패스포트로 사용자 인증하기 09-1 패스포트로 로그인하기 - 패스포트는 노드에서 사용할 수 있는 사용자 인증 모듈이다. 해당 모듈은 사용 방법이 간단할 뿐 아니라 인증 기능을 독립된 모듈 안에서 진행할 수도 있도록 돕는다. - 패스포트가 제공하는 수백 가지의 인증 방식 중 어떤 방식을 사용할 것인지 결정하는 것이 스트레티지다. - 대표적인 인증 방식으로는 DB에 저장된 사용자 정보와 비교하는 로컬 인증 방식(Local Strategy), 페이스북이나 트위터의 계정을 사용하는 OAuth 인증 방식등이 있다. - 패스포트 미들웨어를 통해 사용자를 인증할 때 미리 설정해 둔 인증 방식으로 사용자를 인식하는 데 성공하면 해당 정보를..
기능 개발 프로그래머스에서 제공하는 문제들 중 스택과 큐를 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programm..
프린터 프로그래머스에서 제공하는 문제들 중 스택과 큐를 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 | 프로그래머스 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 programme..
베스트 앨범 보호되어 있는 글입니다.
프로그래머스에서 제공하는 문제들 중 큐에 대해 연습하기 위한 문제를 풀었다. 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42588 코딩테스트 연습 - 탑 | 프로그래머스 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7 programmers..
[Do it! Node.js 프로그래밍] 9일차 1. 공부한 범위 [08] 뷰 템플릿 적용하기 2. 공부한 내용 [08] 뷰 템플릿 적용하기 08-1 ejs 뷰 템플릿 사용하기 - 최근 만들어지는 새 언어들은 대부분 MVC 패턴을 사용한다. - MVC란 Model, View, Controller로서 눈에 보이는 부분은 뷰로, 뷰로 표현되는 데이터를 제공하는 것은 모델로, 처리되는 과정을 담당하는 것은 컨트롤러로 구분하여 구성하는 것을 의미한다. - 노드와 익스프레스도 마찬가지의 구성을 보이며 사용자 요청을 처리하는 라우팅 함수는 컨트롤러, 데이터베이스에 데이터를 저장하거나 조회하는 함수를 모델, 사용자에게 결과를 보여 주기 위해 만든 파일을 뷰라고 할 수 있다. - 뷰를 보자면 여태까지 결과를 사용자에게 응답으로 보낼 때 자바스크립트 코드를 직접 입력..