2P by neo 30일전 | favorite | 댓글 1개
  • 웹 브라우저 엔지니어링 소개

    • 웹 브라우저는 일상적으로 사용되지만, 그 작동 원리는 복잡함. 이 책은 네트워킹부터 JavaScript까지 몇 천 줄의 Python 코드로 기본적이지만 완전한 웹 브라우저를 구축하는 방법을 설명함.
  • 서문

    • 웹 브라우저와 웹의 역사에 대한 개요를 제공함.
  • 1부: 페이지 로드

    • 웹 페이지 다운로드
      • URL과 HTTP 요청을 통해 웹 페이지를 다운로드하는 방법 설명.
    • 화면에 그리기
      • 창을 생성하고 캔버스에 그리는 방법 설명.
    • 텍스트 서식
      • 단어 줄 바꿈과 줄 간격 조정 방법 설명.
  • 2부: 문서 보기

    • HTML 트리 구성
      • HTML을 파싱하고 수정하는 방법 설명.
    • 페이지 레이아웃
      • 인라인 및 블록 레이아웃 적용 방법 설명.
    • 작성자 스타일 적용
      • CSS를 파싱하고 적용하는 방법 설명.
    • 버튼 및 링크 처리
      • 하이퍼링크와 브라우저 크롬 처리 방법 설명.
  • 3부: 애플리케이션 실행

    • 서버로 정보 전송
      • 양식 제출 및 웹 서버와의 상호작용 방법 설명.
    • 인터랙티브 스크립트 실행
      • DOM 변경 및 이벤트 반응 방법 설명.
    • 데이터 보호
      • 쿠키 및 로그인, XSS 및 CSRF에 대한 설명.
  • 4부: 현대 브라우저

    • 시각적 효과 추가
      • 블렌딩, 클리핑, 합성 방법 설명.
    • 작업 및 스레드 스케줄링
      • 이벤트 루프 및 렌더링 파이프라인 설명.
    • 애니메이션 및 합성
      • GPU를 사용한 부드러운 애니메이션 설명.
    • 콘텐츠 접근성 제공
      • 키보드 입력, 확대/축소, 접근성 트리 설명.
    • 임베디드 콘텐츠 지원
      • 이미지, iframes, 스크립팅 지원 방법 설명.
    • 이전 계산 재사용
      • 무효화, 편집, 정확성 설명.
  • 결론

    • 다루지 않은 내용과 변화하는 환경에 대한 설명.
  • 부록

    • 용어집, 참고 문헌, 저자 소개, 기여자 목록, 이 책을 기반으로 한 강의 목록 포함.

GN⁺의 정리

  • 이 책은 웹 브라우저의 작동 원리를 이해하고자 하는 사람들에게 유용함. Python을 사용하여 브라우저를 구축하는 과정을 통해 네트워킹, HTML 파싱, CSS 적용 등 다양한 기술을 배울 수 있음.
  • 웹 브라우저의 역사와 현대 브라우저의 기능을 이해하는 데 도움을 줌. 특히, 웹 보안과 접근성에 대한 내용을 포함하고 있어 실무에 적용할 수 있는 지식을 제공함.
  • 이 책은 웹 개발자나 소프트웨어 엔지니어에게 흥미롭고 유익할 수 있으며, 웹 브라우저의 내부 작동 방식을 이해하는 데 큰 도움이 될 것임.
Hacker News 의견
  • 'Stuff I didn't do' 부분이 이 책의 훌륭한 점임

    • 레이아웃 작업은 매우 어려움
    • CSS는 레이아웃을 더욱 복잡하게 만듦
    • CSS, HTML, JavaScript는 현재 매우 복잡한 소프트웨어임
    • 비디오 디코딩은 하드웨어로 오프로드되어 배터리 소모가 줄어듦
  • 15년 전 헤드리스 브라우저 작업을 시작했으며, SpiderMonkey를 사용하여 JS 인터프리터로 활용했음

    • 커스텀 DOM 구현과 Flash 런타임을 추가했음
    • 이 프로젝트는 매우 재미있었음
    • 이 책에 관심이 있음
  • 이 책은 MITRE ATT&CK을 떠올리게 하는 포괄적인 자료임

  • 브라우저 엔지니어링이 트렌드가 되는 것이 신선함

    • 현재는 Google, Apple, Mozilla가 주도하고 있음
    • 독립적인 브라우저 엔진이 더 많아지기를 바람
  • 저자가 Python을 선택한 이유를 설명한 글이 있음

    • 일부는 Python을 JS로 컴파일하여 브라우저에서 실행됨
  • 저자 중 한 명이 감사의 말을 전하며 질문에 답변할 준비가 되어 있음

  • 재미있는 프로젝트를 찾고 있었으며, 이 책을 즐기고 있음

    • Chrome 작동 방식을 설명한 만화책도 시작하기 좋은 자료임
  • 이러한 자료가 만들어지는 것이 매우 흥미로움

    • 브라우저는 신비롭고 해독하기 어려운 블랙박스처럼 보임
    • Ladybird와 같은 프로젝트가 그 벽을 허물고 있음
    • 언젠가 기여하고 싶으며, 이 책이 훌륭한 시작점임
  • 브라우저 내부 구조에 대해 배우고 있으며, 이 책이 매우 유용함

    • 브라우저 작동 방식을 직관적으로 이해하는 데 도움을 줌
  • 좋은 책이며, 9장을 두 개의 별도 장으로 나누는 것을 추천함

    • JavaScript 실행과 DOM 및 이벤트 상호작용을 각각 다루는 것이 좋음