[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));
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에 올리기
'nodejs' 카테고리의 다른 글
[node.js] 프로젝트 - 핫키워드 + 댓글 한번에 뽑기 : mysql 테이블 join (0) | 2017.08.08 |
---|---|
[node.js] 프로젝트 - 로그인 구현 : 파이어베이스 (0) | 2017.08.05 |
[node.js] 프로젝트 - pm2 : 노드 어플리케이션 프로세스 유지 (0) | 2017.08.01 |
[node.js] 프로젝트 - 고정 IP, 네임서버 변경, 도메인 연결, 프록시 서버 (0) | 2017.08.01 |
[node.js] 핫키워드 서비스 관련 모듈 - 타이머 (0) | 2017.07.29 |
댓글