나는 구글의 개발자 도구 정리 페이지와 Traversy Media의 유튜브 강의를 참고해서 개발자 도구에 대해 공부했다.
개발자도구에서 공부한 부분은 크게 여섯 부분이다.
- Elements
- Console
- Sources
- Network
- Appication
- Lighthouse (or Audit)
Elements 패널은 웹 페이지 구성과 구성 요소들의 스타일을 확인하는 곳이다.
직접 element 하나씩을 눌러서 확인할 수 있다.
cursor inspection 버튼을 누른 후 확인을 원하는 부분에 커서를 두면, 다양한 색을 통해 html 구역과 css 효과를 확인할 수 있다.
styles 패널의 순서는 중요도가 높은 것부터 나온다.
user agent stylesheet은 브라우저의 기본 스타일 값을 의미한다. 따라서, 의도한대로만 효과가 나오길 원한다면, reset.css 코드를 입력해주어야 한다.
(구글링하면 여러 코드가 나온다.)
추가: DOM은 html과 같다고 볼 수 있다. (html과 js를 연결한 것이니)
Console 패널을 통해 자바스크립트 코드를 브라우저에서 즉시 실행할 수 있다.
에러메세지를 확인할 수 있기 때문에, 디버깅에 대부분 사용된다.
console은 객체이기 때문에 여러 메소드를 사용할 수 있다.
콘솔 세팅창 혹은 devtool 전체 세팅 창을 누른 후 preserve log 를 체크하면, 화면을 새로고침 해도 console 내용이 지워지지 않고 남는다.
콘솔에 기록된 로그를 모두 지울 때 사용하는 메소드는 다음과 같다.
console 세팅창의 default levels를 누른 후, warnings와 errors를 체크 해제하면 콘솔에 Warnings와 Errors가 더이상 뜨지 않는다.
esc 버튼을 누르거나, 더보기 버튼을 눌러서 show console drawer를 체크하면, 다른 패널(ex. Elements panel)에서 Console Panel을 함께 볼 수 있다.
또한, 백엔드에서 주는 response 정보를 console.log(response)를 통해 미리 확인할 수 있다.
source 내에 snippet을 생성할 수 있다.
스니펫은 재사용 가능한 소스 코드, 기계어, 텍스트의 작은 부분을 일컫는 프로그래밍 용어이다.
사용자가 루틴 편집 조작 중 반복 타이핑을 회피할 수 있게 도와준다.
개발자도구의 sources 에서 page > filesystem > + 클릭을 하면 폴더를 추가할 수 있다.
이 곳에 추가해서 수정을 하는 파일은, 자동으로 원래 폴더에도 똑같이 수정을 한다.
웹사이트를 보면서 하나하나의 수정요소를 눈으로 확인하며 개발을 할 수 있는 것이다.
이 개발자도구라는 것을 코딩 공부 초반에 알았다면 더 재밌었을 것 같다.
Network 패널을 통해 네트워크 상으로 주고 받는 데이터를 확인할 수 있다.
Network 패널은 웹페이지의 통신 전체 내용을 보여주는 곳으로서 각종 URL 주소와 통신 상태, 폰트출처 등을 확인할 수 있다.
Img, Media 란에서 이미지나 동영상 URL을 확인해서 그 소스를 저장할 수 있다. (클론 프로젝트 할 때 중요함!!)
Application 패널을 통해 브라우저의 저장소에 담긴 데이터를 확인할 수 있다.
저장소는 local storage, session storage, cookies로 나뉜다.
(IndexedDB and WebSQL are basically client side in brower data bases.)
localStorage
개발자도구는 디버깅을 위해서 아주자주 쓰이기 때문에, 프론트 개발자는 거의 항상 개발자도구를 열어놓는다.
It is important to know how to use Developer Tools especially if you are a front-end developer.
Element 페이지에서 element 한 줄을 누르고,
Console에서 $_ 혹은 $0 하면, 그 element를 출력해준다.
$1은 $0전에 시도하던 값을 재출력해준다.
$는 jQeury와 값은 포맷으로 작동하기 때문에, vanilla js로 코드를 짤 때도 이용할 수 있다.
따라서 아래의 두 코드 내용은 동일하게 동작한다.
//console로 시도한 것임.
document.querySelector('h1').style.color='green'
"green"
$('h1').style.color='purple'
"purple"
vsc에 live server를 설치했다.
설치하면서 팝업된 문구는 아래와 같다.
(설치할 때) server is started at port: 5500
source: live server (Extension)
이용하는 방법은 extension: live server에 잘 나와있으며 정리하자면 아래와 같다.
vsc 상에서 html file 우클릭 > “Open with Live Server” 클릭
그러면 Apache가 켜져 있지 않은 상태라도 ip주소(5500 포트)로 접근할 수 있으며, 코드를 수정하고 저장하면 바로 웹페이지가 리로드된다.
XMLHttpRequest 객체는 서버와 상호작용하기 위해 사용된다.
전체 페이지의 새로고침 없이 페이지 일부를 업데이트 할 수 있도록 해준다.
XMLHttpRequest 객체는 AJAX 프로그래밍(asychronous)에 주로 사용된다.
또한, XML 을 포함하여 모든 종류의 데이터를 받아오는 데 사용할 수 있다.
XML은 HTTP 이외의 프로토콜도 지원한다.