저자

파벨판체카,크리스해럴슨

저자:파벨판체카?(PavelPanchekha)
유타대학교컴퓨팅학부의교수이다.웹페이지레이아웃과웹브라우저전반을연구하고있다.2019년워싱턴대학교에서컴퓨터과학박사학위를받았다.

저자:크리스해럴슨(ChrisHarrelson)
구글의수석소프트웨어엔지니어로,Blink렌더링팀(https://www.chromium.org/teams/rendering)을이끌고있다.구글맵스의수석엔지니어로활동했으며,구글트랜짓(https://google.com/transit)의초기창립멤버였다.2004년UC버클리에서컴퓨터과학박사학위를받았다

역자:이형욱
네이버웨일팀에서웨일브라우저와웨일OS개발팀을이끌고있다.20년넘게브라우저기술연구및개발업무를담당하고있으며,오픈소스웹킷(WebKit)커미터와크로미움(Chromium)컨트리뷰터로활동하고있다.브라우저렌더링아키텍처와관련기술에관심이많다.

역자:최병운
네이버에서10년째웨일개발에참여하고있다.어쩌다가브라우저개발자가되어약17년간브라우저를개발하고있다.은퇴후사람들과어울리며자유롭게개발하며살고싶은아직40대인파이어족꿈나무다.

목차

PROLOGUE브라우저와나

PART1페이지로딩

CHAPTER1웹페이지다운로드
_1.1서버에연결하기
_1.2정보요청하기
_1.3서버의응답
_1.4파이썬을통한텔넷
_1.5요청과응답
_1.6HTML표시하기
_1.7암호화된연결
_1.8요약
_1.9연습문제

CHAPTER2화면에그리기
_2.1창만들기
_2.2창에그리기
_2.3텍스트배치하기
_2.4텍스트스크롤하기
_2.5더빠른렌더링
_2.6요약
_2.7연습문제

CHAPTER3텍스트포맷팅하기
_3.1폰트(서체)란?
_3.2텍스트측정하기
_3.3한단어씩처리하기
_3.4텍스트에스타일주기
_3.5레이아웃객체
_3.6다양한크기의텍스트
_3.7폰트캐싱
_3.8요약
_3.9연습문제

PART2문서표시

CHAPTER4문서트리구축하기
_4.1노드트리
_4.2트리구축하기
_4.3파서디버깅하기
_4.4셀프클로징태그
_4.5노드트리사용하기
_4.6페이지오류다루기
_4.7요약
_4.8연습문제

CHAPTER5페이지레이아웃
_5.1레이아웃트리
_5.2블록레이아웃
_5.3크기와위치
_5.4재귀페인팅
_5.5배경그리기
_5.6요약
_5.7연습문제

CHAPTER6개발자스타일적용하기
_6.1함수를사용한파싱
_6.2style어트리뷰트
_6.3셀렉터
_6.4스타일시트적용하기
_6.5캐스케이딩
_6.6상속된스타일
_6.7폰트프로퍼티
_6.8요약
_6.9연습문제

CHAPTER7버튼과링크처리하기
_7.1링크는어디에있는가?
_7.2라인레이아웃
_7.3클릭처리
_7.4탭브라우징
_7.5브라우저크롬
_7.6히스토리탐색
_7.7URL입력하기
_7.8요약
_7.9연습문제

PART3애플리케이션실행

CHAPTER8서버로정보보내기
_8.1폼의동작방식
_8.2위젯을렌더링하기
_8.3위젯과상호작용하기
_8.4폼을제출하기
_8.5웹앱의동작
_8.6POST요청수신하기
_8.7웹페이지생성하기
_8.8요약
_8.9연습문제

CHAPTER9대화형스크립트실행하기
_9.1DukPy설치하기
_9.2자바스크립트코드실행하기
_9.3함수익스포트하기
_9.4크래시처리하기
_9.5핸들반환하기
_9.6핸들래핑
_9.7이벤트처리
_9.8DOM수정하기
_9.9이벤트기본값
_9.10요약
_9.11연습문제

CHAPTER10사용자데이터보호하기
_10.1쿠키
_10.2로그인시스템
_10.3쿠키구현하기
_10.4교차사이트요청
_10.5동일출처정책
_10.6교차사이트요청위조
_10.7SameSite쿠키
_10.8교차사이트스크립팅
_10.9콘텐츠보안정책
_10.10요약
_10.11연습문제

PART4모던브라우저기능

CHAPTER11시각적효과
_11.1Skia와SDL설치하기
_11.2SDL을이용하여윈도우만들기
_11.3서피스와픽셀
_11.4Skia를이용한래스터화
_11.5브라우저컴포지팅
_11.6투명도
_11.7블렌딩과스태킹
_11.8픽셀합성
_11.9클리핑과마스킹
_11.10서피스사용최적화하기
_11.11요약
_11.12연습문제

CHAPTER12태스크와스레드스케줄링
_12.1태스크와태스크큐
_12.2타이머와setTimeout
_12.3수명이긴스레드
_12.4렌더링주기
_12.5더티비트를통한최적화
_12.6프레임애니메이션
_12.7렌더링프로파일링
_12.8두개의스레드
_12.9디스플레이리스트커밋하기
_12.10스레드프로파일링
_12.11스레드기반스크롤
_12.12스레드기반스타일과레이아웃
_12.13요약
_12.14연습문제

CHAPTER13애니메이션과컴포지팅
_13.1자바스크립트애니메이션
_13.2GPU가속
_13.3컴포지팅
_13.4컴포지팅리프노드
_13.5CSS트랜지션
_13.6컴포지트애니메이션
_13.7컴포지팅최적화
_13.8오버랩과트랜스폼
_13.9요약
_13.10연습문제

CHAPTER14콘텐츠접근성향상
_14.1접근성이란?
_14.2확대/축소
_14.3다크모드
_14.4다크모드커스터마이징
_14.5키보드내비게이션
_14.6포커스표시
_14.7접근성트리
_14.8스크린리더
_14.9접근성알림
_14.10음성과시각을통한상호작용
_14.11요약
_14.12연습문제

CHAPTER15삽입된콘텐츠지원
_15.1이미지
_15.2임베디드레이아웃
_15.3이미지크기수정
_15.4인터랙티브위젯
_15.5iframe렌더링
_15.6iframe인풋이벤트
_15.7iframe스크립트
_15.8프레임간통신
_15.9격리와타이밍
_15.10요약
_15.11연습문제

CHAPTER16이전결과재사용
_16.1콘텐츠수정하기
_16.2왜무효화일까요?
_16.3멱등성
_16.4종속성
_16.5보호된필드
_16.6재귀적무효화
_16.7width보호하기
_16.8인라인엘리먼트를위한width
_16.9레이아웃필드무효화
_16.10인라인레이아웃을보호하기
_16.11변화가없는업데이트건너뛰기
_16.12탐색건너뛰기
_16.13세분화한스타일무효화
_16.14종속성분석하기
_16.15요약
_16.16연습문제

CHAPTER17이책에서다루지않은내용
_17.1자바스크립트실행
_17.2텍스트&그래픽렌더링
_17.3커넥션보안과프라이버시
_17.4네트워크캐싱과미디어
_17.5더멋진레이아웃모드
_17.6브라우저UI와개발자도구
_17.7테스트

EPILOGUE변화하는환경

출판사 서평

대상독자
●서비스의성능을개선하려는웹프런트엔드개발자
●네트워크와웹브라우저의기본원리를알고싶은학생
●파이썬으로눈에보이는결과물을만들고싶은개발초심자

한조각씩파헤치는웹브라우저의숨겨진메커니즘

구글크롬,파이어폭스,엣지...지금우리가사용하는웹브라우저의코드는최소1,000만줄!이복잡하고거대한웹브라우저의'숨겨진내부'를직접탐구할기회가찾아왔습니다.이책은수많은웹개발자와학생에게여전히미지의영역으로남아있는브라우저의동작원리를명쾌하게설명하는독보적인안내서입니다.
단순한이론학습에그치지않고,파이썬코드로나만의웹브라우저를직접작성하며밑바닥부터살펴봅니다.간단한기능부터시작해한조각씩만들어방대한실제웹브라우저의작동원리를꿰뚫어볼수있습니다.
실제웹브라우저개발에참여한저자와역자의안내를따라,여러분만의브라우저를만들어보세요.

이책의내용
●페이지로딩부터렌더링까지웹사이트를표시하는전체과정
●크롬,파이어폭스,웨일등모던브라우저의아키텍처이해
●보안및성능최적화
●웹표준과소프트웨어공학적사고
●접근성및시각효과