DevTools의 새로운 기능 (Chrome 65)

Chrome 65의 DevTools에 포함된 새로운 기능은 다음과 같습니다.

아래에서 이 출시 노트의 내용을 계속 읽거나 동영상 버전을 시청하세요.

로컬 재정의

Local Overrides를 사용하면 DevTools에서 변경사항을 적용하고 페이지 로드 시에도 변경사항을 유지할 수 있습니다. 이전에는 DevTools에서 변경한 내용이 페이지를 새로고침하면 모두 삭제되었습니다. 로컬 재정의는 몇 가지 예외를 제외하고 대부분의 파일 형식에서 작동합니다. 제한사항을 참조하세요.

로컬 재정의를 사용하여 페이지 로드 시 CSS 변경을 유지합니다.

그림 1. 로컬 재정의를 사용하여 페이지 로드 시 CSS 변경사항 유지

설문 조사 진행 방법:

  • DevTools에서 변경사항을 저장할 디렉터리를 지정합니다.
  • DevTools에서 변경하면 DevTools가 수정된 파일의 사본을 디렉터리에 저장합니다.
  • 페이지를 새로고침하면 DevTools가 네트워크 리소스가 아닌 수정된 로컬 파일을 제공합니다.

로컬 재정의를 설정하는 방법은 다음과 같습니다.

  1. 소스 패널을 엽니다.
  2. 재정의 탭을 엽니다.

    재정의 탭

    그림 2. 재정의

  3. 재정의 설정을 클릭합니다.

  4. 변경사항을 저장할 디렉터리를 선택합니다.

  5. 표시 영역 상단에서 Allow를 클릭하여 DevTools에 디렉터리에 대한 읽기 및 쓰기 액세스 권한을 부여합니다.

  6. 필요한 사항을 수정합니다.

제한사항

  • DevTools가 Elements 패널의 DOM Tree에서 변경한 내용을 저장하지 않습니다. 대신 Sources 패널에서 HTML을 수정하세요.
  • Styles 창에서 CSS를 수정하고 해당 CSS의 소스가 HTML 파일인 경우 DevTools가 변경사항을 저장하지 않습니다. 대신 소스 패널에서 HTML 파일을 수정합니다.
  • 작업공간. DevTools는 네트워크 리소스를 로컬 저장소에 자동으로 매핑합니다. DevTools에서 변경할 때마다 해당 변경사항이 로컬 저장소에도 저장됩니다.

변경사항 탭

새로운 Changes 탭을 통해 DevTools에서 로컬로 변경한 내용을 추적할 수 있습니다.

변경사항 탭

그림 3. 변경사항

새로운 접근성 도구

새로운 접근성 창을 사용하여 요소의 접근성 속성을 검사하고 색상 선택 도구에서 텍스트 요소의 대비율을 검사하여 시력이 좋지 않거나 색각 이상이 있는 사용자가 액세스할 수 있는지 확인하세요.

접근성 창

Elements 패널의 Accessibility 창을 사용하여 현재 선택된 요소의 접근성 속성을 살펴볼 수 있습니다.

접근성 창

그림 4. Accessibility 창에는 Elements 패널의 DOM Tree에서 현재 선택된 요소의 ARIA 속성과 계산된 속성 및 접근성 트리에서의 위치가 표시됩니다.

아래의 라벨 지정에 대한 Rob Dodson의 A11ycast를 확인하여 실제로 작동하는 Accessibility(접근성) 창을 확인하세요.

색상 선택 도구의 대비율

이제 색상 선택 도구에 텍스트 요소의 대비율이 표시됩니다. 텍스트 요소의 대비율을 높이면 시력이 나쁘거나 색각 이상이 있는 사용자가 사이트에 더 쉽게 액세스할 수 있습니다. 대비율이 접근성에 미치는 영향을 자세히 알아보려면 색상 및 대비를 참고하세요.

텍스트 요소의 색상 대비를 개선하면 모든 사용자가 사이트를 더 유용하게 사용할 수 있습니다. 즉, 텍스트가 흰색 배경에 회색이면 누구도 읽기 어렵습니다.

강조표시된 H1 요소의 대비율을 검사합니다.

그림 5. 강조표시된 h1 요소의 대비율 검사

그림 5에서 4.61 옆에 있는 2개의 체크표시는 이 요소가 향상된 권장 대비율 (AAA)을 충족함을 의미합니다. 체크표시가 하나만 있다면 최소 권장 명암비 (AA)를 충족한다는 의미입니다.

Show More 더보기를 클릭하여 대비율 섹션을 펼칩니다. 색상 스펙트럼 상자의 흰색 선은 권장 대비율을 충족하는 색상과 충족하지 않는 색상 사이의 경계를 나타냅니다. 예를 들어 그림 6의 회색은 권장사항을 충족하므로 흰색 선 아래의 모든 색상도 권장사항을 충족합니다.

펼쳐진 대비율 섹션.

그림 6. 펼쳐진 대비율 섹션

감사 패널에는 페이지의 모든 텍스트 요소가 충분한 명암비를 갖추었는지 확인하기 위한 자동화된 접근성 감사가 있습니다.

Audits 패널을 사용하여 접근성을 테스트하는 방법을 알아보려면 Chrome DevTools에서 Lighthouse 실행을 참고하거나 아래의 A11ycast를 시청하세요.

새 감사

Chrome 65에는 완전히 새로운 검색엔진 최적화 감사 카테고리 및 여러 새로운 성능 감사가 포함되어 있습니다.

새로운 검색엔진 최적화 감사

페이지가 새로운 SEO 카테고리의 각 감사를 통과하면 검색엔진 순위를 높이는 데 도움이 될 수 있습니다.

새로운 검색엔진 최적화 카테고리입니다.

그림 7. 새로운 검색엔진 최적화 카테고리 감사

새로운 성능 감사

Chrome 65에는 다음과 같은 여러 새로운 성능 감사가 함께 제공됩니다.

  • 자바스크립트 부팅 시간이 김
  • 정적 애셋에 비효율적인 캐시 정책 사용
  • 페이지 리디렉션 방지
  • 문서가 플러그인을 사용함
  • CSS 축소
  • 자바스크립트를 축소하세요.

실적은 중요합니다. Mynet에서 페이지 로드 속도가 4배 향상된 후, 사용자는 사이트에서 43% 더 많은 시간을 보내고, 34% 더 많은 페이지를 조회하며, 이탈률은 24% 감소하고, 기사 페이지 조회당 수익은 25% 증가했습니다. 자세히 알아보기

도움말: 페이지의 로드 성능을 높이고 싶지만 어디서부터 시작해야 할지 모르는 경우 감사 패널을 사용해 보세요. URL을 입력하면 페이지를 개선할 수 있는 다양한 방법에 관한 자세한 보고서가 제공됩니다. 시작하기

기타 업데이트

작업자 및 비동기 코드를 사용한 안정적인 코드 스테핑

Chrome 65에서는 스레드 간에 메시지를 전달하는 코드와 비동기 코드를 실행할 때 Step Into 들어가기 버튼이 업데이트됩니다. 이전 스테핑 동작을 사용하려면 대신 새로운 Step 단계 버튼을 사용할 수 있습니다.

스레드 간에 메시지를 전달하는 코드 사용

스레드 간에 메시지를 전달하는 코드를 실행하면 이제 DevTools가 각 스레드에서 어떤 일이 일어나는지 보여줍니다.

예를 들어 그림 8의 앱은 기본 스레드와 작업자 스레드 간에 메시지를 전달합니다. 기본 스레드에서 postMessage() 호출을 실행하면 DevTools가 작업자 스레드의 onmessage 핸들러에서 일시중지됩니다. onmessage 핸들러 자체가 메시지를 기본 스레드에 다시 게시합니다. 해당 호출을 실행하면 DevTools가 기본 스레드에서 다시 일시중지됩니다.

Chrome 65에서 메시지 전달 코드를 사용하는 방법을 알아보세요.

그림 8. Chrome 65에서 메시지 전달 코드 사용하기

이전 버전의 Chrome에서 이와 같은 코드를 실행하면 Chrome에는 그림 9와 같이 코드의 기본 스레드 측만 표시되었습니다.

Chrome 63에서 메시지 전달 코드를 사용하는 방법을 알아보세요.

그림 9. Chrome 63에서 메시지 전달 코드 사용하기

비동기 코드로 전환

비동기 코드로 전환할 때 이제 DevTools는 최종적으로 실행되는 비동기 코드에서 일시중지하려고 한다고 가정합니다.

예를 들어 그림 10에서 setTimeout()로 이동한 후 DevTools는 백그라운드에서 해당 지점에 이르는 모든 코드를 실행한 다음 setTimeout()에 전달된 함수에서 일시중지합니다.

Chrome 65에서 비동기 코드를 사용하기 시작

그림 10. Chrome 65에서 비동기 코드 실행하기

Chrome 63에서 이와 같은 코드를 실행하면 DevTools가 시간순으로 실행되면서 그림 11과 같이 코드를 일시중지합니다.

Chrome 63에서 비동기 코드를 사용하기 시작

그림 11. Chrome 63에서 비동기 코드 실행하기

성능 패널의 여러 녹화 파일

이제 Performance 패널에서 최대 5개의 녹화 파일을 일시적으로 저장할 수 있습니다. DevTools 창을 닫으면 기록이 삭제됩니다. Performance 패널에 익숙해지려면 런타임 성능 분석 시작하기를 참조하세요.

성능 패널에서 여러 녹화 파일 중에서 선택

그림 12. Performance 패널에서 여러 녹화 파일 중에서 선택

보너스: Puppeteer 1.0으로 DevTools 작업 자동화

Chrome DevTools팀에서 유지관리하는 브라우저 자동화 도구인 Puppeteer 버전 1.0이 중단되었습니다. Puppeteer를 사용하면 스크린샷 캡처와 같이 이전에는 DevTools를 통해서만 사용할 수 있었던 많은 작업을 자동화할 수 있습니다.

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

또한 PDF 생성과 같이 일반적으로 유용한 많은 자동화 작업을 위한 API가 있습니다.

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});
  await browser.close();
})();

자세한 내용은 빠른 시작을 참고하세요.

또한 Puppeteer를 사용하여 DevTools를 명시적으로 열지 않고도 탐색 중에 DevTools 기능을 노출할 수 있습니다. DevTools를 열지 않고 DevTools 기능 사용에서 예시를 확인하세요.

미리보기 채널 다운로드

Chrome Canary, 개발자 또는 베타를 기본 개발 브라우저로 사용하는 것이 좋습니다. 이러한 Preview 채널을 통해 개발자는 최신 DevTools 기능에 액세스하고 최첨단 웹 플랫폼 API를 테스트하며 다른 사용자보다 먼저 사이트에서 문제를 찾을 수 있습니다.

Chrome DevTools팀에 문의하기

게시물에서 새로운 기능과 변경사항 또는 DevTools와 관련된 다른 항목에 대해 논의하려면 다음 옵션을 사용하세요.

  • crbug.com을 통해 제안 또는 의견을 제출하세요.
  • DevTools에서 옵션 더보기   더보기   > 도움말 > DevTools 문제 신고를 사용하여 DevTools 문제를 신고합니다.
  • @ChromeDevTools로 트윗을 보냅니다.
  • DevTools의 새로운 기능 YouTube 동영상 또는 DevTools 팁 YouTube 동영상에 댓글을 남겨주세요.

DevTools의 새로운 기능

DevTools의 새로운 기능 시리즈에서 다룬 모든 사항의 목록

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113

Chrome 112

Chrome 111

Chrome 110

Chrome 109

Chrome 108

Chrome 107

Chrome 106

Chrome 105

Chrome 104

Chrome 103

Chrome 102

Chrome 101

Chrome 100

Chrome 99

Chrome 98

Chrome 97

Chrome 96

Chrome 95

Chrome 94

Chrome 93

Chrome 92

Chrome 91

Chrome 90

Chrome 89

Chrome 88

Chrome 87

Chrome 86

Chrome 85

Chrome 84

Chrome 83

Chrome 82

Chrome 82가 취소되었습니다.

Chrome 81

Chrome 80

Chrome 79

Chrome 78

Chrome 77

Chrome 76

Chrome 75

Chrome 74

Chrome 73

Chrome 72

Chrome 71

Chrome 70

Chrome 68

Chrome 67

Chrome 66

Chrome 65

Chrome 64

Chrome 63

Chrome 62

Chrome 61

Chrome 60

Chrome 59