Lighthouse를 실행하는 페이지 상에 WebGL 컨텐츠를 표시하는 canvas 엘리먼트(부모 노드 포함)만 존재할 경우, no_fcp 에러가 발생한다. 캔버스 내에 그려지는 요소들을 Lighthouse가 감지할 수 없기 때문에 발생하는 것으로 추정된다. 에러를 우회하려면 페이지에 캔버스 외에 빈 엘리먼트( 등..)를 추가하면되는데, 이는 발생하던 에러만 사라지게 하는것이지, 측정된 수치를 원했던 캔버스 내의 요소들이 그려지는 시점 등에 대한 결과는 제대로 얻을 수 없다는 한계가 있다.
TL;DR(Too Long; Didn't Read). 요약. AbortController API를 사용해 응답이 반환되지 않은 비동기 요청을 취소할 수 있다. const abortController = new AbortController(); fetch(request, {signal: abortController.signal}) // signal을 설정한다. .then(doSomthing) }); abortController.abort(); // 원할 때 호출하면, signal을 등록한 요청을 취소한다. 전형적인 웹에서는 한번 요청이 시작하면 취소하는 것이 불가했고 그럴 필요성도 별로 없었다. 요청을 취소해야할 만한 상황이 발생한다면 요청 자체를 정말 필요한 때에만 수행하도록 처리하는 방식으로 다뤄왔을 ..
RGB 색상을 회색조로 변경하기 위해선 각각의 RGB에 적절한 가중합을 적용하여 선형 휘도를 얻고 RGB 값을 모두 계산된 선형 휘도 값으로 대체하면 된다. 선형 휘도는 다음과 같은 수식을 통해 얻을 수 있다. 인간의 시각은 초록색에 가장 민감하기 때문에 가장 큰 계수를 갖고, 파란색에 가장 덜 민감하기 때문에 가장 작은 계수를 갖는다. r, g, b, a 값이 주어졌을 때 다음과 같이 사용된다. // Javascript const y = 0.2126 * r + 0.7152 * g + 0.0722 * b; const grayscale = `rgba(${y}, ${y}, ${y}, ${a})`; sRGB 전형적인 sRGB 색상은 비선형인데 이를 회색조로 변경하기 위해선 선형화 처리를 해야한다. 선형화 작업..
- Total