[language-agnostic] 열망하는 로딩이란 무엇입니까?

열망하는 로딩이란 무엇입니까? PHP / JS로 코딩하지만보다 일반적인 답변은 괜찮을 것입니다.

Java & Ruby와 관련하여 많은 질문을 보았지만 이러한 언어를 모르고 코드를 읽기가 어렵습니다. 나는 무엇을해야할지 모르겠다



답변

세 가지 수준이 있습니다.

  1. 열망하는 로딩 : 요청이있을 때 모든 작업을 수행합니다. 고전적인 예는 두 개의 행렬을 곱한 경우입니다. 모든 계산을 수행합니다. 그것은 열망입니다;
  2. 지연 로딩 : 필요한 경우에만 계산을 수행합니다. 이전 예제에서는 결과 행렬의 요소에 액세스 할 때까지 계산을 수행하지 않습니다. 과
  3. 과열 로딩 : 사용자가 요청하고 미리로드하는 것을 시도하고 예상하는 위치입니다.

나는 그것이 당신이보고있는 맥락에서 의미가 있기를 바랍니다.

“Webby”예제를 드리겠습니다.

메뉴 항목이나 탐색과 같은 롤오버 이미지가있는 페이지를 상상해보십시오. 이 페이지에서 이미지 로딩이 작동하는 세 가지 방법이 있습니다.

  1. 페이지를 렌더링하기 전에 필요한 모든 단일 이미지를로드하십시오 ( 열망 ).
  2. 페이지로드시 표시된 이미지 만로드하고 필요한 경우 다른 이미지를로드하십시오 ( 게으른 ). 과
  3. 페이지로드시 표시된 이미지 만로드하십시오. 페이지가로드 된 후 다른 이미지가 필요할 때를 대비 하여 백그라운드 미리로드 합니다 ( 열심히 ).

말이 되나요?


답변

게으른 loading 과는 반대로 객체가 필요할 때까지 객체의 초기화를 연기합니다. 빠른 로딩은 생성시 객체를 초기화합니다.


답변

이름, 생년월일 및 덜 중요한 세부 사항을 가진 사람이라는 개체가 있다고 생각되면 좋아하는 색상, 좋아하는 TV 프로그램을 말하십시오.

이 클래스를 느리게로드하려면 데이터베이스에서 더 자주 사용되는 모든 핵심 세부 정보 (이름 및 생년월일)를 읽거나 덜 필요할 때만 사용하십시오. 필요한 경우 / 덜 필요할 때만로드하십시오. 즉, 모든 세부 정보를 동시에로드합니다.

게으른 로딩의 이점은 종종 효율성으로 인용되지만, 객체가 복잡하지 않거나 효율성이 중요하지 않은 경우 로딩이 열성적으로 사용될 수 있습니다


답변

Eager 로딩 은 Angular 8에서도 사용됩니다. 응용 프로그램이 브라우저에 자동으로로드되는 순간 특정 모듈에 모든 코드를 즉시 가져옵니다. 예를 들어, Signin and Signup으로 인증 모듈 을 만들었습니다. 으로 수입됩니다 그것에 구성 요소 응용 프로그램 모듈 .

반대로 Auth 모듈이 로드 된 앱 모듈 에 사용자가 특정 경로로 갈 때와 같은 특정 시점 에만 Auth 모듈 을 로드하도록 지시 하는 경우 지연 로딩 이 있습니다 .


답변