생각을 개발하자, 박진형

[node.js] 프로젝트 - 테스트 시간 기다리면서 여태 추가한 내역 본문

Javascript/node.js

[node.js] 프로젝트 - 테스트 시간 기다리면서 여태 추가한 내역

imjinbro imjinbro 2017.08.03 01:42
[mysql]
1) centos/rhel repo 추가 : rpm으로
2) RDS Instance 접속 : 보안설정해두기(아무나 접속 가능하지않도록)
3) 파싱한 자료 분석 -> mysql 저장
=> mysql 모듈 사용
=> 테이블 생성 쿼리 : word 데이터베이스 > best 테이블
CREATE TABLE best (id MEDIUMINT NOT NULL AUTO_INCREMENT, words VARCHAR(50) NOT NULL, description VARCHAR(400) DEFAULT "", time DATE, PRIMARY KEY(id));     

4) 어플리케이션 인스턴스에서는 가장 최근 것 하나만 빼오도록 쿼리 작성, mysql 접근
=> 환경변수 undefined 때문에 몇시간을…버렸군…. : pm2로 프로세스 시작할 때 환경변수 세팅해줘야함(rds 방화벽 문제인줄 알았더니만)
=> https://github.com/mysqljs/mysql/issues/1745 (mysql 모듈 github issue에서 똑같은 문제 겪은 사람이 올림, 로그 찍어보다가 issue 게시판으로!)
=> 해결 방법 
(2) 야매 : "start": "NODE_ENV=production pm2 start ./bin/www”
               NODE_ENV=production pm2 restart 0


[express + XMLHttpRequest + mysql]
1) json 데이터 넘기는 라우터 새로 파서 만듦 : /data.json 을 요청하면 최신 1개 데이터가 json 형태로옴 => express : res.json( { …. } );
=> 브라우저 환경 자바스크립트에서 정각이 되면 데이터를 XMLHttpRequest로 요청해서 갈아끼우기 위해
=> node.js 노트북 보도록

=> 결과값으로 받은 JSON은 자바스크립트 문법이지 자바스크립트 객체가 아님 : JSON.parse() 로 자바스크립트 객체 변환해줘야함 



[중간 결과]

- 웹 서비스 주소 : http://www.politics-watch.com/
1) 2시간 타이머 맞춰놓고 땡하면 비동기 통신 후 DOM 텍스트노드 변경 추가

2) mysql 테이블 생성

3) mysql 접근(크롤링 서버, 웹 서비스 서버)됨

4) mysql 가장 최근에 저장된 레코드 1개 빼옴

5) 세션스토리지 활용해서 이름, 이메일, 포토 URL 저장: 매번 상태값 변경됐는지 체크하는 것보다 세션을 사용하는게.... (추가해야할 것)

6) 컨셉에 맞춰 레이아웃 생각 -> 짜기
7) 크롤링 코드 github에 올리기