버즈한 트위터 동영상, 이미지를 자동 수집하는 웹사이트

개요



트위터로 버즈 한 동영상이나 이미지의 트윗을 좋아 순, 리트윗 순서, 날짜순으로 열람할 수 있는 웹 사이트를 만들었다
h tps : // / ぃぽ p 어 p. 돈 돈 돈. rk /

사용한 기술


  • 서버 측
    Rails
  • 프런트 엔드
    React
  • API
    공식 TwitterAPI
  • DB
    firebase Realtime Database
  • 호스팅
    Heroku
  • ssl
    cloud flare

  • 전체상



    이런 느낌


    왜 Rails



    서버 측은 Rails 밖에 취급한 적이 없으니까. Rails 이외의 기술을 공부할 시간이 아무것도 없다.

    왜 React



    전부터 SPA에 흥미가 있어 React의 공부를 진행하고 있었다. Vue는 조금 공부하고 좌절.
    페이지의 부분 갱신에도 state 갱신하는 것만으로 실현할 수 있어 간편한 것이 매력적.
    젬은 react-rails

    [React를 알기 전의 가난한 나]
    뷰에 파티션 파일을 준비하고 컨트롤러에서 전용 인스턴스 변수를 준비하십시오
    그리고 partial을 돌려주고, 그것과 그것과 javascript 측에서 DOM 갱신하고 있어

    ⬇️

    [React를 알게 된 튼튼한 나]
    취득 데이터로 state 갱신
    셔(화려하게 페이지 갱신되는 소리)

    왜 Realtime Database



    가능한 한 무료 DB를 사용하고 싶었다.
    처음에는 FireBase의 Cloud Fire Store를 사용하려고했습니다.

    Cloud Fire Store 정보



    CRUD에 대한 무료 플랜에는 다음과 같은 제한이 있습니다.
    쓰기 20,000/일
    읽기 50,000/일
    삭제 20,000/일

    nosql은 처음으로 취급했습니다. RDB만 사용한 적이 없는 첫

    "하루에 이렇게 select하지 않을거야 w"
    라든지 잘못을 생각하고 있었다.

    구현이 진행됨에 따라 읽기 수의 사용 상황이 이상하다는 것을 알았습니다.



    「우와・・・나의 읽기수 너무 많아?」

    분명히 이 제한은 데이터 건수의 것 같았다. 데이터 건수 자체는 1만도 2만도 취급할 생각은 없지만, 읽을 때마다 누적해 나가므로 단념.

    RealTime DataBase 정보



    RealTime DataBase는 CRUD의 제한은 없다. 용량은 1GB.
    젬은 firebase.
    지금은 문제없이 움직이고 있지만 다음과 같은 단점도 있다.
  • 일본어 관련 기사가 많지 않음
  • 데이터 내림차순 기능이 없습니다. 현재, 오름차순으로 취득한 리스트를 자력으로 내림차순 밖에 없다
  • FireBase 자체는 Cloud FireStore를 권장합니다

  • 참고
    FireBase 공식 요금 플랜

    왜 Heroku



    액세스 수 등의 제한이 없고 Rails와 친화성이 높은 Heroku를 사용하기로 했다.

    처음에는 FireBase에서 호스팅을 시도했지만 Twitter API를 사용하여 데이터를 얻는 데 Node.js가 필요하기 때문에 포기했습니다.
    FireBase에서 Node.js 이용할 때는 Cloud Function을 사용할 필요가 있다.
    Cloud Function은 Blaze 플랜으로 바꾸지 않으면 사용할 수 없습니다.
    계획을 바꿨다고 해서 바로 과금되는 것은 아니지만, 가능한 한 신중하게 가고 싶다.

    요약



    DB의 교환이나 Heroku 환경 변수의 설정이라든지, 상당히 집착한 것이 많았지만 배움도 많았다.
    앞으로도 조금씩 개량을 더해 나가고 싶다

    좋은 웹페이지 즐겨찾기