338
한 권으로 끝내는 Node & Express
19.1.1
소셜 미디어 플러그인과 사이트 성능
소셜 미디어와의 통합은 대부분 프런트엔드 작업입니다. 페이지에서 자바스크립트 파일을 참
조하면 그 파일이 콘텐츠를 가져오고 (예를 들어 페이스북의 최상위 콘텐츠 세 개 ), 내보내기
도 합니다(예를 들어 현재 페이지를 트윗). 소셜 미디어 통합은 대부분 이런 형태로 이루어지
지만 대가를 치러야 합니다. 필자는
HTTP
요청이 늘어나면서 페이지 로드 시간이 두 배, 세
배까지 늘어나는 경우를 봤습니다. 페이지 성능이 중요하다면(모바일 사용자를 생각하면 특히
중요합니다 ) 소셜 미디어를 통합하는 방법도 신중히 생각해야 합니다.
페이스북 ‘좋아요’ 버튼이나 트위터의 ‘트윗’ 버튼을 활성화하는 코드는 브라우저 쿠키를 사용합
니다. 이런 기능을 백엔드로 옮기는 것은 어려운 일이고, 때에 따라서는 불가능하기도 합니다.
따라서 그런 기능이 필요하다면 설령 페이지 성능에 영향을 줄 수 있다 하더라도 적절한 서드
파티 라이브러리를 링크할 수밖에 없습니다.
19.1.2
트윗 검색
#
Oregon
과 #
travel
해시 태그가 포함된 최신 트윗
10
개를 멘션하고 싶습니다. 프런트엔드 컴
포넌트를 사용할 수도 있지만
HTTP
요청이 추가로 발생합니다. 이 작업을 백엔드에서 하면
트윗을 캐싱해 성능을 올릴 수 있습니다. 또한 백엔드에서 검색한다면 일부 트윗을 ‘블랙리스
트’에 담을 수도 있습니다. 이런 일은 프런트엔드에서 구현하기가 훨씬 어렵습니다.
페이스북과 마찬가지로 ...