본문 바로가기

전체 글

(69)
Socket io, node js 를 이용한 채팅 사이트 만들기 예시 chat.js - 서버측 js파일. nodejs로 실행시킨다.enter.ejs - 유저가 접속할 때 닉네임을 설정하도록 하는 페이지index.ejs - 유저가 닉네임을 설정한 후 제공받게 되는 채팅 페이지 chat.js 설명- '/'경로에서 enter.ejs페이지를 제공하고닉네임을 입력받음. 입력받으면 '/chat'경로로 POST요청이 들어오고 index.ejs를 제공함. 로컬 변수whoIsTyping - 현재 타이핑하는 유저들의 배열whoIsOn - 현재 접속중인 유저들의 배열 이벤트 리스닝서버기준.emit은 서버가 이벤트를 발생시키는 것이고.on은 서버가 클라이언트의 이벤트를 핸들하는 것임. - 목록io.on('connection', function(socket){ ... })socket.emit('..
Socket io, nodejs를 이용한 채팅 사이트 만들기 소켓을 통한 채팅을 쉽게 구현할 수 있도록 해주는 nodejs의 Socket io 모듈을 이용해소켓을 통한 채팅 사이트를 만들어볼 것이다. socket io에 대한 기본적인 사용법은socket io Official Page - Get-Started 에서 참고할 수 있다. 기본적으로 socket io 모듈 설치는> npm install --save socket.io를 통해 할 수 있다. 가장 간단한 예시 - socket io 홈페이지에 나와있음 Server측 코드 var app = require('express')(); var http = require('http').Server(app) var io = require('socket.io')(http); app.get('/', function(req, re..
node js 웹 크롤링 예제 - request로 사진(웹툰 프리뷰) 수집하기 웹 크롤링을 이용해 네이버 웹툰 페이지에 있는 프리뷰들을 모두 수집하고,그것을 통해 새로 html파일에 정리하는 예제를 만들어보겠습니다. ● getSrc.js프리뷰들의 img src 및 정보들을 data.json에 json형식으로 저장해주는 모듈 var request=require('request'); var cheerio=require('cheerio'); var fs=require('fs'); var url="http://comic.naver.com/webtoon/weekday.nhn"; //getting img srcs from the url function getSrc(){ var dataArr=[]; var dataPath='data.json'; request(url, async function..
[카톡봇] openAPI와 카카오톡API를 이용한 버스 도착 정보 조회 Nodejs와 공공API를 이용한 버스도착정보 카톡봇입니다. 공부하면서 연습용으로 만든 것이라 조잡합니다. 날씨는 처음에 request연습할 때 넣었던 것이고, 대화창에서 마지막 버튼은 장난으로 ㅎㅎ showBustArrivalData.js 버스 정보를 알려주는 module /* NodeJs 샘플 코드 */ //228000710 외대앞 버정 stationId //228000723 정문 앞 버정 stationId M5107이 들어오는 길 /* routeName, routeId 5100, 200000115 9, 200000103 1112, 234000016 5500-1, 234000001 7000, 200000112 M5107, 234001243 */ var request = require('request'..
[버스 API] 공공 데이터 api를 이용해 버스 도착 정보 얻는 예제 우리학교는 버스가 학교 구석 회차장까지 들어오는데, 그 정보는 한 번에 정리된 형식으로 볼 수가 없었다.nodejs 공부를 하면서 예제로 카톡봇을 만들다보니, 내가 그 정보를 카톡봇으로 정리하거나 앱으로 만들면 좋겠다는 생각이 들었다.허나 REST API를 처음 이용해보는 수준에서 공공 데이터의 오픈 API 이용하기가 간단한 것은 아니다. 어느 정도 감을 잡은 뒤에는 뚝딱뚝딱 만들어낼 수 있지만, 처음엔 헤맬 수 밖에.공공 데이터의 오픈 api는 한 번 API이용을 신청하면 한 시간이 지나야 승인이 떨어져서 공부하려고 딱 시작했는데, 기다리는 동안 텐션이 싹 죽을 수가 있다...이것 때문에 A라는 API를 이용하면 될 줄 알고 기다린 뒤 A를 실행해보면 B도 필요하다는 것을 알게 되고 B를 신청하면 또 ..
[카톡봇] 카카오톡 API를 이용해 사진 자동 전송하기 var express=require('express'); var app=express(); var cheerio=require('cheerio'); var request=require('request'); var requestP=require('request-promise'); var phantom=require('phantom'); var bodyParser=require('body-parser'); var fs=require('fs'); //to set router function setRouter(){ //public 내의 파일들 업로드 app.use(express.static('public')); app.get('/', function(req, res){ res.send('kakaobot Jins..
[카톡봇] 카카오톡API를 이용한 자동 응답기 만들기 var express = require('express'); var app = express(); var cheerio = require('cheerio'); var request = require('request'); var requestP= require('request-promise'); var phantom=require('phantom'); var bodyParser = require('body-parser'); var fs=require('fs'); var sitepage = null; var phInstance = null; /* var takeScreenshot = (url)=>{ var options={ selector:'[class="column_bottom"]' } console.lo..
JavaScript의 async/await, Promise의 개념 async/await 함수와 Promise, then에 관한 정리 var result=0; function myReturnPromise(){ return new Promise((res)=>{ setTimeout(()=>{ console.log(2); res(); }, 3000) }) } async function myWait(x){ await myReturnPromise(); //myWaitPromise()->동시동작 되어버림 return new Promise((resolve)=>{ setTimeout(()=>{ console.log(3); resolve(); }, 3000) }); } async function test2(){ console.log(1); await myWait(); console.lo..