교육

[Node.js] 10일차

사람냄새나는 개발자 2019. 9. 25. 00:32

템플릿 엔진을 사용할 때 단점


프런트 소스코드에 백엔드 코드가 들어가 소스 코드가 더러워질 수 있음

 

CSRF 공격(Cross Site Request Forgery)


- CSRF 공격을 안 막아주면 포스트맨으로 API 서버를 찌를 수 있음 (특히, 쓰기 / 수정)

- 대표적으로 2가지 방어기법이 있음

  • Referrer 검증
  • Security Token 사용 (A.K.A CSRF Token)

크롤링에 필요한 모듈


- request 모듈 : Node.js 내장 모듈로, 요청을 보내 HTML 정보를 가져옴

- cheerio 모듈 : 받아온 HTML를 파싱 하여 전체 페이지 중에서 필요한 부분만을 추출

- request-promise 모듈 : Promise를 지원하는 request 모듈 (async/await 사용 가능)
- 특정 사이트에서 크롤링을 금지하는 경우도 있으니 확인 필요 
- 크롤링 허가/불허의 여부는 robots.txt 파일을 통해 알 수 있음

 

ex) 아래는 크롤링을 통해 직접 구현한 택배 위치 추적 모습

 

구글 차트 구현


- 모듈 선언 및 로딩

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

// Load Charts and the corechart package
google.charts.load("current", {packages:["corechart"]});

- 차트 init

google.charts.setOnLoadCallback(차트를 그리는 함수);

- (차트를 그리는) 함수 구현 

x, y축 정의, 데이터 세팅 작업, 옵션 세팅, 차트 그리기

- 해당 링크에서 원하는 차트를 골라 구현하면 됨 (https://developers.google.com/chart/interactive/docs/gallery)

 

ex) 아래는 구글 차트를 이용해 통계 현황을 보여준 모습