[개인공부] 웹 크롤링과 비동기 프로그래밍이란 무엇인가?

Donghyun·2024년 7월 11일
0

웹 크롤링

웹 크롤링이란?

자동화된 방법으로 웹을 탐색하는 컴퓨터 프로그래밍

구글, 네이버와 같은 포털사이트가 대표적인 웹 크롤링 서비스라고 할 수 있다.

웹 크롤링의 목적

인터넷상에 존재하는 방대한 양의 정보들을 수작업으로 복사, 붙여넣기 해서 가져온다는 것은 매우 비효율적인 일이다. 따라서 웹 크롤링의 목적은 ‘데이터 수집/가공 및 자동화’에 있다.

크롤링의 방법?

앞으로 선택반에서 배울 내용이라 간단하게만 소개해보겠다.

  1. 크롬에서 원하는 사이트에 접속 후 원하는 키워드에 상응하는 값 선정

  2. F12 를 눌러 개발자 모드로 진입

  3. 원하는 값의 위치를 cmd + f 로 찾아준다. (혹은 원하는 값을 드래그해서 마우스 오른쪽키로 검사를 해도 된다.)

  4. 그러면 다음과 같이 어떤 태그에 있는지 확인할 수 있다.

비동기 프로그래밍

동기와 비동기는 주로 어플리케이션에서 자주 다뤄지는 개념이며, 다음 작업이 요청되는 시간과 관련이 있다.

동기 (Synchronous)

  • 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다.
  • 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다.
  • 작업 완료 여부를 계속해서 확인한다.

비동기 (Asynchronous)

  • 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다.
  • 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수에서 결과를 기다린다.
  • 작업 완료 여부를 확인하지 않는다.

출처: https://medium.com/@vivianyim/synchronous-vs-asynchronous-javascript-de4918e8ad62

비동기 프로그래밍을 사용하는 이유는?

네트워크 통신, 웹 개발, 데이터베이스 액세스, 파일 입출력 등의 작업은 대부분 I/O 작업이므로 비동기 방식으로 처리하는 것이 효과적

  1. 응답성: 비동기 작업은 여러 작업을 동시에 처리하고, 작업이 완료되기를 기다리는 동안 다른 작업을 처리할 수 있다.
  2. 확장성: 여러 작업을 동시에 실행하고 완료될 때까지 기다리지 않아도 되므로, 처리량과 처리 속도를 향상시킬 수 있다.
  3. 자원 효율성: 대기 시간 동안 CPU나 메모리 등의 자원을 다른 작업에 할당하여 더 많은 작업을 처리할 수 있다.
  4. 병렬성: 여러 작업이 동시에 실행될 수 있기 때문에 전체적인 처리 시간을 단축시킬 수 있다.
profile
데이터분석 공부 일기~!

0개의 댓글