본문 바로가기

node.js

Node.js - Socket.IO 모듈을 이용한 채팅 프로그램 * 단방향성: 클라이언트의 요청에 대해서 응답만을 하는 방식 웹은 일반적으로 클라이언트에서 서버로 가는 단방향성이지만, 채팅과 같은 실시간 양방향 애플리케이나 쪽지와 같이 서버에서 클라이언트로 알림을 보내줘야 하는 요구 사항이 생겼다. Socket.IO는 자바스크립트 모듈로, 웹 클라이언트로의 푸쉬(알림)를 지원하는 모듈이다. (양방향성이 가능해짐) WebSocket을 지원하지 않는 어느 브라우져라도 푸쉬 메시지를 일관된 모듈로 보낼 수 있는 장점이 있다 이번 예제 point - 특정 클라이언트 소켓에 메세지를 어떻게 보내는지를 알 수 있다 서버쪽 코드 - app.js ⓛ socketIO를 지원하는 서버 생성 // httpServer 생성 var server = http.createServer(app)... 더보기
Passport 모듈로 회원가입 및 로그인 하기 (모듈화 적용 X) 노드에서 사용할 수 있는 사용자 인증 모듈 ① 로컬인증 : 데이터베이스에 저장된 사용자 정보와 비교 ② OAuth인증 : 페이스북, 구글, 네이버, 카카오 계정으로 로그인 - key값을 받아야 하니깐 eclipse에서 쓰지말고 쓰는법은 각 홈페이지 API 참조하는게 나음 사용자 인증 처리를 위한 필수 모듈 npm install passport --save npm install passport-local --save - 로컬 인증 기능 (데이터베이스에 저장된 사용자 정보와 비교) npm install connect-flash --save - 요청객체에 메세지를 넣어둘 수 있는 기능, 다른 함수나 뷰 템플릿 처리 함수에 메세지를 전달, 사용자에게 메세지 전달 * node_modules에 passport-st.. 더보기
Node.js + Oracle 을 이용한 로그인/패스워드 웹서버 구축하기 1. DB 연결자, Router 연결자 - config.js 2. DB 관련 ① Schema 정보 (스키마생성&스키마메소드추가) - user_schema.js ② database 객체에 DB정보, Schema정보, Schema Model 정보 추가 - database.js (config.js, user_shema.js에 접근하여 모델객체 생성) 3. 라우팅 관련 ⓛ config.js 에 있는 Router 연결자 정보를 이용해 상황별 메소드에 접근 - router_loader.js ② UserModel 객체에 접근하여 결과 페이지 view단을 만듬 - user.js 4. 메인 파일 - app2.js 개발환경 - os: Window8.1 64x / 프로세서: Intel(R) Core(TM) i3-4020Y .. 더보기
Node.js - 이벤트처리, 파일다루기, 버퍼객체 Node.js는 웹에서 많이 사용하는 내용은 아니지만 회사에선 알아야하므로 흐름은 반드시 알고 있기 이벤트 리스너란? 게임을 예로 들면, 캐릭터가 레벨업을 했다 라는 이벤트에 대해서 캐릭터의 체력과 공격력을 증가시켜주는 로직이 들어있는 이벤트리스너가 등록되어 있을 것이다. Node.js가 제공하는 이벤트 처리 클래스 - EventEmitter, events EventEmitter EventEmitter을 이용하면 직접 이벤트를 만들어 처리할 수 있다 이벤트를 처리하는 방법은 EventEmitter를 상속받은 객체를 만들어 EventEmitter의 메소드를 사용한다 메서드 설명 on(event, listener) 지정한 event에 대한 listener를 추가합니다. once(event, listener).. 더보기
Node.js - 배열 배열에 값 추가 및 삭제 배열에는 다음과 같은 메소드가 포함되어 있어 그 요소 값을 확인하거나 추가 또는 삭제할 수 있다. 속성 / 메소드 이름 설명 push(object) 배열의 끝에 요소를 추가 pop() 배열의 끝에 있는 요소를 삭제 unshift() 배열의 앞에 요소를 추가 shift() 배열의 앞에 있는 요소를 삭제 splice(index, removeCount, [Object] ) 여러 데이터 추가/삭제 slice(index, copyCount) 여러 데이터 잘라내어 새로운 배열 객체로 만듦 배열 예제 push(Object) var Users = [ {name:"수지",age:25}, {name:"안젤리나",age:22} ]; Users.push({name:"신혜",age:28}); conso.. 더보기
Node.js 개념 & 세팅하기 Node.js란? Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 (크롬에는 Javascript V8 엔진이 내장돼있음) npm은 개발자들이 Node.js 기반의 JavaScript로 개발된 오픈 소스를 모듈로 올려놓은 곳 우리는 웹 개발에 필요한 jQuery, gulp, webpack 등의 모듈들을 npm명령어를 통해 쉽게 다운받고 쓸 수가 있다. - %j : 데이터가 key와 value로 구성돼있는 데이터 (node.js는 모든 데이터를 JSON형식으로 처리) Node.js 세팅하기 1. NodeJS 폴더 생성 > work, install 폴더 생성 * work 폴더 - workspace임. 본인이 원하는 workspace 폴더명으로 해줘도 됨 * e.. 더보기