티스토리 뷰

안녕하세요.

Pricing Tech Engineering팀원이자 
해당 테크블로그의 에디터장을 담당하고 있는 김민우입니다.

본격적인 글에 앞서 이번에 작업한 테크블로그 UI 변경 건을 잠깐 소개해드립니다.


 G마켓 테크블로그는 티스토리를 기반으로 제작되었으며, 

 티스토리에서 제공하는 HTML과 CSS를 직접 수정하는 '스킨 편집'을 통해 홈페이지를 변경하였습니다.
 (아래는 개편 이전의 스킨입니다.)





 1. 전체적인 홈 디자인 변경

  • 신규 로고 제작 후 적용

  • 카테고리 상단 추가 및 썸네일 이미지 및 애니메이션 추가로 콘텐츠 가독성 강화.



 


  - 기존에 다소 밋밋했던 블로그 메인 페이지를 전면적으로 개편하였습니다.

  - 특히, 썸네일 이미지를 활용해 글의 주요 내용을 간략히 요약할 수 있도록 구성하여 독자들이 원하는 콘텐츠를 한눈에 파악할 수 있도록 개선했습니다.



 2. Footer 업데이트
 
  • 기존의 기본 footer 제거하고, 지마켓 연락처 및 패밀리 사이트로 연결되는 정보를 추가.

  - 티스토리 기본 디자인을 배제하고, 회사와 관련된 사이트를 홍보하는 용도로 활용됩니다.
 
  - 
댓글로 소통이 원활하지 않았던 점을 보완하고자 Contact Us에 블로그 운영진의 이메일을 넣어 독자들이 직접 연락할 수 있도록 하였습니다.


 3. 댓글 정리 및 정책 변경
   
  • 스팸 댓글 일괄 제거 및 비밀글 옵션 html 제거
  


  -  관련 없는 홍보성 댓글들로 채워진 비밀글 도배로 인해 불편을 초래했던 댓글들을 정리하고, 자동 스팸기능을 통해 작성이 불가능하도록 조치하였습니다.
 
  - 회사명 변경과 티스토리 기본 디자인 배제를 위해 블로그 공식 도메인을 https://dev.gmarket.com/ 으로 설정하고 있습니다. 이에 따라, 비밀글을 쓰기 위해 티스토리 로그인 후 댓글 쓸 경우 CORS 에러로 정상적으로 등록되지 않는 문제를 방지하기 위해 비로그인 댓글만 허용하는 정책으로 변경하였습니다.



  G마켓 테크블로그는 꾸준히 개선 중이며, 더 나은 사용자 경험을 제공하기 위해 노력하고 있습니다.

 

이어서 본격적인 글을 시작하겠습니다.

들어가기

게시판에서 선착순으로 댓글을 작성해야 하는 상황을 겪어본 적이 있나요?
저희 회사에서는 가끔 사내게시판에 선착순으로 댓글을 쓰면 당첨되는 이벤트성 글들이 올라옵니다.

 

 

하지만 문제는 이러한 방식은 게시판을 자주 들락거리는 사람들이 유리하고, 꾸준히 업무에 집중하고 있는 사람들은 이런 기회를 잡기가 어렵다는 점입니다. 알람 기능이 있었더라면 누구든 공평하게 선착순으로 댓글을 달 수 있을 텐데 말이죠.

이 불합리함을 해결해 보고자 개발자다운 방법을 고민하기 시작했고 “디버깅을 해보면 뭔가 단서가 있지 않을까?”라는 생각이 들었습니다. 개발자 도구를 열고 페이지의 소스를 하나하나 들여다보며 RSS라는 단어를 발견했습니다. 처음엔 이게 뭔가 싶었지만, 조금만 더 찾아보니 RSS 리더 앱을 활용하면 해당 RSS 주소를 통해 게시판 업데이트를 실시간으로 확인할 수 있다는 사실을 알게 되었습니다.

기술적으로 보면 RSS는 주로는 XML 형식의 데이터로 구성되어 있는데, 이를 통해 새로운 게시글의 제목, 링크, 요약 등을 정리한 데이터를 RSS 리더라는 앱이나 프로그램에서 확인할 수 있습니다. 직접 들어가 보면 다음과 같이 기존 게시판 페이지와는 사뭇 다르게 필요한 정보만 모인 페이지가 뜹니다. 이를 활용하여 리더 앱은 전체 html을 긁어올 필요 없이 알람에 필요할만한 정보만 빼서 알림을 만들게 되는 셈입니다. 

 

 

RSS 란?

RSS는 1999년에 처음 개발되었으며, 웹사이트의 콘텐츠를 효율적으로 배포하기 위한 기술로 시작되었습니다. 여기서 론 스워츠(Aaron Swartz)라는 천재 개발자를 언급 안 할 수가 없는데, RSS를 창시하며 모든 웹의 정보를 더 자유롭고 접근하기 쉽게 만들고자 도입하였고, 또한 RSS를 기반으로 만들어진 '레딧(reddit)'이라는 미국 최대 커뮤니티 사이트의 공동 설립자로도 알려져 있습니다. 그가 RSS를 도입할 때에도 ‘정보의 민주화’라는 철학이 깔려 있었습니다. 정보를 특정한 사람들만 독점하지 않고, 누구나 공평하게 접근할 수 있도록 하겠다는 취지입니다. 이런 점은 앞서 말씀드린 선착순 댓글 이벤트로 인해 게시판을 주기적으로 확인할 시간적인 여유가 안 되는 저와 같은 입장의 사람들에게도 기술적 의의가 있다는 점에서 일맥상통합니다.

RSS의 가장 큰 장점은 정보를 자동으로 받아볼 수 있다는 점입니다. 굳이 웹사이트를 직접 방문하지 않아도 RSS 리더를 통해 필요한 정보만 쏙쏙 받아볼 수 있죠. 이런 방식 덕분에 여러 사이트를 돌아다니며 시간을 낭비할 필요가 없고, 중요한 정보를 놓치는 일도 줄어듭니다.

또한, RSS는 새로운 정보가 올라오는 거의 즉시 확인할 수 있다는 점에서도 큰 강점을 가집니다. RSS 리더는 정해진 시간 간격마다 피드를 확인하고 업데이트를 받아오는데, 이 시간을 사용자가 조정할 수 있습니다. 예를 들어, 확인 주기를 1분으로 설정하면, 불규칙적으로 사이트에 들어가는 사용자보다 훨씬 빠르게 정보를 받아볼 수 있는 것이죠. 이런 방식은 중요한 공지나 업데이트를 기다리는 상황에서 특히 유용합니다. RSS를 통해 정보가 업데이트되는 즉시 알림을 받는다면, 빠르게 정보를 확인하고 대응할 수 있게 됩니다.

마지막으로 RSS의 또 다른 큰 장점은 표준화된 형식 덕분에 여러 사이트의 정보를 한 곳에서 통합 관리할 수 있다는 점입니다. 예를 들어, 뉴스 사이트 A, 블로그 B, 커뮤니티 C의 업데이트를 확인하려면 각각 들어가서 알림을 설정하거나 직접 확인해야 하지만, RSS 리더를 사용하면 이 모든 정보를 한 번에 받아볼 수 있습니다. 사이트가 RSS 피드를 제공하기만 하면, 사용자는 별도의 설정 없이도 링크만 추가해 관리할 수 있어, 번거롭게 사이트별 알림을 켜고 끌 필요 없이 간편하게 최신 정보를 모아볼 수 있습니다.

 

RSS 알림을 받는 방법

먼저, RSS 리더기를 다운로드해야 합니다. 맥북을 사용한다면 App Store, 윈도우를 사용한다면 Microsoft Apps에서 다운로드할 수 있습니다. 모바일에서 알림을 받고 싶다면, 각 OS에서 지원하는 공식 스토어(Android는 Google Play, iOS는 App Store)를 통해 앱을 설치하는 것이 가장 안전합니다. 크롬 브라우저를 사용 중이라면 Chrome 웹 스토어에서 RSS 관련 확장 프로그램을 검색해 설치할 수도 있습니다.

만약 제가 위에서 설명한 사내 게시판과 같이 인증(ID/PW)으로 접속을 해야 볼 수 있는 사이트들은 인증 기능을 지원하는 RSS 피드를 사용 중이라면, 이를 지원하는 리더 앱을 찾아야 합니다. 이런 경우, 공식 스토어 외에도 구글링을 통해 적합한 스펙의 앱을 직접 찾아볼 수 있습니다. 다만, 안전을 위해 신뢰할 수 있는 소스를 통해 다운로드하는 것을 권장합니다. 실습 전, 어떤 RSS 리더를 사용했다고 특정 지으면 광고가 될 수도 있기 때문에 설치 과정은 생략하도록 하겠습니다.

RSS 리더가 제대로 작동하는지 확인하기 위해 글쓴이인 저의 개인 블로그를 예시로 사용하겠습니다.

(참고로, 해당 테크블로그도 RSS를 지원하지만, 테스트 목적으로 글을 올릴 수 없으므로 개인 블로그를 예로 듭니다.)

제 블로그 주소는 https://blog.naver.com/rlaalsdn456456입니다. 블로그 하단에 RSS 버튼이 있으며, 이를 통해 https://rss.blog.naver.com/rlaalsdn456456.xml 같은 RSS 주소를 얻을 수 있습니다.

주소를 다운받은 RSS 리더 앱에 입력하면 설정이 끝입니다.

 

제가 사용하는 앱의 경우, 체크 주기(Frequency)를 초 단위로 설정할 수 있습니다. 시연을 위해 10초로 설정하고 테스트를 진행해 보겠습니다. 이 설정은 10초마다 새 글이 있는지 확인하고, 업데이트가 있으면 알림을 띄워줍니다.

일단 제 블로그니까 간단한 글 하나 바로 올려볼게요.

 

약 1분 정도 기다려보면, RSS 리더 앱에서 새로운 글에 대한 알림이 뜨는 것을 확인할 수 있습니다. 이를 통해 RSS가 정상적으로 작동하는지 테스트할 수 있습니다.

눈치채신 분들은 이제야 RSS의 문제점을 보시게 될 겁니다.

 

RSS 의 치명적인 한계

RSS의 최대 장점이자 단점이 될 수 있는 점은 정보 공급자인 서비스 업체에서 운영하는 사이트가 아니라 정보 수요자인 사용자에게 주도권이 있다는 구조라는 점입니다.

그림만 보셔도 아시다시피 정보 수요자는 RSS 리더를 통해 계속해서 정보 공급자인 사이트에 RSS를 요구합니다. 1명이 이러는 것도 부하가 갈 텐데, 여러 사용자가 이렇게 반복적이면서도 의미 없는 메아리를 계속하는 것은 사용자 입장에서는 편해도 서비스를 운영하는 서버 입장에서는 필요 이상으로 xml을 계속해서 만들어주고 있으니, RSS는 쓸데없는 부하를 일으키는 주범이 됩니다. (물론, 일반적인 크롤링보다 요청당 데이터 용량이 적기 때문에 부담이 덜하긴 하지만, 근본적으로는 서버 자원을 소모시키는 구조라는 점에서 여전히 문제가 됩니다.) 제 경우처럼 10초마다 피드를 확인한다는 점에서, 여러 명이 동시에 이런 환경에서 RSS를 구축해 놓으면 타겟 서버 입장에서는 일종의 DDoS 공격 부하를 경험하게 수 있습니다.

이러한 이유로, 최근의 RSS 리더 앱들은 호출 빈도를 길게 설정하도록 제한하고 있습니다. 예를 들어, RSS 기능이 탑재된 Microsoft Outlook은 기본적으로 1시간 단위로 피드를 확인하도록 설정되어 있습니다. 하지만 이 경우 실시간성이 떨어지는 문제가 발생하며, RSS의 큰 장점 중 하나를 희생해야 합니다.

이와 이어지는 이유로 서비스 사이트들이 RSS 피드를 지원하지 않게 되었습니다. 서버 부하와 실시간성 부족 문제로 인해 많은 사이트들은 RSS를 지원하는 대신, 자체 앱과 이벤트 기반(event-driven) 방식을 도입하고 있습니다. 예를 들어, 페이스북, 인스타그램, 유튜브 등은 자체 앱을 통해 푸시 알림을 전송하여 정보 공급자가 주도권을 가지고 실시간성을 확보하는 구조를 채택했습니다. 이 방식은 덤으로 사용자 맞춤형 콘텐츠와 광고 노출을 통해 수익 창출까지 가능하게 합니다.

결국, RSS는 사용자 주도권이라는 장점이 있지만, 대량의 요청이 사이트에 부하를 주고, 이를 포기하면 실시간성이 떨어진다는 단점이 있습니다. 이로 인해 Polling 방식처럼 구식으로 인식되는 경향이 있으며, 실시간 정보 전달을 요구하며 필요한 자원만 쓰려는 이벤트 트리거 방식을 선호하는 현대의 환경에서는 Stream 과 같은 방식이 선호되고 있습니다. 

 

그럼에도 여전히 가치 있는 RSS

앞서 RSS의 장점을 설명한 것 중 하나인 표준화된 형식 덕분에 여러 사이트의 정보를 한 곳에서 통합 관리할 수 있다는 점은 아직 대체 불가한 장점입니다. 실제로 몇몇 독자 분들은 직접 이 사이트를 방문한 것이 아니라, RSS를 통해 기술 블로그 글들을 모아놓은 사이트에서 이 글에 도달한다는 방문자 통계도 찍힙니다.

 

특히, 취업 준비생이나 기술 트렌드를 빠르게 익히고 싶은 분들에게는 RSS가 더없이 유용합니다. 왜냐하면, 어떤 기술 블로그는 티스토리, 어떤 곳은 미디엄(Medium), 또 다른 곳은 GitHub Pages를 사용하고, 어떤 사이트는 자체 서버를 통해 운영됩니다. 이처럼 플랫폼이 다양하지만, 여전히 블로그와 같은 대부분의 게시글 서비스의 사이트들은 관례적으로 RSS를 지원하고 있기 때문에, RSS는 위 사이트들처럼 여전히 정보를 한 곳에 모아보거나 알람을 바로바로 받고 싶지만 일일이 각각 앱들을 깔아서 알람 환경설정도 불필요하기 때문입니다.

이 사이트는 티스토리 플랫폼에서 운영되고 있습니다. 따라서, 티스토리 앱을 설치하면 해당 블로그를 구독하고 티스토리 자체 앱에서 알림을 받을 수 있는 구조로 설계되어 있습니다. 하지만 대부분의 블로그들이 그렇듯, RSS 기능도 함께 제공하고 있습니다. 

끝으로

이 블로그의 RSS 주소를 바로 드리겠습니다. 이 주소를 RSS 리더 앱에 추가하고 알림을 설정해 보세요.

https://dev.gmarket.com/rss

현직 개발자들이 경험하고 있는 기술 트렌드를 누구보다 빨리 읽고, 경쟁력을 높일 수 있는 기회가 될 것입니다.

RSS로 누구보다 빠르게 G마켓의 기술과 경험을 공유합니다.
읽어주셔서 감사합니다.

댓글