콘텐츠로 건너뛰기
Home » Portfolio » 어려웠던 점

어려웠던 점

1. 400만 개의 데이터 축소작업

  • “부동산 모의 투자”라는 주제에는 400만개가 넘는 데이터가 전부 필요하지는 않았습니다.
    • 2016 이후 발생한 모든 매매 데이터가 있는 상황이었고 이는 렌더링 성능저하로 이어졌습니다.
  • 이를 해결하기 위해 데이터를 임의의 기준에 맞추어 축소시켜야했습니다.
  • 코로나19의 시작인 2020년을 기점으로 부동산 가격이 많이 오른 점을 감안했습니다.

💡 이렇게 해결했습니다.

  • 2020년과 2022년에 동일한 층수와 평수를 가진 데이터를 1:1 매핑 시키는 작업을 진행했습니다.
  • 동일 가구의 매매 데이터를 기반으로 하여 보다 신뢰도 높은 투자 결과를 파악하려고 했습니다.
  • 최종적으로 400만 개 이상의 데이터를 6만 개 정도로 줄였고, 렌더링 성능 또한 크게 개선했습니다.

2. 뉴스 크롤링 시 발생하는 bot 인식 문제

  • Jsoup을 활용하여 매 정각마다 최신 부동산 뉴스 데이터를 크롤링했습니다.
  • 기계적 호출로 인해 bot으로 인식이 되었고, 매번 서버 ip가 차단당하는 문제가 있었습니다.
    • 셀레니움을 활용하기 보다는 크롤러 내부적으로 해결을 하고자 했습니다.

💡 이렇게 해결했습니다.

  • 정각마다 데이터를 호출하는 문제 + 헤더값 때문에 bot으로 인식한다는 점을 파악했습니다.
  • 헤더를 교체하고, 데이터 호출 시점에 임의의 랜덤 딜레이를 부여하였습니다.
  • 이를 통해 안티 크롤링 매커니즘을 우회화여 스케줄링 패턴의 명확성을 낮출 수 있었습니다.